在网站Py2neo 2.0简介中
http://py2neo.org/2.0/intro.html
为什么我们需要Pushing&拉? 还有graph.cypher.begin()和commit()。如下
tx = graph.cypher.begin()
for name in ["Alice", "Bob", "Carol"]:
tx.append("CREATE (person:Person {name:{name}})
RETURN person", name=name)
alice, bob, carol = [result.one for result in tx.commit()]
friends = Path(alice, "KNOWS", bob, "KNOWS", carol)
graph.create(friends)`
我使用了一个小py2neo程序,如下所示,它也有效(至少我可以在localhost:7474上看到它)?请解释两种不同的方法,谢谢
alice = Node("Person", name="Alice")
bob = Node("Person", name="Bob")
alice_knows_bob = Relationship(alice, "KNOWS", bob)
graph.create(alice_knows_bob)
答案 0 :(得分:0)
推送和拉动被明确地引入到允许完全控制网络流量的方法中。早期版本的库发送和接收服务器上的更改,因为它们是在客户端上进行的。这是低效的,因为对每个单独的属性更改等进行了单独的HTTP请求。当前的推/拉API在某种程度上通过将同步控制传递给应用程序开发人员来建模。