知识图谱neo4j入门教程
因为研究生需要学习知识图谱,在网上找了一些教程没有很合适的,所以在此记录所学方便以后查看。(会陆续更新,学到哪写到哪,先按照我自己的笔记写了,等有人看再整理顺序吧。)
PS:本人是个小白,写的比较通俗,并不标准,仅供参考。
知识图谱neo4j入门教程
这里是做一个比赛需要的小例子。
这个是例子
首先安装教程就不写了。链接如下:
https://blog.csdn.net/hxg117/article/details/79929579
我就是跟这个做的
neo4j的启动与关闭
1.打开cmd
2.cd切换到目录
cd F:\neo4j\neo4j-community-3.5.5-windows\neo4j-community-3.5.5\bin
3.输入以下指令
neo4j.bat console
4.neo4j 的关闭
neo4j stop
5.如果再启动可以输入
neo4j start
进行启动
切换数据库(非常有用,找了好多都没有这么好用的):
1.关闭当前neo4j进程
2.打开F:\neo4j\neo4j-community-3.5.5-windows\neo4j-community-3.5.5\conf下文件,把dbms.active_database=test.db中的test.db切换成需要的数据库,dbms.allow_upgrade=true打开。
3.重启neo4j即可。
注:数据在F:\neo4j\neo4j-community-3.5.5-windows\neo4j-community-3.5.5\data\databases文件夹下添加文件名.db的形式的文件夹 。(这个是我个人的目录)
//创建节点
CREATE (name:Name{dname:'陈碧莹',jibing1:'糖尿病',jibing4:'低血压',jibing5:'轻度近视'})
CREATE (name:Name{dname:'车安妮',jibing3:'高血压'})
CREATE (name:Name{dname:'陈柳',jibing1:'糖尿病',jibing5:'重度近视'})
CREATE (name:Name{dname:'陈佳佳',jibing1:'糖尿病',jibing4:'低血压'})
CREATE (name:Name{dname:'车野',jibing2:'先天性心脏病',jibing3:'高血压',jibing5:'轻度近视'})
CREATE (name:Name{dname:'陈世超',jibing5:'轻度近视'})
MATCH (name:Name) RETURN name.dname
//
MATCH (name:Name) RETURN name
//显示节点是name的两个节点
MATCH(e:Name) DELETE e //删除节点CREATE(name:Name7)-[Mother:Motherdaughter]->(name:Name8)
//在未创建结点创建关系
CREATE(name:Name1:Name2)CREATE (CBY:Name1{dname:'陈碧莹',jibing1:'糖尿病',jibing4:'低血压',jibing5:'轻度近视'})
CREATE (DAN:Name2{dname:'车安妮',jibing3:'高血压'})
CREATE(CBY)-[mother:motherdaughter{r:'母女'}]->(DAN)
MATCH(a:Name1{dname:'陈碧莹'}) MATCH(b:TNB{bname:'糖尿病'}) CREATE(a)-[r:患有]->(b) return r;
//创建两个已有结点之间的关系
CREATE(GXY:GXY{bname:'高血压',laber:'非遗传病'}),(DXY:DXY{bname:'低血压',laber:'非遗传病'}),(TNB:TNB{bname:'糖尿病',laber:'遗传病'})
CREATE(QJS:QJS{bname:'轻度近视',laber:'非遗传病'}),
CREATE(ZJS:ZJS{bname:'重度近视',laber:'遗传病'}),
CREATE(XZB:XZB{bname:'先天性心脏病',laber:'遗传病'});MATCH(a:DXY) MATCH(Name1) CREATE(a)-[r:患有]->(b) return r;
MATCH(a:DXY) DELETE a //删掉结点
MATCH(:DXY) -[r:患有]->() delete r //删点DXY关系为患有的结点match (n) detach delete n
//清空数据库所有信息CREATE(name:Name{dname:'陈碧莹',jibing1:'糖尿病',jibing4:'高血压',jibing5:'轻度近视'})-[:患有]-> (GXY:GXY{bname:'高血压',laber:'非遗传病'})
//创建两个新节点及其关系match(a:Name{dname:'陈碧莹'}) match(b:QJS{bname:'轻度近视'}) MATCH (c:TNB{bname:'糖尿病'}) create(a)-[:患有]->(b),(a)-[:患有]->(c)
//建立一对多的关系match(a:Name{dname:'陈碧莹'}) create(name:Name{dname:'车安妮',jibing3:'高血压'}) create(a)-[:母女]->(name)
//建立一个存在和一个新建关系的结点
match(a:Name{dname:'车安妮'}) match(b:GXY{bname:'高血压'}) create(a)-[:患有]->(b)
CREATE (name:Name{dname:'陈柳',jibing1:'糖尿病',jibing5:'重度近视'}) match(b:TNB{bname:'糖尿病'}) match(c:ZJS{bname:'重度近视'}) match (d:Name{dname:'陈碧莹'}) CREATE (name)-[:患有]->(b) CREATE(name)-[:患有]->(c) CREATE(name)-[:父女]->(d)match(a:Name{dname:'陈佳佳'}) match(b:TNB{bname:'糖尿病'}) CREATE (a)-[:患有]->(b)
python 连接neo4j
首先需要安装这个包
import pandas as pd
from py2neo import Graph, Node, Relationship
这一行是你的数据库。默认的username是neo4j,密码是 第一次设置的
graph = Graph('http://localhost:7474', username='dianzisai', password='0507')
#创建新节点
a=Node('陈碧莹',name='陈碧莹')
graph.create(a)
创建完节点之后你就可以在neo4j查询一下。下面语句或者图中语句都可以。
match(a) return a;
# 创建新节点
a=Node('陈碧莹',name='陈碧莹')
#graph.create(a)
b=Node('车安妮',name='车安妮')
graph.create(b)
#创建关系
e1=Relationship(a, '母女', b)
graph.create(e1)
# 也可以一次性创建
s = a | b
graph.create(s)
# 创建新节点
a=Node('陈碧莹',name='陈碧莹')
# graph.create(a)
# b=Node('车安妮',name='车安妮')
# graph.create(b)
#创建关系
# e1=Relationship(a, '母女', b)
# graph.create(e1)
c=Node('陈柳',name='陈柳')
e2=Relationship(a, '父女', c)
graph.create(e2)
写完这个之后,发现陈碧莹这个节点出现了两个。
这样可以加属性
a=Node('test',name='陈碧莹',jibing1='糖尿病',jibing2='高血压')
知识图谱neo4j入门教程相关推荐
- 知识图谱neo4j入门之魔兽世界人物可视化
前言 系统环境:windows10 这篇文章主要记录 自己学习neo4j环境部署及初步入门使用. 主要参考的链接如下: 魔兽世界简易知识图谱 neosemantics环境配置:tps://www.ji ...
- 手把手教你快速入门知识图谱 - Neo4J教程
手把手教你快速入门知识图谱 - Neo4J教程 前言 1. Neo4J简介 2. Neo4J安装 3. Neo4J使用 4. Cypher查询语言 5. Neo4J实战教程 1. 首先,我们删除数据库 ...
- 知识图谱从入门到应用——知识图谱的知识表示:符号表示方法
分类目录:<知识图谱从入门到应用>总目录 相关文章: · 知识图谱的知识表示:基础知识 · 知识图谱的知识表示:符号表示方法 · 知识图谱的知识表示:向量表示方法 在前面的文章中已经多次提 ...
- 知识图谱从入门到应用——知识图谱的获取与构建:知识工程与知识获取
分类目录:<知识图谱从入门到应用>总目录 知识工程发展历史 在前面的文章中,曾介绍过早期的人工智能有一个流派称为符号主义.符号主义认为智能的本质就是符号的操作和运算.符号主义在后来几大流派 ...
- 知识图谱从入门到应用——知识图谱的应用
分类目录:<知识图谱从入门到应用>总目录 相关文章: · 知识图谱的基础知识 · 知识图谱的发展 · 知识图谱的应用 · 知识图谱的技术结构 知识图谱支持语义搜索 知识图谱源于互联网,所以 ...
- 知识图谱从入门到应用——知识图谱推理:基于表示学习的知识图谱推理-[嵌入学习]
分类目录:<知识图谱从入门到应用>总目录 前面多次提到过,基于符号逻辑的演绎推理的主要缺点是对知识表示的逻辑结构要求比较高,不论是本体推理还是规则推理,都要求人工定义公理和规则才能完成推理 ...
- 知识图谱从入门到应用——知识图谱的技术结构
分类目录:<知识图谱从入门到应用>总目录 相关文章: · 知识图谱的基础知识 · 知识图谱的发展 · 知识图谱的应用 · 知识图谱的技术结构 知识图谱是交叉技术领域 知识图谱是典型的交叉技 ...
- python制作关键图谱_知识图谱neo4j—利用python进行知识入库
知识图谱neo4j-利用python进行知识入库 知识图谱-利用python进行知识入库 作为一个写sql出生的菜鸡,在这里分享一下去年11月到12月之间研究的关于知识图谱的课题相关知识,由于客户的原 ...
- 浅谈知识图谱---neo4j
浅谈知识图谱---neo4j 前言 什么是知识图谱? 什么是neo4j? neo4j安装 代码 github 需求分析 具体步骤 数据xls 最终效果 前言 想研究行人重识别了,发现知识图谱的概念在行 ...
最新文章
- 用UML做好系统分析
- shadowplay要下载java_Java并发程序设计(二)Java并行程序基础
- Java【快速排序、插入排序、简单选择排序...】【八大排序-综合实验】
- aws fargate_借助Fargate和EKS,AWS甚至可以实现Cloud-ier和Kuberneties-ier
- android点击下拉历史记录,uni-app,社交应用中,聊天页面下拉onPullDownRefresh获取历史消息,数据合并之后,滚动到下拉之前的位置,页面看不见闪动,完美解决...
- diff算法_[VUE学习]徒手撸一个虚拟dom+diff算法
- android 仿小米秒表,android实现秒表功能
- mongodb和mysql创建表_MongoDB 数据库创建删除、表(集合)
- 百度发布全新 NLG 训练模型 ERNIE-GEN,获 5 项 SOTA!
- MATLAB 程序出现错误总结
- RedHat 5.6_x86_64 + ASM + RAW+ Oracle 10g RAC (二)
- Android:什么是签名、为什么要给应用程序签名、如何给应用程序签名
- 基于flask实现疫情可视化监控系统
- PDF旋转使用的转换器有哪些
- 数值微积分与方程求解
- c语言数独出题程序,C语言实现的数独解题程序
- deepin 安装vscode
- 原腾讯QQ技术总监、T13专家,黄希彤被裁,原因竟是不愿意被 PUA ?
- Karabiner Elements改键
- 对话霍金弟子:AI能帮助人类到其他星球进行时空旅行 | AI英雄