当前位置: 首页>前端>正文

Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用

知识图谱由于其数据包含实体、属性、关系等,常见的关系型数据库诸如MySQL之类不能很好的体现数据的这些特点,因此知识图谱数据的存储一般是采用图数据库(Graph Databases)。而Neo4j是其中最为常见的图数据库。

安装JDK

https://www.injdk.cn/,根据自己需求下载,注意:社区版4.2.2需要jdk版本为jdk11

Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用,第1张
JDK下载

安装完成中选择将其添加到PATH
Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用,第2张

安装完成后在命令行测试java和javac


Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用,第3张

安装Neo4J

首先在 https://neo4j.com/download-center/ 下载Neo4J。Neo4J分为社区版和企业版,企业版在横向扩展、权限控制、运行性能、HA等方面都比社区版好,适合正式的生产环境,普通的学习和开发采用免费社区版就好。

Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用,第4张

在Mac或者Linux中,安装好jdk后,直接解压下载好的Neo4J包,运行命令bin/neo4j start
windows系统下载好neo4j和jdk 1.8.0后,输入以下命令启动neo4j.bat console
Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用,第5张

注:上面的命令需要在bin目录下执行,如果想打开命令行就可以使用,请添加环境变量


Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用,第6张

Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用,第7张

使用Neo4J

Neo4J默认的图形化地址是bolt://localhost:7474,浏览器打开后填写默认用户neo4j,默认密码neo4j,第一次成功登陆到Neo4j服务器之后,需要重置密码。登录成功后界面

Datawhale 知识图谱组队学习 Task 1 Neo4J介绍与基本使用,第8张

Neo4J实战教程

官方文档

创建节点

CREATE (<node-name>:<label-name>)

CREATE (
   <node-name>:<label-name>
   {    
      <Property1-name>:<Property1-Value>
      ........
      <Propertyn-name>:<Propertyn-Value>
   }
)

CREATE (<node1-details>)-[<relationship-details>]->(<node2-details>)
# 关系必须有方向

CREATE (n:Person { name: 'Andy', title: 'Developer' })

匹配节点

match用来匹配图数据库中的节点,如match (n:Person) return n.name,返回所有节点为Person标签的名字

创建关系

MERGE can be used to match or create a relationship.
MATCH (a:Person {name:'Shawn'}), (b:Person {name:'Sally'}) MERGE (a)-[:FRIENDS {since:2001}]->(b)

删除和修改

MATCH (a:Person {name:'Liz'}) SET a.age=34//增加/修改节点的属性
MATCH (a:Person {name:'Mike'}) REMOVE a.test//删除节点的属性
MATCH (a:Location {city:'Portland'}) DELETE a //删除节点

通过 Python 操作 Neo4j

 # step 1:导包
  from py2neo import Graph, Node, Relationship
  # step 2:构建图
  g = Graph()
  # step 3:创建节点
  tx = g.begin()
  a = Node("Person", name="Alice")
  tx.create(a)
  b = Node("Person", name="Bob")
  # step 4:创建边
  ab = Relationship(a, "KNOWS", b)
  # step 5:运行
  tx.create(ab)
  tx.commit()

Neo4j之导入CSV数据

https://zhuanlan.zhihu.com/p/93746655
参考:
https://blog.seoui.com/2019/08/23/neo4j_study/#%E7%AC%AC%E4%B8%89%E7%AB%A0%EF%BC%9ACQL
https://zhuanlan.zhihu.com/p/88745411
https://github.com/datawhalechina/team-learning-nlp/blob/master/KnowledgeGraph_Basic/task01.md#44-neo4j-web-%E7%95%8C%E9%9D%A2-%E4%BB%8B%E7%BB%8D


https://www.xamrdz.com/web/25f1996100.html

相关文章: