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))