(知识图谱学习1)neo4j基础

目录

一、neo4j安装与环境配置

官网:https://neo4j.com/download-center/

下载社区版neo4j服务

neo4j环境变量配置

jdk下载

jdk版本:

启动neo4j

二、cypher语句基本增删改查

删除

三、Py2neo连接neo4j

安装pip install py2neo

连接neo4j

建立节点

建立关系

匹配节点

匹配关系

删除节点

删除关系

删除关系链

修改属性


  • 一、neo4j安装与环境配置

参考博客:

Neo4j安装_王拾三的博客-CSDN博客_neo4j 社区版安装

  • 官网:https://neo4j.com/download-center/

  • 下载社区版neo4j服务

  • neo4j环境变量配置

右击—属性

创建系统环境变量NEO4J_HOME,并把 安装目录 设置为变量值

path中添加%NEO4J_HOME%\bin

  • jdk下载

官网:https://www.oracle.com/java/technologies/downloads/#java11

  • jdk版本:

注意:neo4j-4.x和jdk11匹配.,neo4j-3.x需要jdk8匹配,新版本不用配置环境变量

cmd输入java -version检查是否安装完好

  • 启动neo4j

cmd输入neo4j console

复制粘贴到浏览器打开,注意终端不能关闭

初始用户名和密码均为neo4j

连接成功后会设置新的密码,我设置的是123456

  • 二、cypher语句基本增删改查

增加一个节点

CREATE (a:`水浒传人物`{name:"宋江",绰号:"呼保义"})

增加一个关系:

CREATE (a:`水浒传人物`{name:'张衡'})-[b:兄弟]->(c:`水浒传人物`{name:'张顺'})

  • 删除

删除节点:

MATCH (a:`水浒传人物`{name:'宋江'}) DELETE a

删除关系:

MATCH (a:`水浒传人物`)-[b:`兄弟`]->(c:`水浒传人物`) DELETE b

   删除所有节点:
MATCH a DELETE a

注意:有关系的节点必须要先删除关系

增加标签:
MATCH (n:`水浒传人物`{name:'宋江'}) set n:

增加和修改属性:
MATCH (a:`水浒传人物`) WHERE id(a) =172 set a.`绰号`='浪里白条' return a

MATCH (n:`水浒传人物`)-[:`兄弟`]->(p:`水浒传人物`) return n,p

  • 三、Py2neo连接neo4j

  • 安装pip install py2neo

  • 连接neo4j

from py2neo import Node,Relationship,Graph,NodeMatcher

graph=Graph('http://localhost:7474/',auth=('neo4j',"123456"))

  • 建立节点

from py2neo import Node,Relationship,Graph,NodeMatcher
a=Node('水浒传主要人物',name='宋江',绰号='呼保义',星座='天魁星')

graph.create(a)

  • 建立关系

from py2neo import Node,Relationship,Graph,NodeMatcher
ab=Relationship(a,'兄弟',b)

graph.create(ab)

  • 匹配节点

from py2neo import Node,Relationship,Graph,NodeMatcher
Matcher=NodeMatcher(graph)

a=Matcher.match('水浒传主要人物',name='宋 江').first()

print(a['绰号'])

  • 匹配关系

from py2neo import Node,Relationship,Graph,NodeMatcher,RelationshipMatcher
r_matcher=RelationshipMatcher(graph)

relation=r_matcher.match(nodes=[a,b]).first()

print(relation)
 
  • 删除节点

c=Matcher.match('水浒传主要人物',name='宋江').first()

print(c['绰号'])

graph.delete(c)
 
  • 删除关系

r_matcher=RelationshipMatcher(graph)

relation=r_matcher.match(nodes=[a,b]).first()

print(relation)

graph.separate(relation)
  • 删除关系链

graph.delete(relation)
 
  • 修改属性

Matcher=NodeMatcher(graph)

a=Matcher.match('水浒传主要人物',name='宋江').first()

print(a['name'])

a['name']='宋老大'

graph.push(a)

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值