【问题标题】: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,而不是 RDF(XML)。)另外...为什么不将数据加载到适当的RDF 三重/四重商店?如果您需要查询结果的 CSV/TSV(这似乎比您需要整个数据集的 CSV/TSV 更有可能),许多 SPARQL 处理器可以提供。 Virtuoso(来自我的雇主),无论是开源还是企业,几乎可以在任何现代笔记本电脑/台式机上处理所有这些问题。
标签:
csv
rdf
json-ld
converters
linked-data
【解决方案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 文件。然而,为了使数据量易于管理,事先配置软件可能很重要。