将RDF(XML或Turtle)导入Neo4j

时间:2013-10-30 07:42:05

标签: neo4j rdf jena

我下载了Freebase的数据库转储。格式 该文件是rdf turtle。我需要获取所有数据 进入neo4j数据库。

我已经在tinkerpop.blueprints的帮助下写了一个导入器。 首先,它似乎工作,但导入30分钟后 由于rdf文件包含字符而发生异常 在他们不被允许的位置。一点点 后来(经过一番调查)我发现了耶拿 我使用的解析器(RDFReader)已弃用,不应使用。

我现在需要知道的事情:

有没有办法将该rdf文件导入neo4j? Jena能够将数据转换为七种不同的数据 文件格式:.ttl,.rdf,.ne,.jsonld,.owl,.trig,.nq。

是否有一个(或多个)这些文件格式的导入程序?

3 个答案:

答案 0 :(得分:6)

plugin允许您将RDF数据导入Neo4j。您只需将semantics.liteOntoImport.jar-File放入您的插件文件夹中,然后在您调用的Neo4j命令行中输入:

CALL semantics.liteOntoImport('file:///filename.owl','RDF/XML')

因此,您的文件应该位于Neo4j的导入目录中。如果不是,则应输入完整路径。

修改

相同的过程适用于.xml和.ttl文件,只需在命令行中更改文件的类型(第二个参数),例如'龟'

答案 1 :(得分:5)

如果导入器是指可以将RDF文件作为参数传递给的可执行文件,那么就我所知,不是。你必须编写代码,但可能不是很多。

您最好的选择可能是阅读Neo4j Linked Data页面,特别是Michael Bach关于importing Turtle Ontologies和Stefanie Wiegand关于OWL in Neo4j的博客文章。

由于您提到了蓝图,您可能需要查看使用Sesame and Sail。您应该能够将Neo4j视为三重存储,并与Freebase三重存储实现方便的界面一致性。有关如何使用它来导入DBPedia转储的示例,请参阅dbpedia4neo,您的情况应该类似。

但是,您表示无法解析Freebase数据。如果您的数据已损坏,无论您选择如何与Neo4j进行交互,都必须处理该数据。对于各种项目,我和Jena Model的默认和本体都有很好的经验,我不确定为什么你认为不应该使用它们。你需要的是调整你已经编写的导入器而不是一个新的方法吗?

答案 2 :(得分:3)

您可以尝试以下操作将数据库导入neo4j。

首先将数据库转换为csv文件并将其导入Gephi - 图形可视化工具。然后通过使用Gephi插件获得neo4j数据库支持,您应该能够将您的数据库(从Gephi)导出为neo4j格式。

最后,只需将导出的文件复制到适当的neo4j目录中。

要将数据库导入Gephi,您需要两个csv文件 - 一个包含所有节点,另一个包含所有关系。请遵循本教程:http://blog.neo4j.org/2013/01/fun-with-beer-and-graphs.html

从这里获取Gephi:https://gephi.org/

从此处获取插件:https://marketplace.gephi.org/plugin/neo4j-graph-database-support/

希望这会有所帮助。