最快的图查询路径

Neo4j Cypher 查询语言

Cypher 是一种声明式图查询语言,被全球开发者广泛使用。Cypher 由 Neo4j 创建,为属性图提供富有表达力且高效的查询。

什么是 Cypher?

可视化、直观、强大的图
数据查询语言

Cypher 易于学习的模式构造使其适用于开发者、数据科学家以及查询语言经验有限的用户。用户可以简单地表达要检索的数据,而底层引擎将完成任务——无需技术实现知识。

使用 Cypher 匹配模式和关系的直观方式

Neo4j Cypher 查询 语言的优势

属性图数据模型在各种应用领域中越来越受欢迎,并在多个产品和项目中得到日益广泛的应用。Cypher 是处理属性图最成熟、最直观的查询语言。

易于学习

Cypher 语句非常紧凑。它将节点之间的引用表达为视觉模式,使其易于理解。Cypher 的学习曲线很低,这有助于用户快速编写富有表达力、直观的查询,更快地检索结果。在我们的 GraphAcademy 中查找 Cypher 学习路径

可视化和逻辑化

使用 ASCII-Art 语法匹配图中节点和关系的模式。这些模式直接映射到图表或白板中绘制的领域模型。因此,模型、数据库和查询语言之间没有阻抗不匹配问题。

安全、可靠、数据丰富

Cypher 非常适合应用程序开发和数据分析。它减少了对数据库的重复调用,并通过单个紧凑的查询表达特定用例的数据需求。Neo4j 驱动程序使用响应式编程方法,可以节省云计算资源并管理反压。

开放和灵活

Cypher 是一种开放数据查询语言,基于 openCypher 倡议。它可以通过用户自定义函数和过程进行扩展。Cypher 解析器、规划器和运行时的 Neo4j 实现是开源的。

在我们的云图数据库 AuraDB 免费版中体验 Cypher。尝试 Cypher

告别复杂的连接

Cypher 是一种图优化查询语言,它理解并利用数据连接。它沿着连接——任意方向——揭示以前未知的关系和集群。Cypher 查询比大量的 SQL 连接更容易编写。将此 Cypher 查询与其 SQL 等效项进行比较。

Cypher
MATCH (p:Product)-[:CATEGORY]->(l:ProductCategory)-[:PARENT*0..]->(:ProductCategory {name:"Dairy Products"})
RETURN p.name
  
                
SQL
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");