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
110
Google I/O 2014 - Web updates
fylmtm
0
160
Other Decks in Programming
See All in Programming
AIプロダクト時代のQAエンジニアに求められること
imtnd
2
700
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
680
RAGでハマりがちな"Excelの罠"を、データの構造化で突破する
harumiweb
9
2.5k
CSC307 Lecture 15
javiergs
PRO
0
220
JPUG勉強会 OSSデータベースの内部構造を理解しよう
oga5
2
230
CSC307 Lecture 11
javiergs
PRO
0
590
Raku Raku Notion 20260128
hareyakayuruyaka
0
430
15年目のiOSアプリを1から作り直す技術
teakun
1
600
AIに仕事を丸投げしたら、本当に楽になれるのか
dip_tech
PRO
0
180
SourceGeneratorのマーカー属性問題について
htkym
0
140
コーディングルールの鮮度を保ちたい / keep-fresh-go-internal-conventions
handlename
0
150
20260228_JAWS_Beginner_Kansai
takuyay0ne
5
440
Featured
See All Featured
My Coaching Mixtape
mlcsv
0
63
Become a Pro
speakerdeck
PRO
31
5.8k
BBQ
matthewcrist
89
10k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Making the Leap to Tech Lead
cromwellryan
135
9.8k
Ruling the World: When Life Gets Gamed
codingconduct
0
160
WENDY [Excerpt]
tessaabrams
9
36k
AI: The stuff that nobody shows you
jnunemaker
PRO
3
350
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
310
Reality Check: Gamification 10 Years Later
codingconduct
0
2k
Unsuck your backbone
ammeep
672
58k
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