“复合”JSON对象的外部@context文件?

时间:2016-11-07 20:57:26

标签: rdf json-ld linked-data

TL; DR:

鉴于:

  • Ca 是一个描述JSON对象A的JSON-LD @context文件;
  • Cb 是一个描述JSON对象B的JSON-LD @context文件;
  • 每个B JSON对象都包含一个元素,其赋值为A对象;

1)如何在 Cb 中描述A和B之间的这种关系?它是@type@id还是内@context

2)如果A对象在用作B对象的值时,表示词汇表中描述的内容,例如 schema.org ,那该怎么办< em>两个的关系在 Cb

中描述

我的API的一些用户根本不想要元数据,所以我有纯JSON作为默认响应格式,我想使用JSON-LD @context文件作为一个简单的语法和语义模式,如果用户想要一个,根据https://www.w3.org/TR/json-ld/#interpreting-json-as-json-ld

如果我得到了正确的答案,如果我有一个使用原始类型的简单数据结构,那么JSON-LD文件就会很简单 - 就像这样,用于定义事件的某个部分:

{
  "@context": {
    "schema": "http://schema.org/docs/schema_org_rdfa.html",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "titulo": {
      "@id": "schema:name",
      "@type": "xsd:string"
    },
    "dataHoraInicio": {
      "@id": "schema:startDate",
      "@type": "xsd:dateTime"
    },
    "dataHoraFim": {
      "@id": "schema:endDate",
      "@type": "xsd:dateTime"
    }
  }
}

但我的一些JSON结构中嵌入了一些其他结构。换句话说:在我的一些JSON结构中,有些元素接收我的API的JSON结构中的其他一些值。例如,语音的表示可能包含一个名为“momento”的元素,其值将是上面提到的表示事件一部分的结构。

如果是这样,我应该如何在外部JSON-LD @context文件中表示实体之间的“组合”关系?我应该如何描述“momento”是什么以及它在JSON-LD @context文件中收到的值?

在这里浏览其他问题,我发现an external @context being referred to by another @context file没有问题。但我是否必须使用其他文件的URL作为@id的值?或@type?或者采用与原始数据类型完全不同的方式?

如果这些嵌套/引用的数据结构中的一些用词汇表术语分类怎么办?例如,我想表达“momento”可以理解为schema.org的“事件”,同时我想表达它作为值所采用的对象在另一个JSON-LD文件中描述。

非常感谢!

0 个答案:

没有答案