我正在尝试使用 python 创建节点和与数据库的关系,但这需要太多时间。我使用官方的 neo4j-driver 库并通过 Bolt 协议连接到数据库。
from neo4j import GraphDatabase
driver = GraphDatabase.driver('bolt://localhost:7687', auth=(user, pass))
我编写程序来创建大约 13,000 个节点和 642,000 个关系,大约需要 12 个小时。
session = driver.session()
def createNode(props):
Label = 'SINGLE_NODE'
return session.run("CREATE (a:"+Label+" {props}) "
"RETURN id(a)", {'props':props}).single().value()
def createRelation(n1,n2,props):
Label = 'SINGLE_NODE'
return session.run("MATCH (a:"+Label+"),(b:"+Label+")
WHERE id(a) = {n1} AND id(b) = {n2} "
"CREATE (a)-[rel:IS_CONNECTED {props}]->(b)
RETURN rel", {'n1':n1,'n2':n2,'props':props}).single().value()
在我使用 neo4j-driver 之前,我曾经使用 py2neo,但它比 neo4j-driver 慢一点。那么有什么建议可以加快程序处理速度。谢谢你