📅  最后修改于: 2023-12-03 15:36:09.147000             🧑  作者: Mango
Neo4j 是流行的图形数据库,它使用 Cypher 作为主要查询语言。但是,Neo4j 也支持使用 CQL(Cypher Query Language)进行查询。
CQL 是一种类似 SQL 的语言,用于查询和操作 Neo4j 图形数据库中的数据。它是基于 Cypher 的,但与 Cypher 的语法略有不同。
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 查询,用于查询所有标记为“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 可以用于查询节点和关系,按条件查询节点和关系,创建、更新和删除节点和关系。