📅  最后修改于: 2023-12-03 15:17:50.864000             🧑  作者: Mango
Neo4j Cypher Query Language(CQL)是一种基于图形数据库的查询语言,用于查询和管理图形数据库。Neo4j CQL 包含一些用于描述和操作节点和关系的子句和谓词。
CREATE
子句用于创建节点和关系。下面是一个创建一个节点的示例:
CREATE (n:Person {name: 'Alice', age: 26})
这创建了具有标签 Person
和属性 name
和 age
的节点。
MATCH
子句用于找到图形数据库中的节点和关系。下面是一个示例:
MATCH (n:Person)-[:FRIEND]-(m:Person)
WHERE n.name = 'Alice'
RETURN m
这找到了名为 Alice
的节点,并返回她的所有朋友(假设朋友之间有一条 FRIEND
关系)。
MERGE
子句用于创建或查找节点和关系。下面是一个示例:
MERGE (n:Person {name: 'Bob'})
ON CREATE SET n.age = 30
ON MATCH SET n.age = 31
这创建了一个具有 name
属性为 Bob
的节点,如果该节点已经存在,它将更新该节点的 age
属性。
DELETE
子句用于删除节点和关系。下面是一个示例:
MATCH (n:Person)
WHERE n.age > 30
DELETE n
这将删除所有年龄大于 30 的人。
WHERE
谓词用于过滤查询结果。下面是一个示例:
MATCH (n:Person)-[:FRIEND]-(m:Person)
WHERE n.name = 'Alice' AND m.age > 25
RETURN m
这找到了名为 Alice
的节点的所有朋友,并返回他们中所有年龄大于 25 岁的人。
ORDER BY
谓词用于将查询结果按特定属性排序。下面是一个示例:
MATCH (n:Person)-[:FRIEND]-(m:Person)
WHERE n.name = 'Alice'
RETURN m
ORDER BY m.age DESC
这找到了名为 Alice
的节点的所有朋友,并按年龄从大到小排序返回。
LIMIT
谓词用于限制查询结果的数量。下面是一个示例:
MATCH (n:Person)-[:FRIEND]-(m:Person)
WHERE n.name = 'Alice'
RETURN m
LIMIT 5
这找到了名为 Alice
的节点的前 5 个朋友,并返回他们。
这里只是介绍了 Neo4j CQL 中的一些基本子句和谓词。有关更多详细信息,请参阅 Neo4j CQL 文档。