我有一个如下所示的XML文件:
<rebase>
<Organism>
<Name>Aminomonas paucivorans</Name>
<Enzyme>M1.Apa12260I</Enzyme>
<Motif>GGAGNNNNNGGC</Motif>
<Enzyme>M2.Apa12260I</Enzyme>
<Motif>GGAGNNNNNGGC</Motif>
</Organism>
<Organism>
<Name>Bacillus cellulosilyticus</Name>
<Enzyme>M1.BceNI</Enzyme>
<Motif>CCCNNNNNCTC</Motif>
<Enzyme>M2.BceNI</Enzyme>
<Motif>CCCNNNNNCTC</Motif>
</Organism>
</rebase>
我想将这个XML数据可视化为图形格式。连通性是这样的,很多enzymes
可以包含公共的motifs
,但是{neo4j
提供的可视化效果非常兴奋,但我需要从头开始学习。不过,我还没有找到任何关于通过XML数据集导入或创建neo4j
中的图形的好教程。我知道在编程的世界里,任何事情都是可能的,所以我想知道如何将数据导入neo4j数据库(最好使用python
)来可视化数据。在
更新
我试着遵循这个answer(这个问题下的第二个答案)。我创建了他建议的2CSV
文件。但是查询有很多语法错误,例如:
Invalid input 'S': expected 'n/N' (line 6, column 2)
"USING PERIODIC COMMIT"
WITH is required between CREATE and LOAD CSV (line 6, column 1)
"MATCH (o:Organism { name: csvLine.name}),(m:Motif { name: csvLine.motif})"
我的cypher
查询技能非常有限,而且我无法让任何imports
工作,因此我自己修复查询是非常困难的。任何帮助都将不胜感激
为此,我建议直接使用gephi。至少一年前,它完美地工作了,它支持直接导入xml/csv数据格式,而且不需要使用
neo4j
作为预处理器。在编辑
哦,我明白了,我想连接已经包括在内了。在这种情况下,必须将xml中的所有数据创建为一个单独的节点—每个}以及每个{}(带有参数}节点连接起来。完成后,查询/可视化相似的节点就没有问题了,因为公共节点至少共享
enzyme
和{name
)的新节点。那些enzyme
nadmotif
节点必须是唯一的,即没有重复。当创建一个organism
节点时,可以通过关系将organism
与其enzyme
和{enzyme/motif
中的一个。在我不知道将数据
xml
导入到neo4j的任何聪明方法,但是将其转换为两个csv
文件应该没有问题。csv的格式应该是:第一个文件:
第二个文件(我不明白为什么
^{pr2}$motif
是重复的思想):现在我们要做的是import,它创建了唯一的节点和关系(因此,上面的重复
motifs
只会转换成1个唯一的关系)(如果必要,也可以对同一个motif
节点有多个关系):(我不确定是否使用此导入,但它应该可以工作):
这将创建包含2个生物体节点、4个酶节点和2个motif节点的图。每个生物节点都应该与其酶和基序有关系。完成后,您可以前进到前面描述的可视化部分。在
还有一系列关于如何将XML导入Neo4j的文章
首先,您应该对数据的图形外观进行建模,您的用例需要哪些实体,以及哪些语义连接。在
一般来说,如果可以用python加载数据,可以使用py2neo或neo4jrestclient(参见http://neo4j.org/develop/python)将数据导入模型中。在
相关问题 更多 >
编程相关推荐