📅  最后修改于: 2023-12-03 14:44:33.930000             🧑  作者: Mango
在使用 Neo4j 图数据库时,设置子句用于指定查询的条件、规则和操作。它们允许你在查询数据时对结果进行过滤、排序和转换。本文将介绍 Neo4j 中一些常用的设置子句,并提供示例代码和解释。
MATCH
子句用于在图中查找节点和关系,并将它们与指定的模式进行匹配。
MATCH (n:Person)-[:FOLLOWS]->(m:Person)
WHERE n.name = 'John'
RETURN n, m
上述查询语句中,我们查找了图中所有 "Person" 节点,以及与他们相关的 "FOLLOWS" 关系。然后我们使用 WHERE
子句筛选出 name
属性为 "John" 的节点,并返回这些节点及其关系。
OPTIONAL MATCH
子句类似于 MATCH
子句,但它允许某些模式的匹配失败,并在查询结果中返回空值。
OPTIONAL MATCH (n)-[:FOLLOWS]->(m)
RETURN n, m
上述查询语句中,我们尝试查找所有符合 (n)-[:FOLLOWS]->(m)
模式的节点和关系。如果匹配成功,就返回这些节点和关系;如果失败,就返回空值。
CREATE
子句用于在图数据库中创建新的节点和关系。
CREATE (n:Person {name: 'Alice', age: 30})
RETURN n
上述查询语句中,我们创建了一个名为 "Alice",年龄为 30 的 "Person" 节点,并返回该节点。
SET
子句用于更新节点或关系的属性。
MATCH (n:Person)
WHERE n.name = 'Alice'
SET n.age = 31
RETURN n
上述查询语句中,我们找到了名为 "Alice" 的 "Person" 节点,并将其年龄属性更新为 31。
DELETE
子句用于删除节点、关系或属性。
MATCH (n:Person)
WHERE n.name = 'Alice'
DELETE n
上述查询语句中,我们找到了名为 "Alice" 的 "Person" 节点,并将其删除。
ORDER BY
子句用于对查询结果进行排序。
MATCH (n:Person)
RETURN n.name
ORDER BY n.age DESC
上述查询语句中,我们查找了所有 "Person" 节点的名称,并按其年龄属性降序排序。
LIMIT
子句用于限制查询结果的数量。
MATCH (n:Person)
RETURN n
LIMIT 10
上述查询语句中,我们返回了前 10 个 "Person" 节点。
SKIP
子句用于跳过查询结果的前几个。
MATCH (n:Person)
RETURN n
SKIP 5
上述查询语句中,我们返回了从第 6 个开始的所有 "Person" 节点。
以上是 Neo4j 中一些常用的设置子句的介绍和示例代码。通过合理使用这些子句,你可以更好地利用 Neo4j 数据库进行数据查询和操作。