Neo4j

本文详细介绍了Neo4j图数据库的访问配置、启动命令、多实例运行方法,以及丰富的Cypher查询语言示例,包括节点创建、关系建立、删除操作、查询语法等,帮助读者深入理解并掌握Neo4j的日常管理和数据操作。
摘要由CSDN通过智能技术生成

问题:

1.neo4j ip访问问题:

本地访问可以:http://localhost:7474/browser/
但是通过ip访问会打不开:http://ip:7474/browser/
原因:neo4j配置问题,neo4j默认不开启ip地址监听
解决:打开neo4j配置文件,打开"dbms.connectors.default_listen_address=0.0.0.0"的注释,重新启动即可.

2.neo4j社区版启动命令:

进入neo4j的bin目录下
在bin目录下进入cmd
输入命令 neo4j.bat console

3.同一台机器启动多个neo4j:

前提要求:使用neo4j社区版
步骤:
 -进入neo4j的conf目录下
 -打开neo4j.conf
 -修改 dbms.connector.bolt.listen_address=:7687, dbms.connector.http.listen_address=:7474, dbms.connector.https.listen_address=:7473 并打开注释(neo4j默认注释这三项)

查询语句:

参考链接:neo4j官网

创建节点:

例:创建军队标签,名称为陆军1create(z:Army{name:"陆军1队"}) return z 

创建节点之间的关系:

例:创建kj战斗机 包括着零件 航空器
match (l:equip{name:"kj战斗机"}),(e:equip{name:"航空器"}) merge(l)-[:`包括着零件`]->(e) 

根据id删除节点

match (t:EntityNode)-[r:] where id(t)=228 delete (t) 

查询所有节点:

match(n) return n

删除某个标签下的所有关系和节点:

例:删除kgEntity标签下边所有关系及其节点
MATCH (n:kgEntity) detach delete n 

查询关系为’配备’的实体和关系

MATCH p=()-[r:`配备`]->() RETURN p LIMIT 25

删除关系为’配备’的实体和关系

match (n:EntityNode)-[r:`配备`]-(e) DETACH DELETE n

插入实体间的关系

match (l:EntityNode{nodeId:'269ee1ff-cca8-4e89-a749-fc091a211603'}),(e:EntityNode{nodeId:'8a56156c-6119-4b2a-9cf4-dacb28c9fd57'}) merge(l)-[r:`轰炸`]->(e) return l,e,r

neo4j删除所有节点和关系:

MATCH (n)
OPTIONAL MATCH (n)-[r]-()
DELETE n,r

根据id删除关系

match ()-[r]-() where id(r)=80 delete r

"查"操作 , 查找 id 属性 为 501的节点:

MATCH (r)
WHERE id(r) = 501
RETURN r

根据id查询:

match (t:kgEntity)-[r]-(n) where id(t)=45 return (t)-[r]-(n)

根据关系id查询节点和关系:

例:查询关系id为7的节点
match(t:EntityNode)-[r]-(n) where id(r)=7 return t,r,n

根据labels(标签)查询:

例:查询labels为kgEntity的所有节点和关系
match (n:kgEntity) return n 

查询具有特定关系的元组:

例:查询具有"装备着"关系的节点和关系
match p=()-[:`装备着`]->() return p

查询某个节点的所有关系:

例:查询kj战斗机的全部关系以及有关系的节点
return (:EntityNode{name:"kj战斗机"}) <-->()

查询某个节点的n层关系:

例:查询指向kj战斗机以及层数不超过5的所有节点和关系
match p=(n:EntityNode{name:"kj战斗机"})<-[*..5]-() return p

例:查询图和图<军事装备>中的id属性为127和177的两个节点之间大于1层的关系

match p=(s:EntityNode{id:'127'})-[*1..]->(t:军事装备{id:'177'}) return p

删除neo4j中所有没有关系的节点:

例:删除"军事装备"标签下的所有没有关系的节点
MATCH (n:`军事装备`) WHERE size((n)--())=0 DELETE (n)

模糊查询:~'. .*’ (~ 类似 like,.类似%)

例:查询name属性值包含"军"字的节点和其关联的关系
match (n:EntityNode)<-[r]->(m) where n.name =~'.*军.*' return n,r,m

查询两个节点之间的最短路径:allShortestpaths 和 shortestpath关键字
1.allShortestpaths 查询所有最短路径

例:查询id为82108291这两个节点之间的所有最短路径
match p=allShortestpaths ((p1)-[*]->(p2)) where id(p1)=8210 and id(p2)=8291 return p

2. shortestpath 查询一个最短路径

例:查询id为82108291这两个节点之间的最短路径
match p=shortestpath ((p1)-[*]->(p2)) where id(p1)=8210 and id(p2)=8291 return p

查询id为8210的点向外路径<=2的点和边

match (t)-[r*..2]->(n) where id(t)=8210 return (t),[r],(n)

查询由8210开始,步长<=2,并且本体名称在[‘版本’,‘测试需求’,‘功能需求’] 中的记录

match (n)-[r*..2]->(m) where id(n)=8210 and n.ontology_name in ['版本','测试需求','功能需求']   return n,r,m

连接两个节点

MATCH (e:kgEntity {name: 'E-10无人机'})
MATCH (l:kgEntity {name: '雷达8'})
MERGE (e)-[r:发生的敌情事件]->(l)
RETURN e, r, l

查询label为kgEntity下所有节点

match (k:kgEntity) return k
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值