py2neo,为什么我们需要做推/拉/提交等等?这是我们在实际的python程序中需要做的事情吗?

时间:2016-02-17 15:39:23

标签: py2neo

在网站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)

1 个答案:

答案 0 :(得分:0)

推送和拉动被明确地引入到允许完全控制网络流量的方法中。早期版本的库发送和接收服务器上的更改,因为它们是在客户端上进行的。这是低效的,因为对每个单独的属性更改等进行了单独的HTTP请求。当前的推/拉API在某种程度上通过将同步控制传递给应用程序开发人员来建模。