py2neo,创建一个节点?两种方式?

时间:2016-02-17 17:27:02

标签: py2neo

我很困惑,下面两种创建节点的方法有什么区别?看起来结果是一样的;

from py2neo import Graph
graph = Graph()

graph.cypher.execute("CREATE (a:Person {name:{N}})", {"N": "Alice"})  # a
graph.create( Node("Person",name="Alice"))  # b

2 个答案:

答案 0 :(得分:1)

查看py2neo v3文档,似乎还有第三种创建节点的方法。

首先实例化一个Node对象,如

a = Node("Person",name="Alice")

然后将其插入子图中(参见py2neo类型),

sg = Subgraph(a)

然后创建此子图的元素(Graph.create方法):

graph.create(sg)

据我所知,在创建大量节点和边(子图...)时,首选创建子图。

答案 1 :(得分:0)

你是对的,结果完全一样。 Py2neo公开了两个级别的API:纯粹的Cypher API(lsattr /tmp/test.py)和更简单的基于对象的API(execute)。后者通常更容易启动和运行,前者更全面。