将Wikidata转储转换为Gremlin格式的示例代码



你能分享一个将维基数据转储转换为Gremlin格式的示例代码吗?

我想将转换后的Gremlin CSV数据加载到AWS Neptune中。

正如您在另一个问题中所讨论的,AmazonNeptune很乐意直接加载RDF格式的数据,但您需要使用SPARQL进行查询。除非您绝对需要将数据转换为属性图格式,否则按原样加载数据并使用SPARQL将使您快速启动并运行。

要使用Gremlin或openCypher,需要将数据转换为等效的属性图形式

  1. 将RDF格式的数据转换为等效的CSV文件格式,以便Neptune批量加载器可以为您加载它
  2. 将RDF格式的数据转换为GremlinaddVaddE步骤,或openCypherCREATEMERGE子句

如果有大量数据要加载,CSV文件和批量加载程序将是更容易的途径。

从RDF格式转换为属性图格式非常容易。我知道一些工具会走另一条路(CSV到RDF(,但没有一个工具会把TTL文件(比方说(变成CSV。

如果您能够轻松地编写一些代码,那么您真正需要的只是一个Python或Ruby脚本,那么转换这些数据非常简单。您只需要将三重模式转换为节点和边(具有属性(。

所以,想象一下,在RDF中,你有三元组,它们本质上是这种形式的

max a dog 
fido a dog 
max age 3 
fido age 6 
max likes fido

最终将创建两个节点、两个特性和一条边。

在CSV形式中,节点想要

~id, ~label, age
max,dog,3
fido,dog,6

边缘将是

~id,~label,~from,~to
e1,likes,max,fido

如果您计划转换所有数据,而这对于基于脚本的方法来说太多了,那么使用大数据ETL方法(如Spark(可能是可行的。有很多方法可以解决这个问题。这不是一项非常艰巨的任务。我只是不知道有什么工具可以为你做这件事(可能有,但我只是什么都不知道(。

相关内容

  • 没有找到相关文章

最新更新