基本节点和关系的创建:
// 创建一个节点
CREATE (node:Label {property: 'value'})
// 创建两个节点和它们之间的关系
CREATE (a:Person {name: 'Alice'})-[:KNOWS]->(b:Person {name: 'Bob'})
查询节点和关系:
// 查询所有节点和它们的属性
MATCH (n) RETURN n
// 查询特定类型的节点
MATCH (p:Person) RETURN p
// 查询两个节点之间的关系
MATCH (a:Person {name: 'Alice'})-[:KNOWS]->(b:Person {name: 'Bob'}) RETURN a, b
节点和关系的更新:
// 更新节点属性
MATCH (p:Person {name: 'Alice'}) SET p.age = 30
// 删除节点
MATCH (p:Person {name: 'Alice'}) DETACH DELETE p
模式匹配和过滤:
// 查找所有与 'Alice' 有关系的节点
MATCH (a:Person {name: 'Alice'})-[*]-(related) RETURN related
// 查找 'Alice' 的朋友的名字
MATCH (a:Person {name: 'Alice'})-[:KNOWS]->(friend) RETURN friend.name
条件和过滤:
// 使用 WHERE 子句进行条件过滤
MATCH (p:Person) WHERE p.age > 25 RETURN p
// 使用正则表达式进行过滤
MATCH (p:Person) WHERE p.name =~ 'A.*' RETURN p
聚合和排序:
// 计算节点总数
MATCH (n) RETURN COUNT(n)
// 查找年龄最大的人
MATCH (p:Person) RETURN p ORDER BY p.age DESC LIMIT 1
这些只是 Cypher 查询语言的基本示例。Cypher 非常灵活,能够进行复杂的图形查询和分析。你可以根据具体的需求使用 Cypher 查询语言构建适当的查询来检索和操作图数据库中的数据。查阅 Neo4j 官方文档以获取更详细的 Cypher 查询语言信息和示例。
转载请注明出处:http://www.zyzy.cn/article/detail/9279/Neo4j