4

我下载了 Freebase 的数据库转储。文件格式为 rdf turtle。我需要将所有数据放入neo4j 数据库。

我已经在 tinkerpop.blueprints 的帮助下编写了一个导入器。首先它似乎可以工作,但在导入 30 分钟后发生异常,因为 rdf 文件在不允许出现的位置包含字符。稍后(经过一些调查)我发现我使用的耶拿解析器(RDFReader)已被弃用,不应该使用。

我现在需要知道的:

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

这些文件格式中的一种(或多种)是否有导入器?

4

3 回答 3

6

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

您最好的选择可能是阅读Neo4j 链接数据页面,特别是 Michael Bach 关于导入 Turtle Ontologies和 Stefanie Wiegand 关于Neo4j 中的 OWL的博客文章。

既然你提到了蓝图,你可能想看看使用Sesame 和 Sail。您应该能够将 Neo4j 视为三重存储,并与您的 Freebase 三重存储实现方便的界面统一性。有关如何将其用于导入 DBPedia 转储的示例,请参见dbpedia4neo ,您的情况应该类似。

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

于 2013-10-30T10:15:08.733 回答
6

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

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

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

编辑

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

于 2017-08-24T12:42:17.640 回答
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/

希望这可以帮助。

于 2014-03-19T20:08:25.080 回答