我正在与FOAF和RDFa合作,并努力弄清楚我是否应该使用foaf:depiction或foaf:描述和使用它们的正确方法。这是我已经建立的:
<div class="profile" typeof="foaf:Person">
<p>Employee Name: <span property="foaf:name">Fred Flintstone</span></p>
<p><img src="http://www.example.com/fred.jpg" alt="Photo of Fred Flintstone" /></p>
</div>
我理解描绘和描绘是反向相关的。我搜遍了互联网的大部分,但找不到任何具体的例子。从我所读到的,图像描绘了人,所以我倾向于使用foaf:描述因为我的主题是人,但我不确定如何正确地这样做。 Rel还是转?在图像本身或封闭的段落?
答案 0 :(得分:2)
看起来我正在处理一个利基主题。我已经做了一些搜索和阅读,我想我在这里找到了答案: http://www.w3.org/TR/2008/WD-xhtml-rdfa-primer-20080317/#using-src-on-img。
总而言之,我对术语的怀疑是正确的:
图像 - &gt;描绘 - &gt;人
人 - &gt;描述 - &gt;图像
但是,foaf:img属性是一个更具体的术语,而不仅仅是描述将Person与表示它们的图像相关联的描述。因此,使用rel="foaf:depiction"
是正确的,使用rel="foaf:img"
更为正确(在我的情况下)。
这是最终的代码:
<div class="profile" typeof="foaf:Person">
<p>Employee Name: <span property="foaf:name">Fred Flintstone</span></p>
<p rel="foaf:img" rev="foaf:depicts"><img src="http://www.example.com/fred.jpg" alt="Photo of Fred Flintstone" /></p>
</div>
rev
属性指定图像与人的反向关系。这巩固了这些对象之间存在相互关系,而不是片面关系。
因此,使用rel
还是rev
是否正确取决于您的主题是什么。如果我有一个foaf:Image并且图片中有多个人的列表,那么正确的标记将是rel="depicts"
。
遗憾的是,在未来版本的RDFa Primer中删除了许多示例,但幸运的是,以前的所有版本都将保留在未来。
答案 1 :(得分:0)
Scott - 答案是描绘和描绘是彼此的反向属性,正如您所发现的,它在FOAF规范中定义如下:
<rdf:Property rdf:about="http://xmlns.com/foaf/0.1/depicts" rdfs:comment="A thing depicted in this representation.">
[...]
<owl:inverseOf rdf:resource="http://xmlns.com/foaf/0.1/depiction"/>
这意味着如果您在商店中进行了适当的推断,那么使用哪一个并不重要,它们都应该出现。
FOAF使用类似的东西,primaryTopic / isTopicOf,主题/页面,制造商/制造等。 FOAF还使用了inverseFunctionalProperties,即特定值与单个人唯一关联的属性。通常的例子是mbox,如果你发现两个FOAF Person实体具有相同的电子邮件地址,你可以推断它们实际上是同一个人,因为它们是由他们的电子邮件地址单独识别的。