美文网首页Neo4J
Datawhale 知识图谱组队学习 Task 1 Neo4J介

Datawhale 知识图谱组队学习 Task 1 Neo4J介

作者: 听城 | 来源:发表于2021-01-11 21:33 被阅读0次

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

安装JDK

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

JDK下载
安装完成中选择将其添加到PATH

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


安装Neo4J

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

image.png
在Mac或者Linux中,安装好jdk后,直接解压下载好的Neo4J包,运行命令bin/neo4j start
windows系统下载好neo4j和jdk 1.8.0后,输入以下命令启动neo4j.bat console

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



使用Neo4J

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

image.png

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

相关文章

网友评论

    本文标题:Datawhale 知识图谱组队学习 Task 1 Neo4J介

    本文链接:https://www.haomeiwen.com/subject/vswdaktx.html