NODES AI:图技术 + AI 在线大会 - 2026年4月15日 | 立即注册

Neo4j logo

Cypher

常见问题解答

常规

Cypher 是开源的吗?
和 Neo4j 一样,Cypher 也是开源的。openCypher 项目提供了所需的所有规范。它提供了一种直观的方式来处理属性图,并且是了解 ISO 正在开发的图查询语言 (GQL) 标准的最佳切入点。
为什么要学习 Cypher?
Cypher 是属性图数据库中最广泛采用、功能最全面且声明式的开放查询语言。Cypher 由 Neo4j 创建,已被全球 10 多种不同的数据库产品以及成千上万的开发人员和数据科学家所采用。
我该如何针对图数据库运行 Cypher?
Cypher 通过 Java、JavaScript、Python、.Net、Go 的语言驱动程序以及 PHP、Perl、Ruby、Rust 等社区驱动程序以事务方式使用。Neo4j 还提供了一个 HTTP API,用于将 Cypher 语句发送到服务器。此外,可视化工具 Neo4j Browser 可运行 Cypher 语句,而 cypher-shell 则在命令行中运行。许多其他工具(如客户端应用程序或服务端后端)都依赖 Cypher 来与图数据库进行交互。
SPARQL 和 Cypher 查询语言有什么区别?
SPARQL 是用于访问资源描述框架 (RDF) 中数据的查询语言。Cypher 是用于属性图中表示的数据的对应语言。了解更多关于它们的区别。
SQL 和 Cypher 的主要区别是什么?
Cypher 是一种基于图模式语法(ASCII 艺术)的声明式图查询语言。它专注于可读性、可组合性和高效的语法。SQL 是自 20 世纪 70 年代以来用于关系数据库的声明式查询语言(此处的“关系”并不意味着“关系数据”)。它还允许非技术用户与数据库进行交互。最初旨在对表单数据进行单表操作,后来添加了连接 (JOIN) 功能。此后它一直在演变,支持地理空间、JSON、XML、分析等功能。Cypher 和 SQL 之间的一些区别包括:

Cypher

SQL

RETURN SELECT
MATCH FROM...JOIN ON...
WHERE、ORDER BY、LIMIT、SKIP 相同
自动分组 GROUP BY
使用 WITH 进行查询管道处理,无需 HAVING HAVING
两者都支持(用户定义的)过程和函数调用
用于聚合和展开数据列表的 COLLECT 和 UNWIND
无窗口函数
通过 CALL {} 语法支持子查询 FROM()
使用 LOAD CSV 加载数据
通过 CALL {} IN TRANSACTIONS 进行批处理
可变路径长度模式语法 递归公用表表达式 (CTE)
  了解更多关于它们的区别。
Cypher 查询语言与 GQL (Graph Query Language) ISO 项目有关吗?
Cypher 是启发 GQL ISO 项目的关键语言,该项目旨在创建一种标准的图查询语言。开发 SQL 标准的国际委员会已同意启动 GQL 作为一种新的数据库查询语言。GQL 即将成为属性图国际标准的声明式查询语言,它代表了 Neo4j 和更广泛的数据库社区多年努力的结晶。
GQL 和 GraphQL 是一回事吗?
不是。GQL 是一个正在创建标准图查询语言的 ISO 项目,而 GraphQL 是一种用于 API 的查询语言。要了解有关 GraphQL 的更多信息,请访问 GraphQL.org 或参考 Neo4j 的 GraphQL 库
© . This site is unofficial and not affiliated with Neo4j, Inc.