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