【问题标题】:Convert huge linked data dumps (RDF/XML, JSON-LD, TTL) to TSV/CSV将大量链接数据转储(RDF/XML、JSON-LD、TTL)转换为 TSV/CSV
【发布时间】:2019-11-07 04:42:20
【问题描述】:

链接的数据集合通常以 RDF/XML、JSON-LD 或 TTL 格式给出。相对较大的数据转储似乎很难处理。将 RDF/XML 文件转换为链接数据三元组的 TSV 的好方法是什么?

我已经尝试过 OpenRefine,它应该可以处理这个问题,但是一个 10GB 的文件(例如 person authority information from German National Library)太难以在具有良好处理能力的笔记本电脑上处理。

寻找软件推荐或一些例如Python/R 代码来转换它。谢谢!

【问题讨论】:

  • (注意——它是 RDF/XML,而不是 RDF(XML)。)另外...为什么不将数据加载到适当的RDF 三重/四重商店?如果您需要查询结果的 CSV/TSV(这似乎比您需要整个数据集的 CSV/TSV 更有可能),许多 SPARQL 处理器可以提供。 Virtuoso(来自我的雇主),无论是开源还是企业,几乎可以在任何现代笔记本电脑/台式机上处理所有这些问题。

标签: csv rdf json-ld converters linked-data


【解决方案1】:

试试这些:

Lobid GND API

http://lobid.org/gnd/api

支持 OpenRefine(参见 blogpost)和各种其他查询。数据以 JSON-LD (see context) 形式托管在 elasticsearch 集群中。该服务提供了丰富的 HTTP-API。

使用三重商店

将数据加载到您选择的三重存储,例如rdf4j。许多三元存储提供某种 CSV 序列化。与 SPARQL 一起使用可能值得一试。

加特曼杜

http://librecat.org/Catmandu/

一个强大的基于 perl 的数据工具包,附带一组有用的即用型转换管道。

元构造

https://github.com/metafacture/metafacture-core/wiki

用于设计 Java 转换管道的 Java 工具包。

【讨论】:

    【解决方案2】:

    Canonical N-Triples 可能已经是您所追求的,因为它本质上是一种基于空格分隔的基于行的 RDF 格式(但您不能天真地在空格处拆分,因为您需要注意文字,见下文)。在您引用的数据集中,许多文件都以 N-Triples 的形式提供。如果没有,请使用 rapper 之类的解析工具来转换为 N-Triples,例如。

    rapper -i turtle -o ntriples rdf-file-in-turtle-format.ttl > rdf-file-in-ntriples-format.nt
    

    通常,n-triples 导出器不会利用规范中有关空白的所有内容,而是使用规范的 n-triples。因此,给定规范的 n-triples 文件中的一行,例如:

    <http://example.org/s> <http://example.org/p> "a literal" .
    

    您可以通过用逗号替换一行的第一个和第二个空格字符并删除最后一个空格字符之后的所有内容(包括最后一个空格字符)来获取 CSV。由于文字是唯一允许使用空格的 RDF 术语,并且文字只允许在对象位置中,因此这应该适用于规范的 n-三元组。

    您可以通过用制表符替换上述空格字符来获得 TSV。如果您还对最后一个空格字符执行此操作并且不删除点,那么您将拥有一个既是有效的 n-triples 文件又是 TSV 文件的文件。如果您将这些位置作为拆分位置,则无需转换为 CSV/TSV 即可处理规范的 n-triples 文件。

    请注意,您可能必须处理 RDF 术语中的逗号/制表符(例如通过转义),但该问题存在于 RDF 作为 CSV/TSV 的任何解决方案中。

    【讨论】:

      【解决方案3】:

      您可以使用本体编辑器Protege:在那里,您可以根据需要对数据进行 SPARQL 处理并将它们保存为 TSV 文件。然而,为了使数据量易于管理,事先配置软件可能很重要。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-01-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多