gpt4 book ai didi

Json-LD > 定义一个 "person"以便于作为 WebPage 模式的不同键上的值重用

转载 作者:行者123 更新时间:2023-12-03 23:49:22 25 4
gpt4 key购买 nike

我正在尝试使用 json-ld 在我的网站上使用 schema.org 作为语言。

原因是为了协助搜索引擎的爬虫了解我的网站。

Schema.org 为项目类型提供了许多键/值属性对。

有时,这些键的值本身就是具有自己的类型的项,并且具有自己的一组键/值对。

在实践中,同一个项目是几个不同键的适当答案,并且希望/有必要给出该项目的键/值集。

例如,就我而言,我正在使用 schema.org 的“WebPage”类型标记网站上的网页。

我想给同一个人作为 WebPage 类型上各种键的答案:作者、创建者、版权持有者等。

我想我可以通过以下方式重复这些值:

<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type" : "WebPage",
"name" : "The Name of the Webpage",
"author" :
{
"@type" : "Person",
"name" : "Tim"
}
"creator":
{
"@type" : "Person",
"name" : "Tim"
}
"copyrightHolder" :
{
"@type" : "Person"
"name" : "Tim",
}
}
</script>

然而,这对我来说是重复和冗长的。

我宁愿分配/定义该人一次,然后根据需要使用关键字引用他(我)。

我对 json-ld 或编码/编程知之甚少,作为外行,我发现这些信息(spec + jsonld.org + here)有点令人困惑。

我知道除了将相关的“语言”声明为 schema.or 之外,还可以为文档(此处为网页)扩展 @context 以定义“事物”,并且 json-ld 似乎也支持使用“引用特定项目” IRIs' 作为一个 ID。

因此,似乎我可以根据需要使用类似于以下内容的方式定义 Person 一次:
<script type="application/ld+json">
{
"@context":
["http://schema.org",
{
"Tim" :
{
"@type" : "Person",
"@id" : "https://www.example.com/tim#tim"
"name" : "Tim"
}
}],
"@type" : "WebPage",
"name" : "The Name of the Webpage",
"author" : "Tim",
"creator": "Tim"
}
</script>

所以我的问题是:
  • 我们可以这样做吗?如果可以,怎么做?
  • 在许多文档中,IRI 似乎是最后添加了#value 的 URL。 #value 是否只是一个声明以将其与页面 URL 区分开来(对于某些其他键,这可能是其自身的值),或者是 #value 引用页面上的 div,例如具有 id="value"的 div或者可能是其他一些协议(protocol)?
  • 如果我这样做,会说谷歌的爬虫只是缓存 IRI 以便稍后引用关联的 URL 或 div,或者它可能会分配定义的值?理想情况下,我希望为每次使用返回扩展值。

  • 我在这个网站上看了很多关于这些问题的答案。我见过类似的问题和答案,它们可能已经回答了这些问题,但以我无法理解的方式。例如,我不知道什么是“节点”或“对象”。

    请原谅我缺乏知识。任何使用简单明了的语言将不胜感激。实际上,任何帮助将不胜感激!

    谢谢你。

    最佳答案

    你的例子几乎是正确的。您需要分配一个 @id到您在其他地方重用的 person 对象:

    <script type="application/ld+json">
    {
    "@context": "http://schema.org",
    "@type" : "WebPage",
    "name" : "The Name of the Webpage",
    "author" : {
    "@type" : "Person",
    "@id": "#tim",
    "name" : "Tim"
    },
    "creator": {
    "@id": "#tim"
    },
    "copyrightHolder": {
    "@id": "#tim"
    }
    }
    </script>

    关于Json-LD > 定义一个 "person"以便于作为 WebPage 模式的不同键上的值重用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32177780/

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