1. 查看所有节点和关系
如果你想查看图数据库中的所有节点和关系,可以使用以下查询:
Cypher
深色版本
MATCH (n)-[r]->(m)
RETURN n, r, m
n
和m
表示节点。r
表示两个节点之间的关系。- 这条命令会返回所有节点及其直接相连的关系。
2. 查看所有节点
如果只想查看所有的节点,可以使用以下查询:
Cypher
深色版本
MATCH (n)
RETURN n
- 这条命令会返回图数据库中的所有节点。
3. 查看所有关系
如果只想查看所有的关系,可以使用以下查询:
Cypher
深色版本
MATCH ()-[r]->()
RETURN r
- 这条命令会返回图数据库中的所有关系。
4. 根据标签查看节点
如果你的节点有特定的标签(例如 Person
),可以通过标签过滤节点:
Cypher
深色版本
MATCH (n:Person)
RETURN n
- 这条命令只会返回带有
Person
标签的节点。
5. 根据关系类型查看关系
如果你的关系有特定的类型(例如 KNOWS
),可以通过关系类型过滤:
Cypher
深色版本
MATCH (n)-[r:KNOWS]->(m)
RETURN n, r, m
- 这条命令会返回所有通过
KNOWS
关系连接的节点对。
6. 限制返回结果的数量
当图数据库中数据量较大时,可以通过 LIMIT
限制返回的结果数量:
Cypher
深色版本
MATCH (n)-[r]->(m)
RETURN n, r, m
LIMIT 50
- 这条命令会返回最多 50 条记录。
7. 查看节点和关系的属性
如果你想查看节点和关系的具体属性,可以使用以下查询:
Cypher
深色版本
MATCH (n)-[r]->(m)
RETURN n.name AS NodeName, type(r) AS RelationType, m.name AS TargetNodeName
- 这条命令会返回节点的
name
属性、关系的类型以及目标节点的name
属性。
8. 统计节点和关系的数量
如果你想统计图数据库中节点和关系的总数,可以使用以下查询:
统计节点总数:
Cypher
深色版本
MATCH (n)
RETURN count(n) AS NodeCount
统计关系总数:
Cypher
深色版本
MATCH ()-[r]->()
RETURN count(r) AS RelationshipCount
9. 查找孤立节点
孤立节点是指没有与其他节点建立任何关系的节点。你可以通过以下查询找到这些节点:
Cypher
深色版本
MATCH (n)
WHERE NOT (n)--()
RETURN n
(n)--()
表示节点n
有任何关系。NOT
表示排除有关系的节点。
10. 查找特定路径
如果你想查找两个节点之间的路径,可以使用以下查询:
Cypher
深色版本
MATCH path = (n)-[*]->(m)
WHERE n.name = 'Alice' AND m.name = 'Bob'
RETURN path
[*]
表示任意长度的路径。- 这条命令会返回从
Alice
到Bob
的所有路径。
11. 可视化图谱
在 Neo4j 浏览器中运行上述查询后,结果会以图形化的方式显示出来:
- 节点会显示为圆形,通常带有标签或属性。
- 关系会显示为箭头连接线,通常标注关系类型。