最快的图查询路径
Neo4j Cypher 查询语言
Cypher 是一种声明式图查询语言,被全球开发者广泛使用。Cypher 由 Neo4j 创建,为属性图提供富有表达力且高效的查询。
什么是 Cypher?
可视化、直观、强大的图
数据查询语言
Cypher 易于学习的模式构造使其适用于开发者、数据科学家以及查询语言经验有限的用户。用户可以简单地表达要检索的数据,而底层引擎将完成任务——无需技术实现知识。
Neo4j Cypher 查询 语言的优势
属性图数据模型在各种应用领域中越来越受欢迎,并在多个产品和项目中得到日益广泛的应用。Cypher 是处理属性图最成熟、最直观的查询语言。
易于学习
Cypher 语句非常紧凑。它将节点之间的引用表达为视觉模式,使其易于理解。Cypher 的学习曲线很低,这有助于用户快速编写富有表达力、直观的查询,更快地检索结果。在我们的 GraphAcademy 中查找 Cypher 学习路径。
可视化和逻辑化
使用 ASCII-Art 语法匹配图中节点和关系的模式。这些模式直接映射到图表或白板中绘制的领域模型。因此,模型、数据库和查询语言之间没有阻抗不匹配问题。
安全、可靠、数据丰富
Cypher 非常适合应用程序开发和数据分析。它减少了对数据库的重复调用,并通过单个紧凑的查询表达特定用例的数据需求。Neo4j 驱动程序使用响应式编程方法,可以节省云计算资源并管理反压。
告别复杂的连接
Cypher 是一种图优化查询语言,它理解并利用数据连接。它沿着连接——任意方向——揭示以前未知的关系和集群。Cypher 查询比大量的 SQL 连接更容易编写。将此 Cypher 查询与其 SQL 等效项进行比较。
MATCH (p:Product)-[:CATEGORY]->(l:ProductCategory)-[:PARENT*0..]->(:ProductCategory {name:"Dairy Products"})
RETURN p.name
SELECT p.ProductName
FROM Product AS p
JOIN ProductCategory pc ON (p.CategoryID = pc.CategoryID AND pc.CategoryName = "Dairy Products")
JOIN ProductCategory pc1 ON (p.CategoryID = pc1.CategoryID)
JOIN ProductCategory pc2 ON (pc1.ParentID = pc2.CategoryID AND pc2.CategoryName = "Dairy Products")
JOIN ProductCategory pc3 ON (p.CategoryID = pc3.CategoryID)
JOIN ProductCategory pc4 ON (pc3.ParentID = pc4.CategoryID)
JOIN ProductCategory pc5 ON (pc4.ParentID = pc5.CategoryID AND pc5.CategoryName = "Dairy Products");