下面从基础概念 → 常用语句 → 实战示例逐步说明,如何写 Neo4j 的 Cypher 语句。
Cypher 是 Neo4j 的声明式图查询语言,核心思想是:
( )-[]->:Label{key:value}(n:Person)
(n:Person {name:'Tom'})
-[:FRIEND]->
-[:FRIEND {since:2020}]->
(n:Person)-[:FRIEND]->(m:Person)
CREATE (n:Person {name:'Alice', age:30})
RETURN n
创建关系:
MATCH (a:Person {name:'Alice'}), (b:Person {name:'Bob'})
CREATE (a)-[:FRIEND]->(b)
MATCH (n:Person)
RETURN n
带条件:
MATCH (n:Person)
WHERE n.age > 25
RETURN n.name, n.age
MATCH (n:Person {name:'Alice'})
SET n.age = 31
RETURN n
删除节点:
MATCH (n:Person {name:'Tom'})
DELETE n
删除关系:
MATCH (a)-[r:FRIEND]->(b)
DELETE r
有则查,无则建:
MERGE (n:Person {name:'Alice'})
RETURN n
CREATE
(a:Person {name:'Alice'}),
(b:Person {name:'Bob'}),
(c:Person {name:'Charlie'}),
(a)-[:FRIEND]->(b),
(b)-[:FRIEND]->(c)
查询 Alice 的朋友:
MATCH (a:Person {name:'Alice'})-[:FRIEND]->(f)
RETURN f.name
MATCH p=shortestPath(
(a:Person {name:'Alice'})-[*]-(b:Person {name:'Charlie'})
)
RETURN p
如果你有具体业务场景(比如“用户-订单-商品”或“知识图谱”),我可以帮你直接写 Cypher 语句。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。