Python neo4j处理数据快吗?对我来说太慢了
我正在检查neo4j以处理数据。 但它太慢了,看到重新发布的论文,neo4j可以处理数十亿个节点和边缘。但只要看看下面的代码和数千个节点,它就太慢了。有没有其他好的或合适的方法来使用它或特殊的设置 谢谢Python neo4j处理数据快吗?对我来说太慢了,python,neo4j,graph-databases,Python,Neo4j,Graph Databases,我正在检查neo4j以处理数据。 但它太慢了,看到重新发布的论文,neo4j可以处理数十亿个节点和边缘。但只要看看下面的代码和数千个节点,它就太慢了。有没有其他好的或合适的方法来使用它或特殊的设置 谢谢 from neo4j.v1 import GraphDatabase, basic_auth driver = GraphDatabase.driver("bolt://192.168.0.69:6969", auth=basic_auth("c8c8", "c8c8")) session =
from neo4j.v1 import GraphDatabase, basic_auth
driver = GraphDatabase.driver("bolt://192.168.0.69:6969", auth=basic_auth("c8c8", "c8c8"))
session = driver.session()
session.run("CREATE (a:Person2 {name: {name}, title: {title}})",
{"name": "Arthur", "title": "King"})
for i in range(3000):
tt = "CREATE (a:Person" + str(i) + " {name: {name}, title: {title}})"
session.run(tt,
{"name": "Arthur", "title": "King"})
print (i)
result = session.run("MATCH (a:Person) WHERE a.name = {name} "
"RETURN a.name AS name, a.title AS title",
{"name": "Arthur"})
for record in result:
print("%s %s" % (record["title"], record["name"]))
session.close()
这里有三件大事需要解决 首先,您需要在:Person(name)上创建索引,以便在末尾快速查找 第二,在查询和循环中不应该使用不同的标签
:Person
工作正常,无需使用:Person2
或循环中的其他人员标签。如果希望循环中有不同的值,请将循环编号附加到名称或标题,而不是标签
第二个问题是,在循环的每个迭代中执行一个事务,这将导致糟糕的性能
最好通过批处理接收数据,传递一个数据列表,您将在Cypher中释放这些数据。只有3000个条目,您实际上可以在一个事务中处理这些条目
给你