将 Wiki 数据转储转换为 Gremlin 格式的示例代码

问题描述 投票:0回答:2

您能否分享一个将 Wiki 数据转储转换为 Gremlin 格式的示例代码?

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

gremlin wikidata amazon-neptune wikimedia-dumps
2个回答
1
投票

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

要使用 Gremlin 或 openCypher,需要将数据转换为等效的属性图形式。您确实有几个选择:

    将 RDF 格式数据转换为等效的 CSV 文件格式,以便 Neptune 批量加载器可以为您加载。
  1. 将 RDF 格式数据转换为 Gremlin
  2. addV
    addE
     步骤,或 openCypher 
    CREATE
    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)可能是最佳选择。有很多方法可以解决这个问题。这不是一项超级艰巨的任务。我只是不知道有什么工具可以为你做到这一点(可能有一个,但我只是不知道任何东西)。


© www.soinside.com 2019 - 2024. All rights reserved.