我有点困惑如何使用 RDFa (Lite)、schema.org 和 FOAF 来建模 writer-agent 关系。我什至不确定我是否需要 FOAF。
假设我出版了一本书,我是作家并由代理人代理。所以我们有两个人,一个是我,一个是代理。澄清一下,我的意图是链接代理作为作者的联系点,同时表明作者是我,页面的主题:
<!-- the agent representing me -->
<div resource="/Writecorp/Michael Stern" vocab="http://schema.org/" typeof="Person">
<span property="name">Michael Stern</span>
<div property="memberOf">
<div typeof="Organization">
<span property="name">Writecorp Inc. agency</span>
</div>
</div>
</div>
<!-- the writer, me -->
<div rel="me" vocab="http://schema.org/" typeof="Person">
<link rel="agent" property="contactPoint" href="/Writecorp/Michael Stern" />
<span property="name">H. P. Lovecraft</span>
</div>
我从https://stackoverflow.com/a/19389163/441662<link>
收集到的解决方案。
当我将它提供给RDFa 1.1 Distiller 和 Parser时,它显示以下输出:
@prefix ns1: <http://www.w3.org/ns/rdfa#> .
@prefix ns2: <http://schema.org/> .
<> ns2:me [ a ns2:Person;
ns2:contactPoint </Writecorp/Michael Stern>;
ns2:name "H. P. Lovecraft" ];
ns1:usesVocabulary ns2: .
</Writecorp/Michael Stern> a ns2:Person;
ns2:memberOf """
Writecorp Inc. agency
""";
ns2:name "Michael Stern" .
[] a ns2:Organization;
ns2:name "Writecorp Inc. agency" .
- 它是否正确识别
rel="me"
?它显示ns1:me,但我在引用的命名空间词汇 schema.org 中找不到任何关于它的信息。我应该使用 FOAF 前缀然后使用foaf:me
吗?我也找不到很多这方面的例子。 - 如何将代理建模为联系点关系?根据 schema.org 和Google 的测试工具,a
Person
是不允许的contactPoint
。
解决方案?
进一步提出的一种解决方案是拥有一个既是 aContactPoint
又是 a 的实体Person
,但Google 的验证器似乎不太喜欢它。
另一种可能的解决方案是让代理和写入器都指向同一个ContactPoint
资源(请参阅https://stackoverflow.com/a/30055747/441662)。
关于rel="me"
,这来自一个微格式示例,并且对于 schema.org (然而,正如@unor 在他的回答中所说的那样)或 foaf 是不可能的。
/edit 7-5-2015:我针对这个问题提出了一个 GitHub问题。当我了解更多信息时,我会更新这篇文章......