0

所有,从 neo4j 开始,它是 restclient 并尝试发送密码查询以删除所有节点:

gdb = GraphDatabase("http://localhost:7474/db/data/")
query1 = """START n=node(*)
MATCH n-[r?]-()
WHERE ID(n) <> 0
DELETE n,r"""
gdb.query(q=query1)

query2 = """start r=node(*) return count(r)"""
print gdb.query(q=query2)[0]

使用第二个查询来计算节点数表明第一个查询没有运行(至少正确)。请注意,query1 在 neo4j 数据浏览器中运行良好。

这里有什么想法吗?

4

1 回答 1

1

您的第一个查询语句仅构建一个QuerySequence对象。除非您需要结果,例如通过尝试访问结果或调用get_response,否则不会执行任何操作。

可以看到节点实际上被删除了:

query1 = """START n=node(*)
         MATCH n-[r?]-()
         WHERE ID(n) <> 0
         DELETE n,r
         RETURN COUNT(n)"""

print gdb.query(query1).get_response()
# something like {u'columns': [u'COUNT(n)'], u'data': [[3]]}
于 2013-05-12T15:18:19.847 回答