初步学习知识图谱笔记(一)
1、neo4j下载(neo4j是知识图谱的图数据库)
https://blog.csdn.net/pmrogrammer/article/details/104273609
有详细的下载方法和环境配置方法。
重点:::jdk1.8版本的一定不要安装版本最新的neo4j。3.5.5就好。
2、学习neo4j。
在网页打开neo4j修改密码之后点击write code有导演案例。
3、neo4j的图数据库基本元素与概念
-
节点(node):表示一个实体记录,一个实体包含多个属性和标签。
-
关系(relation):用于将实体构成图,也就是图中的边。
-
属性(porperty):节点和关系都可以由多个属性,属性由键值对组成。
-
标签(lable):标签是指具有拥有相同属性的节点,但不强制要求,一个节点可以有多个标签。
-
路径(path):图中任何两个节点都存在由关系组成的路径。
4、Cypher查询语言
Cypher是一种声明式图数据库查询语言,类似于关系数据库中的SQL。容易上手。
基本语法: -
增:CREAT
-
删:DELETE
-
改:SET
-
查:MATCH
举个例子:佩奇一家。
①:首先创建猪爷爷和猪奶奶:
create (:pig{name:“猪爷爷”,age:15});
create (:pig{name:“猪奶奶”,age:13});
pig是标签 name、age是节点的属性
②:创建两节点之间的关系:
有两种方法: -
通过搜索两个节点,对两个节点的关系进行创建:(普遍用) match (a:pig{name:“猪奶奶”}) match (b:pig{name:“猪爷爷”}) create (a)-[r:夫妻]->(b) return r;
-
直接在创建结点的时候就进行关系的创建:create (:pig{name:“猪爷爷”,age:10})-[:夫妻]->(:pig{name:“猪奶奶”,age:9});
③:对属性进行修改:
MATCH (n:pig{name:“猪妈妈”}) set n.age=8;
修改的是猪妈妈的年龄,先根据标签和属性查找猪妈妈的节点,对其进行引用后,通过set语句进行修改。
④:对节点进行删除:
MATCH (n:die) delete n;
根据查找标签确定节点,进行删除。相关标签的节点都会被删除。
5、查找两节点关系的最短路径
match p=shortestpath((a:pig{name:“猪奶奶”})-[…5]->(b:pig{name:“佩奇”})) return p;
也可用
match p=allshortestpaths((a:pig{name:“猪奶奶”})-[…5]->(b:pig{name:“佩奇”})) return p;
6、查找一个节点有关的所有节点:
return (:pig{name:“猪爸爸”})–>() limit 50
此语句限制多少条语句limit 50。
7、服务器的驱动模式: