gpt4 book ai didi

schema.org - 必须在 JSON-LD 中显式输入 type=@id 值吗?

转载 作者:行者123 更新时间:2023-12-05 01:16:29 25 4
gpt4 key购买 nike

我正在结合 schema.org 专门研究 JSON-LD。

schema.org/Person 的一个 Json-LD 示例让我觉得错了:

        {
"@context": "http://schema.org",
"@type": "Person",
"address": {
"@type": "PostalAddress",
"addressLocality": "Seattle",
"addressRegion": "WA",
"postalCode": "98052",
"streetAddress": "20341 Whitworth Institute 405 N. Whitworth"
},
"colleague": [
"http://www.xyz.edu/students/alicejones.html",
"http://www.xyz.edu/students/bobsmith.html"
],
"email": "mailto:jane-doe@xyz.edu",
"image": "janedoe.jpg",
"jobTitle": "Professor",
"name": "Jane Doe",
"telephone": "(425) 123-4567",
"url": "http://www.janedoe.com"
}

对我来说似乎不对的是 colleague 被定义为 type=Person(见上面的链接),而是提供了一个实体引用(url/text)。

格式化它的正确方法似乎是在 @context 中提供额外的信息,如下所示:

        {
"@context": {
"@vocab": "http://schema.org/",
"colleague": { "@type": "@id" }
},
"@type": "Person",
"address": {
"@type": "PostalAddress",
"addressLocality": "Seattle",
"addressRegion": "WA",
"postalCode": "98052",
"streetAddress": "20341 Whitworth Institute 405 N. Whitworth"
},
"colleague": [
"http://www.xyz.edu/students/alicejones.html",
"http://www.xyz.edu/students/bobsmith.html"
],
"email": "mailto:jane-doe@xyz.edu",
"image": "janedoe.jpg",
"jobTitle": "Professor",
"name": "Jane Doe",
"telephone": "(425) 123-4567",
"url": "http://www.janedoe.com"
}

schema.org 上的示例(代码示例 1)是否确实不正确/不完整,代码示例 2 是否正确?

或者一般来说:当引用而不是嵌入实体时,是否需要明确说明(使用 @type: @id),或者,规范中是否有一些隐含的概念,当一个值是一个 URL 它被认为是 @id 的引用?

最佳答案

你是对的,这个例子不是 100% 正确的。缺少对 @id 的类型强制。我提交了一个错误来解决这个问题:https://github.com/schemaorg/schemaorg/issues/929

关于schema.org - 必须在 JSON-LD 中显式输入 type=@id 值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34226440/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com