📜  Neo4j-设置子句(1)

📅  最后修改于: 2023-12-03 14:44:33.930000             🧑  作者: Mango

Neo4j 设置子句

在使用 Neo4j 图数据库时,设置子句用于指定查询的条件、规则和操作。它们允许你在查询数据时对结果进行过滤、排序和转换。本文将介绍 Neo4j 中一些常用的设置子句,并提供示例代码和解释。

检索节点或关系
MATCH 子句

MATCH 子句用于在图中查找节点和关系,并将它们与指定的模式进行匹配。

MATCH (n:Person)-[:FOLLOWS]->(m:Person)
WHERE n.name = 'John'
RETURN n, m

上述查询语句中,我们查找了图中所有 "Person" 节点,以及与他们相关的 "FOLLOWS" 关系。然后我们使用 WHERE 子句筛选出 name 属性为 "John" 的节点,并返回这些节点及其关系。

OPTIONAL MATCH 子句

OPTIONAL MATCH 子句类似于 MATCH 子句,但它允许某些模式的匹配失败,并在查询结果中返回空值。

OPTIONAL MATCH (n)-[:FOLLOWS]->(m)
RETURN n, m

上述查询语句中,我们尝试查找所有符合 (n)-[:FOLLOWS]->(m) 模式的节点和关系。如果匹配成功,就返回这些节点和关系;如果失败,就返回空值。

修改图数据库
CREATE 子句

CREATE 子句用于在图数据库中创建新的节点和关系。

CREATE (n:Person {name: 'Alice', age: 30})
RETURN n

上述查询语句中,我们创建了一个名为 "Alice",年龄为 30 的 "Person" 节点,并返回该节点。

SET 子句

SET 子句用于更新节点或关系的属性。

MATCH (n:Person)
WHERE n.name = 'Alice'
SET n.age = 31
RETURN n

上述查询语句中,我们找到了名为 "Alice" 的 "Person" 节点,并将其年龄属性更新为 31。

DELETE 子句

DELETE 子句用于删除节点、关系或属性。

MATCH (n:Person)
WHERE n.name = 'Alice'
DELETE n

上述查询语句中,我们找到了名为 "Alice" 的 "Person" 节点,并将其删除。

其他常用设置子句
ORDER BY 子句

ORDER BY 子句用于对查询结果进行排序。

MATCH (n:Person)
RETURN n.name
ORDER BY n.age DESC

上述查询语句中,我们查找了所有 "Person" 节点的名称,并按其年龄属性降序排序。

LIMIT 子句

LIMIT 子句用于限制查询结果的数量。

MATCH (n:Person)
RETURN n
LIMIT 10

上述查询语句中,我们返回了前 10 个 "Person" 节点。

SKIP 子句

SKIP 子句用于跳过查询结果的前几个。

MATCH (n:Person)
RETURN n
SKIP 5

上述查询语句中,我们返回了从第 6 个开始的所有 "Person" 节点。

以上是 Neo4j 中一些常用的设置子句的介绍和示例代码。通过合理使用这些子句,你可以更好地利用 Neo4j 数据库进行数据查询和操作。