py2neo详细介绍第一章

1.1 节点和关系的对象

官网的例子,创建两个节点,并为两个节点创建关系。

from py2neo.data import Node, Relationship
a = Node("Person", name="Alice")
b = Node("Person", name="Bob")
ab = Relationship(a, "KNOWS", b)
print(ab)
# 结果为 (Alice)-[:KNOWS {}]->(Bob)

可以知道创建两个标签为"Person"的节点,并且设置属性name,两个节点的关系为"KNOWS"。

接下来是节点的一些操作:

print(a==b)
# 结果为False
print(a!=b)
# 结果为True
print(a['name'])
print(a['age'])
# 结果为 Alice和None 直接获取属性值,没有的话则是返回None
a['age']=16
# 则是为a添加新的属性'age',并赋值为16

1.2 子图Subgraph对象

模仿官网的例子:

from py2neo.data import Node, Relationship
a = Node("Person", name="Alice")
b = Node("Person", name="Bob")
c=Node("Person",name='Jack')
ab = Relationship(a, "KNOWS", b)
ac=Relationship(a,'WORKWITH',c)

s=ab | ac
for i in s.nodes:
	print(i)
# 结果为:   (:Person {name: 'Alice'})
			(:Person {name: 'Bob'})
			(:Person {name: 'Jack'})
# '|'符号是进行合并的意思,把ab和ac的关系以及节点合并在一起。
for j in s.relationships:
	print(j)
# 结果为:
		(Alice)-[:WORKWITH {}]->(Jack)
		(Alice)-[:KNOWS {}]->(Bob)
# '&'符号的意思是合并,取相交的部分
s=ab & ac
for j in s.nodes:
	print(j)
# 结果为 (:Person {name: 'Alice'})

# '-'符号为取两者不同的部分
s=ab - ac
for j in s.nodes:
	print(j)
# 结果为 (:Person {name: 'Bob'})
		(:Person {name: 'Alice'})

1.3 路径Path对象和可遍历Walkable类型##

w = ab + Relationship(b, "LIKES", c) + ac
print(w)
# (Alice)-[:KNOWS]->(Bob)-[:LIKES]->(Carol)<-[:WORKS_WITH]-(Alice)

博主开通了微信公众号 “python做些事” 会定期更新python和AI知识,关注之后python技能直线上升

posted @ 2020-06-02 17:00  奶茶喝不胖  阅读(1428)  评论(0编辑  收藏  举报