gpt4 book ai didi

seo - RDFa DRY 引用的概念

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:38:31 26 4
gpt4 key购买 nike

我最近开始深入研究 RDFa,并尝试用语义信息为我的网站增添趣味。该网站提供服务、事件、博客,并可能在未来提供产品。幸运的是 schema.org 有粗略但足够的类别。但现在涉及到实际问题。

所有示例都在一个页面上提供了所有信息,这对我来说似乎很学术。例如。在我的登陆页面上是一个包含即将发生的事件的列表。事件有一个位置属性。我的事件在 2 个不同的地点举行。我可以粘贴每个条目的位置信息并扩充我的 html。我宁愿链接到描述位置并包含完整详细信息的页面。不确定,这是否是 sameAs 的用途。但即便如此,它又如何知道目标 URL 上的哪些 RDFa 信息应该用作合适的 vCard?

同样,我的着陆页只有部分公司信息可见。我可以添加很多 <meta> , 但再次引用联系页面会很好。

我只是不想相信 RDF 的创建者会忽略这个方面。是否有任何减少冗余的最佳做法?

最佳答案

URIs!(或 IRIs,例如 RDFa 1.1)

这是 RDF 的主要品质之一,它使 Linked Data可能,如coined by Tim Berners-Lee (强调我的):

The Semantic Web isn't just about putting data on the web. It is about making links, so that a person or machine can explore the web of data.

Like the web of hypertext, the web of data is constructed with documents on the web. However, unlike the web of hypertext, where links are relationships anchors in hypertext documents written in HTML, for data they links between arbitrary things described by RDF

From my answer to a question about the Semantic Web :

Use RDF (in the form of a serialization format of your choice) and define URIs for your entities so that you and other people can make statements about them.

因此,为您的所有“实体”提供一个 URI,并将其用作主题响应。 RDF 三元组中的对象。请注意,您可能不想使用与您的网页相同的 URI,因为这样很难区分有关网页的数据和有关网页所代表事物的数据(请参阅 my answer describing this in more detail)。

假设您的网站有以下两个页面:

  • http://example.com/event/42(关于事件 42,即 HTML 页面)
  • http://example.com/location/51(关于位置 51,即 HTML 页面)

使用 hash URI方法,您可以创建这些 URI:

  • http://example.com/event/42#it(事件42,即真实事件)
  • http://example.com/location/51#it(位置 51,即真实的东西)

现在,当您想使用 Schema.org 词汇表来提供有关您的事件的信息时,您可以使用 resource给出它的 URI:

<!-- on http://example.com/event/42 -->
<article resource="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
</article>

当您想指定事件的位置(使用 Place)时,您可以使用位置的 URI:

<!-- on http://example.com/event/42 -->
<article about="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
<a property="schema:location" typeof="schema:Place" href="/location/51#it">Location 51</a>
</article>

在位置页面上你可能有这样的东西:

<!-- on http://example.com/location/51 -->
<article about="#it" typeof="schema:Place">
<h1 property="schema:name">Location 51</h1>
<a property="schema:event" typeof="schema:Event" href="/event/42#it">Event 42</a>
</article>

汇总这些数据,您将拥有这些三元组(在 Turtle 中):

@prefix schema: <http://schema.org/> .

<http://example.com/location/51#it> a schema:Place .
<http://example.com/location/51#it> schema:event <http://example.com/event/42#it> .
<http://example.com/location/51#it> schema:name "Location 51" .

<http://example.com/event/42#it> a schema:Event .
<http://example.com/event/42#it> schema:location <http://example.com/location/51#it> .
<http://example.com/event/42#it> schema:name "Event 42" .

编辑:我不确定(我希望不是这种情况),但也许 Schema.org 需要一个带有 url(或 sameAs? ) 属性,例如:

<article about="#it" typeof="schema:Event">
<h1 property="schema:name">Event 42</h1>
<div property="schema:location" typeof="schema:Place">
<a property="schema:url" href="/location/51#it">Location 51</a>
</div>
</article>

关于seo - RDFa DRY 引用的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23616946/

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