可能JSON-LD值有不同的类型吗?

时间:2014-09-25 08:17:05

标签: json json-ld

是否允许我的JSON-LD格式的特定值可能有不同的类型?例如,我想允许两者

{
  "@context":"example.org/context.jsonld",
  "attr":"pubDate",
  "value":1998
}

{
  "@context":"example.org/context.jsonld",
  "attr":"author",
  "value":"Smith"
}

这里,value曾经是一个整数,一次是一个字符串。通常,值可能是任何类型(也是列表,对象,......)?

如果是这样,我如何在@type

中定义@context个替代品

1 个答案:

答案 0 :(得分:2)

您似乎正在使用attrvalue来形成自己的三元组(即this objectattr value)。但JSON-LD的重点在于你可以表达RDF三元组。例如,使用Dublin Core

{
    "@context": {
        "pubDate": "http://purl.org/dc/elements/1.1/date",
        "author": "http://purl.org/dc/elements/1.1/creator"
    },
    "pubDate": 1988,
    "author": "Smith"
}

当然,如果您必须迎合遗留应用程序,您可以随时留下未被解释为RDF的其他值。

{
    "http://purl.org/dc/elements/1.1/date", 1988,
    "http://purl.org/dc/elements/1.1/creator": "Smith",
    "legacy-attributes": [
        {
            "attr":"pubDate",
            "value": 1988
        },
        {
            "attr":"author",
            "value":"Smith"
        }
    ]
}