📜  什么是Neo4j Cql(1)

📅  最后修改于: 2023-12-03 15:36:09.147000             🧑  作者: Mango

什么是 Neo4j CQL

简介

Neo4j 是流行的图形数据库,它使用 Cypher 作为主要查询语言。但是,Neo4j 也支持使用 CQL(Cypher Query Language)进行查询。

CQL 是一种类似 SQL 的语言,用于查询和操作 Neo4j 图形数据库中的数据。它是基于 Cypher 的,但与 Cypher 的语法略有不同。

CQL 的语法

CQL 的语法类似于 SQL,它使用关键字和命令来描述查询的操作。CQL 查询由一系列“选项”和“子句”组成。

以下是 CQL 的基本语法:

OPTIONAL MATCH (node1:label1)-[:relationship]->(node2:label2)
WHERE {conditions}
RETURN {results}

其中:

  • OPTIONAL MATCH用于搜索指定的节点或关系
  • (node1:label1)表示节点的标签,标签是用于识别节点的字符串。
  • -[:relationship]->表示关系,两个节点之间的连接。
  • (node2:label2)表示目标节点的标签,也可以是关系的标签。
  • WHERE用于指定条件,查询中只返回符合条件的结果。
  • {conditions}表示查询条件。
  • RETURN用于指定结果,查询中只返回指定的结果。
  • {results}表示查询结果。
CQL 的用途

CQL 的用途包括:

  • 查询节点和关系
  • 按条件查询节点和关系
  • 特定节点和关系的属性
  • 创建节点和关系
  • 更新节点和关系
  • 删除节点和关系
示例

以下是一个简单的 CQL 查询,用于查询所有标记为“Person”的节点:

MATCH (p:Person)
RETURN p;

以下是一个更复杂的 CQL 查询,用于查询Bob的朋友朋友:

MATCH (person:Person)-[:FRIEND]->()-[:FRIEND]->(foaf)
WHERE person.name = "Bob"
RETURN foaf;

以上查询使用关键字 MATCH 匹配 Person 节点,使用关键字 WHERE 指定条件,然后使用关键字 RETURN 返回查询结果。

结论

CQL 是 Neo4j 的查询语言。它建立在 Cypher 之上,是用于查询和操作图形数据库中的数据的语言。CQL 类似于 SQL,但具有一些不同的语法和命令。CQL 可以用于查询节点和关系,按条件查询节点和关系,创建、更新和删除节点和关系。