Designing Cypher - a Graph Query Language
summary
Five years of implementation work produce a concrete claim: a pattern‑matching, declarative graph language delivered as Cypher for Neo4j that compiles, caches, and runs in production. The team uses pattern MATCH/WITH/MERGE semantics, introduces labels as index bindings to eliminate separate search structures, balances sugar versus clarity, and documents surprising semantic wrinkles (aggregation vs row results, relationship‑binding rules). The language evolves with versioned queries and is being standardized as open Cypher while some warts remain.
AI-written summary · about
chapters (24)
- 0:00Introduction
- 1:38Navigational database
- 2:52Objectoriented programming
- 3:58Objectoriented databases
- 5:31Data needs have changed
- 7:40Embedded database
- 9:45REST API
- 12:09Server Side API
- 15:17Gremlin
- 19:05Notion
- 22:56Writing Queries
- 25:27Search Structures
- 26:25Updates of Data
- 27:58Near
- 29:59Cypher Basics
- 33:50Cypher Versions
- 34:25User Studies
- 35:12Queries
- 36:18We havent figured out yet
- 37:39Semantics
- 39:22Syntax
- 41:11Parameters
- 41:24Open Cypher
- 41:57Conclusion
related talks
41mCypher-based Graph Pattern Matching in Apache Flink
10mCypher Dynamism: A Step Towards Simpler and More Secure Queries
11mTaming the Evolution of Cypher: What Cypher Versions Mean for You
23mPutting the Graph In GraphQL With The Neo4j GraphQL Library
23mImproving Text2Cypher: Lessons from Schema Filtering and Hard Example Selection
22mA Pythonic Tour of Neo4j and the Cypher Query Language
14mA Practitioner's Guide to Graphs
28mMy Cypher Query Takes Too Long. What Can I Do ?
