Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Cypher Editor
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Dmitrijs Vrublevskis
June 05, 2017
Programming
0
150
Cypher Editor
Dmitrijs Vrublevskis
June 05, 2017
Tweet
Share
More Decks by Dmitrijs Vrublevskis
See All by Dmitrijs Vrublevskis
Cypher in JetBrains IDE
fylmtm
0
200
Adopting Neo4j @ Enterprise scale
fylmtm
0
80
League of Graphs \w Neo4j
fylmtm
0
1.6k
Performance & Stability testing \w Gatling
fylmtm
0
230
Neo4j Magic Adventures
fylmtm
1
190
Vim introduction
fylmtm
1
100
Google I/O 2014 - Web updates
fylmtm
0
150
Other Decks in Programming
See All in Programming
組織で育むオブザーバビリティ
ryota_hnk
0
170
高速開発のためのコード整理術
sutetotanuki
1
390
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
250
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
AtCoder Conference 2025
shindannin
0
1k
Automatic Grammar Agreementと Markdown Extended Attributes について
kishikawakatsumi
0
180
Data-Centric Kaggle
isax1015
2
770
Fragmented Architectures
denyspoltorak
0
150
メルカリのリーダビリティチームが取り組む、AI時代のスケーラブルな品質文化
cloverrose
2
510
QAフローを最適化し、品質水準を満たしながらリリースまでの期間を最短化する #RSGT2026
shibayu36
2
4.3k
Architectural Extensions
denyspoltorak
0
280
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
130
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Embracing the Ebb and Flow
colly
88
5k
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
79
We Are The Robots
honzajavorek
0
160
Deep Space Network (abreviated)
tonyrice
0
47
The Language of Interfaces
destraynor
162
26k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.6k
The Limits of Empathy - UXLibs8
cassininazir
1
210
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Designing Experiences People Love
moore
144
24k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
2.1k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
1
120
Transcript
Cypher Editor ! " # $ In the Web
Dmitry Vrublevsky Software Engineer @ %
[email protected]
& @FylmTM Ambassador
@
None
Syntax highlighting
Error reporting
Auto Completion
It’s already there • Open Source • Separate “Backend” •
CodeMirror support • Integrated into Neo4j 3.2 ' /neo4j-contrib/cypher-editor
openCypher ?
1. Grammar 2. Tests 3. Improvements
1. Grammar • Based on ANTLR4 grammar • Copied &
Modified for Cypher Editor usage • Superset of openCypher grammar version • Neo4j version of Cypher File: cypher-editor-support/src/_generated/Cypher.g4
ANTLR4 ♥ JavaScript * * With a few exceptions.
2. Tests $ cd cypher-editor-support/test/parser/openCypherTestFiles $ ls -1 cypher-legacy.js cypher.js
$ cat * | grep "§" | wc -l 227
3. Improvements • Grammar improvements (clause order) • https://github.com/opencypher/openCypher/pull/223 •
Add namespace to procedure names • https://github.com/opencypher/openCypher/pull/226
Challenges (1) • Vendor extensions • Legacy Cypher -> Neo4j
Vendor extension • Documented vendor extension • Neo4j 3.2 node key constraint • Neo4j 3.2 composite index
Challenges (2) Little details that matters nodeLabel : ‘:’ SP?
labelName ; MATCH (n:Person) MATCH (n:`Army:General`) MATCH (n: Person) MATCH (n: `Army:General`)
Challenges (2) Little details that matters MATCH (n:␣ RETURN n
MATCH (n:␣ RETURN n What user sees: What grammar sees:
' /slizaa / slizaa-opencypher-xtext
Our team responsibility • Sync up with openCypher grammar when
possible and makes sense • Contribute our grammar fixes & improvements back to openCypher
None