- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我最近开始深入研究 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/
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: template pass by value or const reference or…? 以下对于将函数
我用相同的参数列表重载了一个运算符两次。但返回类型不同: T& operator()(par_list){blablabla} const T& operator()(par_list){bla
假设我有实现接口(interface) I 的 Activity A。我的 ViewModel 类 (VM) 持有对实现接口(interface) I 的对象的引用: class A extends
PHP 如何解释 &$this ?为什么允许? 我遇到了以下问题,这看起来像是 PHP 7.1 和 7.2 中的错误。它与 &$this 引用和跨命名空间调用以及 call_user_func_arr
谁能解释一下下面“&”的作用: class TEST { } $abc =& new TEST(); 我知道这是引用。但是有人可以说明我为什么以及什么时候需要这样的东西吗?或者给我指向一个对此有很好解
引用变量是一个别名,也就是说,它是某个已存在变量的另一个名字。一旦把引用初始化为某个变量,就可以使用该引用名称或变量名称来指向变量。 C++ 引用 vs 指针 引用很容易与指针混淆,它们之间有三
目录 引言 背景 结论 引言 我选择写C++中的引用是因为我感觉大多数人误解了引用。而我之所以有这个感受是因为我主持过很多C++的面试,并且我很少
Perl 中的引用是指一个标量类型可以指向变量、数组、哈希表(也叫关联数组)甚至函数,可以应用在程序的任何地方 创建引用 定义变量的时候,在变量名前面加个 \,就得到了这个变量的一个引用 $sc
我编写了一个将从主脚本加载的 Perl 模块。该模块使用在主脚本中定义的子程序(我不是维护者)。 对于主脚本中的一个子例程,需要扩展,但我不想修补主脚本。相反,我想覆盖我的模块中的函数并保存对原始子例
我花了几个小时试图掌握 F# Quotations,但我遇到了一些障碍。我的要求是从可区分的联合类型中取出简单的函数(只是整数、+、-、/、*)并生成一个表达式树,最终将用于生成 C 代码。我知道使用
很多时候,问题(尤其是那些标记为 regex 的问题)询问验证密码的方法。似乎用户通常会寻求密码验证方法,包括确保密码包含特定字符、匹配特定模式和/或遵守最少字符数。这篇文章旨在帮助用户找到合适的密码
我想通过 MIN 函数内的地址(例如,C800)引用包含文本的最后一个单元格。你能帮忙吗? Sub Set_Formula() ' ----------------------------- Dim
使用常规的 for 循环,我可以做类似的事情: for (let i = 0; i < objects.length; i++) { delete objects[i]; } 常规的 for-
在 Cucumber 中,您定义了定义 BDD 语法的步骤;例如,您的测试可能有: When I navigate to step 3 然后你可以定义一个步骤: When /^I navigate t
这是什么UnaryExpression的目的,以及应该怎样使用? 最佳答案 它需要一个 Expression对象并用另一个 Expression 包裹它.例如,如果您有一个用于 lambda 的表达式
给出以下内容 $("#identifier div:first, #idetifier2").fadeOut(300,function() { // I need to reference jus
我不知道我要找的东西的正确术语,但我要找的是一个完整的引用,可以放在双引号之间的语句,比如 *, node()、@* 以及所有列出的 here加上任何其他存在的。 我链接到的答案提供了一些细节,但还
This question's answers are a community effort。编辑现有答案以改善此职位。它当前不接受新的答案或互动。 这是什么? 这是常见问答的集合。这也是一个社区Wi
Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-topic
考虑下一个代码: fn get_ref(slice: &'a Vec, f: fn(&'a Vec) -> R) -> R where R: 'a, { f(slice) } fn m
我是一名优秀的程序员,十分优秀!