AI人工智能知识图谱Neo4j关联查询人物关系cypher查询

Cypher语句介绍

Cypher是一种声明式图查询语言,表达高效查询和更新图数据库。

例子:声明式编程是一种编程范式,即构建计算机程序的结构和元素的一种风格,它表达了计算的逻辑而没有描述其控制流程。常用的声明性语言包括数据库查询语言(例如SQL,XQuery),正则表达式,逻辑编程,函数式编程和配置管理系统。命令式编程以明确的步骤实现算法。match 相当于SQL select

cypher查询语言的基本介绍
match
(node) - [relationship] ->(node)
where
(node | relationship)
return
(node | relationship)

一,基础查询
1,match基础查询
match(n:Person) return n limit 10

在这里插入图片描述

2,带有关系的查询
match(n:Person) -[:HAS_PHONE]->(p:Phone) return n,p limit 10

在这里插入图片描述

3,带条件的关系查询
match(n:Person) -[:HAS_PHONE]->(p:Phone) where n.name = “姓名6” return n,p limit 10

在这里插入图片描述

二,多维度关系查询
1,多度关联查询
match(n:Person) -[:HAS_PHONE]->(p:Phone)-[:CALL]->(p1:Phone) where n.name = “姓名6” return n,p,p1 limit 10

在这里插入图片描述

2,没有限制实体的关系查询
match n=()-[:HAS_PHONE]-() return n limit 10
在这里插入图片描述

3,正则查询
match (n:Person) where n.name=~“J.*” return n limit 10

4,包含查询
match (n:Person) where n.name contains “J” return n limit 10

create 创建

create (n:Loc{name:“湖北”})-[:FOOD{level:1}]->(L:Longxia{type:“小龙虾”})
在这里插入图片描述

三,实战
姓名12,他的三度的朋友又那些
MATCH (p:Person)-[:FRIEND_OF]-(p1:Person)-[:FRIEND_OF]-(p2:Person) where p.name=“姓名12” return p,p1,p2
在这里插入图片描述

姓名12,他的三度内有关联的人有那些
MATCH (p:Person)-[]-(p1:Person)-[]-(p2:Person) where p.name=“姓名12” return p,p1,p2

在这里插入图片描述

姓名12 的通话记录中的电话又那些以及这些电话对应的是那些人
MATCH (p:Person)-[:HAS_PHONE]->(p1:Phone)-[:CALL]->(p2:Phone)<-[:HAS_PHONE]-(p3:Person) where p.name=“姓名11” return p,p1,p2,p3

在这里插入图片描述

最短路径查询
MATCH (p1:Person{name:“姓名2”}),(p2:Person{name:“姓名10”}),p=shortestpath((p1)-[*…10]-(p2)) RETURN p

在这里插入图片描述

所有的最短路径查询
MATCH (p1:Person{name:“姓名2”}),(p2:Person{name:“姓名10”}),p=allshortestpaths((p1)-[*…10]-(p2)) RETURN p
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值