【问题标题】:converting json to turtle将 json 转换为海龟
【发布时间】:2021-06-01 06:33:31
【问题描述】:

我正在寻找将 json 转换为海龟格式的工具。

例如:

{
    "name": "Bart Simpson",
    "age": "11"
}

类似于:

@base <http://example.com/people> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix people: <http://example.com/people.rdf> .

<http://example.com/people_1> people:name "Bart Simpson" ; 
             people:age "11" .

对我来说,挑战在于确定执行转换的正确步骤。 看来我需要先定义一个词汇表,比如http://example.com/people.rdf。但我不清楚如何定义词汇表。

另外,我正在寻找使用给定词汇表进行 json2turtle 转换的工具。

我可能在这里误解了链接数据的概念。如果这个问题没有意义,请告诉我。

【问题讨论】:

  • 请先看看 JSON-LD。

标签: rdf semantics linked-data turtle-rdf


【解决方案1】:

考虑您打算如何使用该工具很有用。正如 cmets 中所建议的,您应该首先查看 JSON-LD,即用于关联数据的 JSON。这是连接 JSON 和 RDF 的主要方式,适用于您想要发布 RDF 兼容的数据但出于某种原因想要保留主要 JSON 结构的情况。您不需要使用 Turtle,因为大多数工具应该能够很好地处理 JSON-LD。

您只需要添加一个@context 属性,它描述了键和值如何映射到RDF 词汇表。如果您有一个定期以 JSON 进行通信的服务,则不需要其他任何内容。

当然还有其他工具,直接映射或 Tarql 之类的。如果您有一个大型数据集并且只是想对其进行转换然后就完成了,则可以使用它们,但是当您只需要 @context (并且足够)时,我认为将它们合并到您的管道中是不值得的。

同样在 RDF 中,您不必定义一个词汇表来使用它。某些消费者可能需要它,推理可能需要它,它通常很有用,但您可以稍后再做(有点像您可以发布 XML 数据而不链接到 DTD/模式)。

【讨论】:

    【解决方案2】:

    使用JARQL,您可以对 JSON 文件使用 SPARQL 构造查询,从而在您想要的任何序列化(Turtle、RDF/XML 等)中创建 RDF。

    【讨论】:

    • 谢谢!虽然 JARQL 专注于基于 JSON 到 RDF 的查询,但它确实引导我使用格式转换工具 JSON2RDF
    猜你喜欢
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 2018-04-23
    • 2019-04-15
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多