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
Dmitrijs Vrublevskis
June 05, 2017
Programming
160
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Cypher Editor
Dmitrijs Vrublevskis
June 05, 2017
More Decks by Dmitrijs Vrublevskis
See All by Dmitrijs Vrublevskis
Cypher in JetBrains IDE
fylmtm
0
210
Adopting Neo4j @ Enterprise scale
fylmtm
0
84
League of Graphs \w Neo4j
fylmtm
0
1.7k
Performance & Stability testing \w Gatling
fylmtm
0
230
Neo4j Magic Adventures
fylmtm
1
200
Vim introduction
fylmtm
1
130
Google I/O 2014 - Web updates
fylmtm
0
160
Other Decks in Programming
See All in Programming
1年で人数1.5倍、PR数5.5倍増。 品質とアウトカムはどうなったか、 何が効いたか
ike002jp
0
110
AIを活用したE2Eテスト実装効率化のあゆみ / ebisu-mobile-14-kotetu
kotetuco
0
170
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
220
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
160
ローカルLLMでどこまでコードが書けるか -縮小版 / How much code can be written on a local LLM Shortened
kishida
2
180
エンジニアと一緒にテストコードの設計と実装を改善した話
mototakatsu
0
260
自作OSでスライド発表する
uyuki234
1
3.7k
その問い、本当に正しいですか?AI時代のエンジニアに必要な哲学と認知科学 / ai-philosophy-cognitive-science
minodriven
14
6.8k
Haskell/Servantを通してWebミドルウェアを捉え直す
pizzacat83
1
480
LLMによるContent Moderationの本番運用の裏側と品質担保への挑戦
suikabar
3
840
エージェンティックRAGにAWSで入門しよう!
har1101
9
1.9k
Embedded SREと共に達成した会員管理システムのAWS移行 - SRE NEXT 2026 ランチスポンサーセッション
niftycorp
PRO
1
2.1k
Featured
See All Featured
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
180
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.9k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
460
Discover your Explorer Soul
emna__ayadi
2
1.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
67
56k
Code Reviewing Like a Champion
maltzj
528
40k
My Coaching Mixtape
mlcsv
0
170
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
460
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
630
Everyday Curiosity
cassininazir
0
250
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