通过 Neo4j 全新“了解图数据库与生成式AI”网络研讨会系列学习 >>>

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 年代以来一直用于关系数据库(在此示例中“关系”不表示“关系”)的声明式查询语言。它还允许非技术用户与数据库进行交互。最初旨在对表单数据进行单表操作,连接后来才添加。自那时以来,它一直在发展,支持地理、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) ISO 项目相关吗?
Cypher 是启发 GQL ISO 项目的关键语言,该项目正在创建一种标准图查询语言。开发 SQL 标准的国际委员会已同意启动 GQL 作为一种新的数据库查询语言。GQL 即将编纂为属性图的国际标准声明式查询语言,它代表了 Neo4j 和更广泛的数据库社区多年努力的结晶。
GQL 和 GraphQL 相同吗?
不。GQL 是一个 ISO 项目,旨在创建一种标准图查询语言,而 GraphQL 是一种用于 API 的查询语言。要了解更多关于 GraphQL 的信息,请访问 GraphQL.org 或参考 Neo4j 的GraphQL 库
© . All rights reserved.