我有一个非常大的XML文件(2Gb),我试图用Python将它上传到neo4j。我正在创建一本字典
mydata = etree.parse("myfile.xml")
data = mydata.getroot()
data_list = {}
temp_elt = {} #will hold each element
j=0
for pub in data:
for elt in pub.getchildren():
temp_elt[elt.tag] = elt.text
data_list[j] = temp_elt
j=j+1
temp_elt = {}
这不需要很长时间(考虑到大量数据)
然后我尝试上传到neo4j:
graph = Graph("http://localhost:7474/db/data/")
graph.delete_all()
for element in data_list:
authnode = Node("Person",author=data_list[element]["author"])
pubnode = Node(data_list[element]["type"],title=data_list[element]["title"])
graph.merge(authnode)
graph.merge(pubnode)
graph.merge(Relationship(authnode,"wrote",pubnode))
这部分需要几天,如果不是几周。
我发现的最相似的问题是:Importing a large xml file to Neo4j with Py2neo 但是这里建议将xml文件转换为csv文件,这个文件本身至少需要整整一周,所以csv不是一个选项。
其他人建议使用Geoff格式,但是load2neo驱动程序暂时没有更新,我似乎无法安装它。
有什么建议吗?