1. 程式人生 > 其它 >用py2neo對Neo4j進行資料的增刪改查(二)

用py2neo對Neo4j進行資料的增刪改查(二)

  這裡接著上一篇的內容,進行關係的建立和關係的查詢。

2.4 建立兩個節點間的關係

  建立關係時用函式 Relationship() 函式。格式為relation = Relationship(start_node, relationship, end_node) 。start_node為開始節點,end_node為結束節點,relationship 為兩節點間的關係。需要知道的是,Neo4j 的關係都是有向的,這裡的關係詞是由start_node 指向 end_node 的關係。建立後,通過graph.create(relation) 匯入Neo4j。

from py2neo import
Graph, Node, Relationship from py2neo.matching import * case = node_matcher.match('判決文書', name = 'XXX刑事判決書').first() # 獲得name為XXX刑事判決文書的“判決文書”類 節點 people = node_matcher.match('被告人','', name = 'XXX').first() # 獲得name為“XXX”的“被告人”類節點 relation = Relationship(case, '被告人', people) # 建立判決文書和被告人間的關係,關係詞為“被告人”
graph.create(relation) # 將建立傳遞到圖上

  如果建立新的節點和關係怎麼辦,很簡單,先建立節點,再建立關係(注意哦,這個和後續可能的刪除順序是相反的),比如下面示例。我們就不用查詢已有節點的,直接將建立的節點用Relationship 連線就好了。但是可能 create 需要逐步來。我自己嘗試的時候是不能批量 create 的,如果是需要批量建立節點,建議直接查詢 Neo4j 批量建立節點尋找方法,Neo4j 是提供多種批量匯入方式的。

from py2neo import Graph, Node, Relationship

case = node_matcher.match('
判決文書', name = 'XXX刑事判決書').first() people = node_matcher.match('被告人','', name = 'XXX').first() relation = Relationship(case, '被告人', people) graph.create(relation)

2.5 建立以某種關係連線的兩個節點或者之間有路徑的兩個節點