Neo4J';s创建、拉动和创建_unique

Neo4J';s创建、拉动和创建_unique,neo4j,py2neo,Neo4j,Py2neo,我们正在使用Neo4J和Python(py2neo)。我可以确认graph.create(),graph.pull(),和graph.create\u unique()所有人都用SQL语言“提交”了他们的工作吗?他们看起来确实如此,但现在不是假设的正确时机 我读过,但我没有看到“永久”这样的字眼。在SQL数据库中,一个未提交的事务在事务中时看起来是永久的…您可以通过使用py2neo的监视准确地看到发生了什么: >>> from py2neo import watch, Grap

我们正在使用Neo4J和Python(py2neo)。我可以确认
graph.create()
graph.pull()
,和
graph.create\u unique()
所有人都用SQL语言“提交”了他们的工作吗?他们看起来确实如此,但现在不是假设的正确时机


我读过,但我没有看到“永久”这样的字眼。在SQL数据库中,一个未提交的事务在事务中时看起来是永久的…

您可以通过使用
py2neo
监视
准确地看到发生了什么:

>>> from py2neo import watch, Graph, Node
>>> watch("httpstream")
>>> graph = Graph()
>>> nicole = Node("Person", name="Nicole")
>>> graph.create(nicole)
> POST http://localhost:7474/db/data/cypher [80]
因此,您可以看到
graph.create
正在使用。如果要使用事务端点,最好使用事务:

>>> tx = graph.cypher.begin()
>>> tx.append("CREATE (n:Person) SET n = {props}", props={"name":"Nicole"})
>>> tx.commit()
> POST http://localhost:7474/db/data/transaction/commit [137]

这显然是在使用.

但是,要明确的是,传统的Cypher端点也是事务性的。它只是不允许您在多个Cypher请求之间保持同一事务的打开状态。相反,它在每个请求结束时提交。因此,没有必要担心:-)。当然,您也不能同时执行多个语句,这比在请求之间保留一个tx更为不利。