用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  创建以某种关系连接的两个节点或者之间有路径的两个节点

上一篇:安装Neo4j数据库


下一篇:mysql笔记1: 了解mysql