多个 JSON-LD Schema.org 标签可以代表同一个“对象”吗?

2024-01-27

我有一个网站,客户端请求 JSON-LD(不是微数据)schema.org 标签。他们想要的其中一个是每个页面上都有一个基本的“WebPage”标签,其中包含有关每个页面上的内容的一些信息。另一个是“FAQPage”,仅添加在特定的 FAQ 页面上。两者都将作为内联脚本标记直接添加到页面上。

FAQPage继承自WebPage,因此包含了WebPage的所有属性。

如果我只是让页脚代码生成“WebPage”标签,而 FAQ 组件生成“FAQPage”标签,则两者最终都会作为单独的 JSON-LD 脚本标签出现在页面上 - 我相信这会被解释为两个单独的“网页” - 不是我们正在寻找的内容。

是否可以标记架构标签,以便两个 JSON-LD 标签代表彼此的“扩展”?由于 FAQPage 继承了 WebPage,我希望有一种方法可以设置一个标识符,显示两者是正在记录的同一页面。

(是的,我可以使用后端的逻辑将有关 FAQPage 的信息“传递”到页脚,并让页脚组件动态输出 FAQPage 或 WebPage,但这不是我在这里要寻找的。)


The @id keyword https://www.w3.org/TR/json-ld11/#node-identifiers可以用于此。它为节点对象提供 IRI 形式的标识符(或空白节点标识符)。

具有相同属性的节点对象@id value are同一事物,无论这些事物的类型是否具有继承关系。

这些 IRI 不必解析为 Web 上的文档。如果他们这样做,你应该确保 https://stackoverflow.com/a/76472546/19579546保持事物和有关该事物的文档之间的区别。

但是,在您的具体情况下,该事物和有关该事物的文档实际上表示相同。因此,您可以使用页面的规范 IRI 作为@id:

<!-- on the page /faq -->

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "FAQPage",
    "@id": "/faq"
}
</script>

<script type="application/ld+json">
{
    "@context": "https://schema.org",
    "@type": "WebPage",
    "@id": "/faq"
}
</script>

如果对象代表相同的事物,但具有不同的含义@id值,您可以使用属性使关系明确owl:sameAs https://www.w3.org/TR/owl-ref/#sameAs-def。但只支持 Schema.org 的消费者不会认识到这一点。 (Schema.org 也有一个sameAs https://schema.org/sameAs属性,但它有不同的含义。)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

多个 JSON-LD Schema.org 标签可以代表同一个“对象”吗? 的相关文章

  • 使组合高度等于浏览器窗口的高度

    http featuredfotografer com http featuredfotografer com Codemirror div 与 header div 结合占用的高度超过了浏览器的高度 我怎样才能使它们的总高度达到浏览器窗口
  • 如何将当前元素传递给 Knockout.js 绑定中的 Javascript 函数?

    因此 我尝试根据是否选中子复选框 使用 Knockout js 将类添加到元素 为此 我试图通过this作为我的函数的参数 目前 我的精简 DOM 结构如下 tr td td tr
  • iOS Safari Mobile 禁用上一个和下一个选择输入

    上周五我发现了关于此问题的类似问题 但似乎无法再次找到它 如果有人能指出我正确的方向 那就太好了 本质上我在一个页面上有多个选择菜单 第一个在加载时填充 第二个在第一个选择时填充 够简单的 但是 在 iOS 设备中 当您点击选择元素时 它会
  • 数字和小数的输入掩码

    在测试我的程序后 我发现了以下错误 我在 sqlserver 中的表包含 价格数字 6 2 我的程序的用户输入价格 555 00 就很好了 但是当他输入 555555 时 这是错误的 所以我需要指定掩码 其中尾数是可选的 0 到 999 小
  • 使用 JavaScript onclick 添加表格行

    我正在尝试使用 javascript 添加下面找到的完全相同的元素 我已经尝试了这里找到的所有解决方案 我什至尝试用php echo但没有运气 无需更改任何输入名称或类似内容 只需单击该按钮即可向表中添加另一行 仅此而已 这是该元素 tr
  • 使用滤镜将css3灰色图像转为蓝色?

    我正在尝试将灰色图像变为更蓝色的色调 真的不知道如何为此设置滤镜或是否可能 该图像只有一种颜色 cacaca 其余部分透明 我正在尝试使用相同的图像进行一些叠加 以便它仅突出显示那些彩色部分而不是透明区域 一直在尝试其中的一些 但没有取得多
  • 占位符 HTML 元素?

    是否有任何 HTML 元素可以用来包装其他元素以用作占位符 例如 ul ul
  • 两个 Div 之间的固定宽度间隙

    有谁知道如何修复两个 div 之间的间隙 我有一个主要内容 Div 里面有两个带有图片的 Div 视图的宽度为 768 像素 当我开始拉伸视图时 两张图片开始相互远离 但理想情况下 主要内容 Div 应该在周围有空白的情况下拉伸 并且图片之
  • 使用纯javascript选择最接近id的id

    div div TEXT div div div div TEXT div div div TEXT div 如何选择最接近div1的div2 关注w3docs https www w3 org TR html4 struct global
  • 如何使用带有 python 的报告实验室将 html 文档转换为 pdf

    我正在尝试使用报告实验室将我创建的 html 文档转换为 pdf html 文档如下 我不确定如何做到这一点 我在网上查看过 似乎找不到解决方案 html文档 h2 Convert to pdf h2 p Lorem ipsum dolor
  • html 和 body 元素的高度

    我一直在互联网上查找 min height 和 height 属性如何在 body 和 html 元素上工作 我在很多地方都看到过下面的代码 html height 100 body min height 100 上面的内容可以与其他一些
  • Flexbox 不适用于 iPad 和 Safari [重复]

    这个问题在这里已经有答案了 我在网站上使用 Flexbox 但它在 iPad Air iPad 3 和 Safari PC 上崩溃 设计和代码与此 codepen 类似 http codepen io anon pen xwJzEg htt
  • 在html表格的每一行添加点击功能

    我最近创建了一个函数 它根据用户在网站中的输入进行一些复杂的名称匹配 并将结果作为表格格式的 html 文件返回 我的问题是如何在每一行添加点击功能 df get cust info returns a pandas dataframe d
  • 禁用引导列上的滚动

    我正在尝试禁用引导列上的滚动 这是我的代码 div class container fluid h 100 div class row h 100 div class col 4 h 100 bg dark fixed div div cl
  • 使用 jQuery/JS 打开时使
    标签的内容具有动画效果

    我只想要 HTML5 的内容details标记为 滑行 动画打开 而不是仅仅弹出打开 立即出现 这可以用 jQuery Javascript 实现吗 Fiddle http jsfiddle net 9h4Hq HTML
  • 如何防止 Iframe 在与浏览器交互后弄乱浏览器的历史记录?

    因此 就我而言 我使用 Iframe 将 Grafana 附加到我的页面 这为我提供了漂亮且易于使用的图表 可以注意到 每次在图表上进行放大或缩小 使用鼠标单击 交互后 Grafana 的 Iframe 都会在我的 Angular 页面上触
  • 保持未知数量的 div 居中,每行最多 4 个

    我有一个简单的问题 但我自己无法解决 简而言之 有一个未知电话我必须在页面中放置的元素数量 最多 每行 4 个元素 但仍居中 此图片给您一个提示 我为了示例而设置它 详细 在上图中我涵盖了不同的场景 例如 如果总共有 5 个元素 则应使用第
  • jquery从变量中删除html元素

    我将 html 保存在变量中 var itinerary events today html 我有很多 html 和一个按钮我想删除 它的 ID 为 myButton 如何从变量中保存的 html 中删除它 我建议这种方法 var itin
  • 将div设置为隐藏,延时后可见

    我试图在 X 时间后 也许甚至在随机时间之后 但现在我们只做固定时间 在黑色背景上出现一个黄色方块 function initialSetup if document getElementById yellow null document
  • 无效字符错误:“fred”

    我确信他一定是一个新手问题 简单来说 我想定义我的第一个 Polymer dart 组件 只是我一直在同一个减速带上踢脚趾 为了使事情变得非常简单 我将其简化为一个非常简单的示例 我做了一个简单的rename示例 跑表 来自 Dart 组件

随机推荐

  • 如何测试泛型接口的类型?

    我不确定标题是否有意义 但我希望您能通过一些代码理解我的问题 给出以下发布 订阅框架的代码 type IMessage interface B1794F44 F6EE 4E7B 849A 995F05897E1C end ISubscrib
  • 从纬度/经度获取邮政编码

    我有一个控件 允许用户输入邮政编码或在 iframe 中打开谷歌地图 然后单击地图来选择位置 我目前已经完成了所有工作 iframe 会将点击事件中的纬度 经度发送回父级 我还设置了一个数据库表 其中的纬度 经度字段映射到邮政编码 但是 纬
  • 如何在其派生类中重写列表的切片功能

    我做了一个如下所示的课程 class MyList list def init self lst self list lst 我希望在 MyList 中覆盖切片功能 您需要提供定制 getitem http docs python org
  • 当我运行这个小鼠标钩子应用程序时,为什么我的鼠标出现滞后?

    这是我几年前编写的一个小鼠标钩子应用程序 我只是想知道为什么每当我运行它时它都会使我的鼠标滞后 我记得在某处读过 我必须调用一些方法来手动处理资源或使用 MouseListener 进行处理 每当我拖动时 它都会使我的鼠标滞后any屏幕周围
  • c# 使用excel打开xml文件[重复]

    这个问题在这里已经有答案了 如何使用 Excel 和 C winforms 打开 xml 文件 我正在将数据保存到 XML 文件 并且我需要用户在应用程序更新 xml 文件后能够立即看到该文件 我需要用 Excel 打开该文件 Proces
  • git-tf checkin 线程“main”中出现异常 java.lang.StackOverflowError

    我正在尝试使用现有的 git 存储库并使用 git tf 将其签入到 TFS Preview 当我尝试签入时收到错误 这是我到目前为止所做的事情 git 克隆 bhttps github com https github com git 来
  • 在更大的项目上处理 javascript 的方法?

    几年前发现 jQuery 后 我意识到无需编写代码书籍即可真正创建交互式且用户友好的网站是多么容易 随着项目规模的增加 进行任何调试或可能实现更改或新功能所需的时间也随之增加 通过阅读各种博客并保持一定的更新 我读到了类似的库骨干网 js
  • bootstrap-vue:大多数图标未显示

    我导入all图标 如文档所述 import Vue from vue import BootstrapVue BootstrapVueIcons from bootstrap vue Vue use BootstrapVue Vue use
  • Yii2:如何通过 Composer 添加 JavaScript 库?

    我已经设置了一个基本应用程序 https github com yiisoft yii2 app basic根据这个指南 安装 Yii http www yiiframework com doc 2 0 guide start instal
  • 如何找到 ASP.NET 中哪些对象无法序列化?

    我在我的应用程序中收到以下错误 无法序列化会话状态 在 StateServer 和 SQLServer 模式下 ASP NET 将序列化会话 状态对象 结果 不可序列化的对象或 MarshalByRef 对象不是 允许的 同样的限制 如果类
  • jQuery.live() 无法在插件内部工作

    我正在编写一个插件 需要实时绑定点击 当我进行正常的单击绑定但不是实时绑定时 该插件工作正常 我已经将插件归结为基础知识 function fn liveBindTest function return this each function
  • foreach 语句中需要类型和标识符 csharp 中的错误

    我正在将这段代码的 VB net 转换为 C Dim files As String files Directory GetFiles E text txt Dim filename As String Dim file As String
  • 如何在 python pandas 中使用 df.loc 和 if 条件删除一行

    我想用if条件和df loc 比较同一列中的两个值 如果前一个值高于下一个值 我想删除整行 这是我尝试过的和我的例子 import pandas as pd data cycle 1 1 2 2 3 3 4 4 A 0 1 0 5 0 2
  • Android Base64 音频文件编码/解码

    Doing 我目前正在录制语音并将其保存为 sdCard 中的文件 该文件在 MediaPlayer 中运行正常 我想要的是 当我将此文件编码为 Base64 并发送到服务器时 一切正常 但是当我将 Base64 字符串解码为 audio
  • 解析 Logstash 中的嵌套 JSON 字符串

    我正在以 json 格式登录logstash 我的日志有以下字段 每个字段都是一个字符串 atts字段是字符串化的 json 注意 atts子字段每次都不同 这是一个例子 name bob last builder atts a 111 b
  • 在 Pandas 中的特定行和列中填充 NaN

    我有一个看起来像这样的数据框 gt gt gt df a d s 0 1 0 3 0 2 0 1 2 0 NaN 4 0 2 3 0 6 0 NaN 3 NaN NaN 3 0 4 5 0 8 0 NaN 5 6 0 NaN NaN 我必须
  • 错误 C2084“函数已具有主体”

    我是 C 编码新手 这是我在 Stack Overflow 上的第一篇文章 我正在使用 Visual C 编写基于文本的游戏 并且在此文件中收到 C2084 错误 game system functions cpp include basi
  • 将 Google 电子表格转换为 HTML 表格

    我有一个 Google 电子表格 其中的数据每周更新一次 我需要将这些数据放入我网站上的 HTML 表中 有没有一种方法可以让我使用 PHP 或 Javascript 来查找 Google 电子表格 URL 并将数据转换为 HTML 表标记
  • CSRF验证失败,但仅适用于IE9

    我已经按照中所述设置了 CSRFDjango 文档 https docs djangoproject com en dev ref contrib csrf 使用 Django 1 3 它适用于 FF 和 Safari 但在 IE9 上我得
  • 多个 JSON-LD Schema.org 标签可以代表同一个“对象”吗?

    我有一个网站 客户端请求 JSON LD 不是微数据 schema org 标签 他们想要的其中一个是每个页面上都有一个基本的 WebPage 标签 其中包含有关每个页面上的内容的一些信息 另一个是 FAQPage 仅添加在特定的 FAQ