如何引用JSON-LD中的RDF语句?如何陈述语句



假设您有一个简单的RDF语句x:Object x:predicate x:Subject,它在JSON-LD中表示为{"@id": "x:Object", "x:predicate": {"@id": "x:Subject"}}。你如何指称具体的宾语-谓语-主语关系,你如何"称呼"事实关系?JSON-LD中语句的"@id"或内联标识是什么?你如何将"元数据"归属于一个语句?

在JSON-LD中,主题是另一个语句,例如[x:Subject x:predicate x:Object] x:metaPredicate x:MetaObject,您如何表达语句?

如何在JSON-LD中表达语句,其中对象是另一个语句,例如x:MetaSubject x:metaPredicate [x:Subject x:predicate x:Object]

如何在JSON-LD中表达语句,其中谓词是另一个语句(奇怪但可能),例如x:MetaSubject [x:Subject x:predicate x:Object] x:MetaObject

(附言:我意识到我的示例的[]语法不符合Turtle,但它们用来表达我的想法/问题。)

您需要使用具体化,有一个标准化的词汇表。在JSON-LD中,它看起来有点像这样:

{
  "@context": {
    "rdf": "http://www.w3.org/1999/02/22-rdf-syntax-ns#",
    "subject": { "@id": "rdf:subject", "@type": "@id" },
    "predicate": { "@id": "rdf:predicate", "@type": "@id" },
    "object": { "@id": "rdf:object", "@type": "@id" }
  },
  "@type": "rdf:Statement",
  "subject": "x:Subject",
  "predicate": "x:predicate",
  "object": { "@id": "x:Object" },
  "x:metaPredicate": "x:MetaObject"
}

现在可以使用JSON-LD*JSON LD星在JSON-LD中引用RDF三元组。

引用三元组作为主语

JSON-LD*构建在RDF*之上,RDF*已经得到一些工具的支持,并使使用RDF三元组代替主题成为可能,例如:

<< s pred o >> pred2 o2

这样:

{
  "@id": {"@id": "s", "pred": {"@id": "o"}},
  "pred2": {"@id": "o2" }
}

引用三元组作为对象

需要注意的是,使用RDF三元组作为对象的JSON-LD结构有点尴尬,这是:

s pred << s2 pred2 o >>

需要@reverse,如下所示:

{
  "@id": {
    "@id": "s2",
    "pred2": {"@id": "o"}
  },
  "@reverse": {
    "pred": {"@id": "s"}
  }
}

另请参阅

  • W3C社区组JSON LD星形规范草案

相关内容

  • 没有找到相关文章

最新更新