温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何写neo4j cypher语句

发布时间:2026-09-09 05:18:26 来源:亿速云 阅读:106 作者:小樊 栏目:数据库

下面从基础概念 → 常用语句 → 实战示例逐步说明,如何写 Neo4j 的 Cypher 语句。


一、Cypher 是什么

Cypher 是 Neo4j 的声明式图查询语言,核心思想是:

  • 节点 ( )
  • 关系 -[]->
  • 标签 :Label
  • 属性 {key:value}

二、基本语法结构

1. 节点(Node)

(n:Person)
(n:Person {name:'Tom'})

2. 关系(Relationship)

-[:FRIEND]->
-[:FRIEND {since:2020}]->

3. 模式(Pattern)

(n:Person)-[:FRIEND]->(m:Person)

三、常用 Cypher 语句

1. 创建数据(CREATE)

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

创建关系:

MATCH (a:Person {name:'Alice'}), (b:Person {name:'Bob'})
CREATE (a)-[:FRIEND]->(b)

2. 查询数据(MATCH)

MATCH (n:Person)
RETURN n

带条件:

MATCH (n:Person)
WHERE n.age > 25
RETURN n.name, n.age

3. 更新数据(SET)

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

4. 删除数据(DELETE / REMOVE)

删除节点:

MATCH (n:Person {name:'Tom'})
DELETE n

删除关系:

MATCH (a)-[r:FRIEND]->(b)
DELETE r

5. 合并数据(MERGE)

有则查,无则建:

MERGE (n:Person {name:'Alice'})
RETURN n

四、实战示例

示例 1:社交关系图

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

示例 2:最短路径

MATCH p=shortestPath(
  (a:Person {name:'Alice'})-[*]-(b:Person {name:'Charlie'})
)
RETURN p

五、写 Cypher 的思路建议

  1. 先想清楚:有哪些节点、标签
  2. 再想:节点之间是什么关系
  3. 最后写:MATCH → WHERE → RETURN

如果你有具体业务场景(比如“用户-订单-商品”或“知识图谱”),我可以帮你直接写 Cypher 语句。

向AI问一下细节
推荐阅读:
  1. Neo4j是什么
  2. Neo4j怎么用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手