将json转换为乌龟

问题描述

我正在寻找将 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,即链接数据的 JSON。这是连接 JSON 和 RDF 的主要方式,适用于您想发布 RDF 兼容数据但出于某种原因想要保留主要 JSON 结构的情况。您不需要使用 Turtle,因为大多数工具应该能够很好地处理 JSON-LD。

您只需添加一个 @context 属性,该属性描述键和值如何映射到 RDF 词汇表。如果您有一项定期使用 JSON 通信的服务,则无需其他任何内容。

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

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

,

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...