【问题标题】:How to express JSON-LD of original content?如何表达原始内容的 JSON-LD?
【发布时间】:2020-04-25 09:11:17
【问题描述】:

如何用JSON-LD代替微数据来表达原始内容不是一组分隔值)的语义?

假设这个 HTML+Microdata 片段变成了 HTML <body>:

<p itemscope itemtype="http://schema.org/Person">
  <span itemprop="name">George Bush</span>, the
  <span itemprop="disambiguatingDescription">44th President of the USA</span>.
</p>

如何将其微数据转换为 JSON-LD?


还假设我们可以使用多个 ID:

<p>
  <span id="person1-name">George Bush</span>, the
  <span id="person1-rule">44th President of the USA</span>.
</p>

...所以我想在 HTML &lt;head&gt; 中添加如下内容:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Person",
  "name": { "@id": "#person1-name" },
  "disambiguatingDescription": { "@id": "#person1-rule" }
}
</script>

是吗?也就是说,任何“Web语义解释器”工具都会接受这种相对的intralink引用,还是现在不实用(仅理论上)?

【问题讨论】:

标签: html json-ld


【解决方案1】:

只能通过当前仅在 WebPageElement 或 SpeakableSpecification 中可用的 cssSelector 或 xpath 属性来实现。所以对你的场景没有用处。

如果你想结合 microdata 和 json-ld,那么你可以使用 microdata 中的 itemid 来匹配 json-ld 中的 @id。但是 Google 不支持。

【讨论】:

  • 关于Web Annotation Data Model,我们可以在这种情况下使用它吗?
  • 有趣的阅读。我不确定是否可以在您展示的场景中使用注释。它将如何连接到属性?
  • 嗨,Tony,我假设我们可以同时使用xpathcssSelector 来处理 ID。对于 HTML5 内容的一般情况,cssSelector 是最佳选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-05-17
  • 1970-01-01
  • 1970-01-01
  • 2012-09-14
  • 1970-01-01
  • 1970-01-01
  • 2011-04-24
相关资源
最近更新 更多