你能分享一个将维基数据转储转换为Gremlin格式的示例代码吗?
我想将转换后的Gremlin CSV数据加载到AWS Neptune中。
正如您在另一个问题中所讨论的,AmazonNeptune很乐意直接加载RDF格式的数据,但您需要使用SPARQL进行查询。除非您绝对需要将数据转换为属性图格式,否则按原样加载数据并使用SPARQL将使您快速启动并运行。
要使用Gremlin或openCypher,需要将数据转换为等效的属性图形式
- 将RDF格式的数据转换为等效的CSV文件格式,以便Neptune批量加载器可以为您加载它
- 将RDF格式的数据转换为Gremlin
addV
和addE
步骤,或openCypherCREATE
和MERGE
子句
如果有大量数据要加载,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(可能是可行的。有很多方法可以解决这个问题。这不是一项非常艰巨的任务。我只是不知道有什么工具可以为你做这件事(可能有,但我只是什么都不知道(。