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技能直线上升