Neo4j在python中的基础操作
Neo4j基础知识
一、基本概念
- 标签:一个节点可以有一个以上的标签
- 节点:节点是指一个实实在在的对象,这个对象可以有好多的标签,表示对象的种类,也可以有好多的属性,描述其特征,节点与节点之间还可以形成多个有方向(或者没有方向)的关系.
- 关系:用来描述节点与节点之间的关系.
- 属性:描述节点的特性,采用的是
Key-Value
结构,可以随意设定来描述节点的特征。
二、查询语法
序号 | 关键字 | 关键字作用 |
---|---|---|
1 | CREATE | 创建 |
2 | MATCH | 匹配 |
3 | RETURN | 加载 |
4 | WHERE | 过滤检索条件 |
5 | DELETE | 删除节点和关系 |
6 | REMOVE | 删除节点和关系的属性 |
7 | ORDER BY | 排序 |
8 | SET | 添加或更新属性 |
三、基本操作
# 删除操作
match (信息:个案信息) where 信息.姓名 ="张琳" delete 信息 #切结后面的的=要加""
#创建关系
match(a:个案信息{姓名:"张琳"}),(b:个案信息{姓名:"杨子良"}) merge (a)-[:爸爸]->(b)
#快速清空整个数据库
MATCH (n)
DETACH DELETE n
四、python中的基本操作
from py2neo import Graph,Node, Relationship
test_graph = Graph("http://localhost:7474", auth=("*****","*******")) #新版py2neo的密码登录方式
a = Node('Person', name='Alice') #我觉得a就代表着这个节点
b = Node('Person', name='Bob')
r = Relationship(a, 'KNOWS', b)
a['age'] = 20 #添加属性
b['age'] = 21
r['time'] = '2017/08/31'
a.setdefault('location', '北京') #通过 setdefault() 方法赋值默认属性
#利用updata进行批量更新
data = {'name': 'Amy','age': 21}
a.update(data)
print(a, b, r)
#构建子图:是 Node 和 Relationship 的集合
a = Node('Person', name='Alice')
b = Node('Person', name='Bob')
r = Relationship(a, 'KNOWS', b)
s = a | b | r
print(s)
#使用 order_by() 进行排序
from py2neo import Graph, NodeMatcher
graph = Graph(password='123456')
selector = NodeMatcher(graph)
persons = selector.select('Person').order_by('_.age')
print(list(persons))
记录学习的点点滴滴