我很困惑,下面两种创建节点的方法有什么区别?看起来结果是一样的;
from py2neo import Graph
graph = Graph()
graph.cypher.execute("CREATE (a:Person {name:{N}})", {"N": "Alice"}) # a
graph.create( Node("Person",name="Alice")) # b
答案 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
)。后者通常更容易启动和运行,前者更全面。