首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用RDFa、schema.org和FOAF代表人/代表或作者/代理关系

用RDFa、schema.org和FOAF代表人/代表或作者/代理关系
EN

Stack Overflow用户
提问于 2015-05-05 11:07:37
回答 1查看 193关注 0票数 1

我有点困惑如何使用RDFa (Lite)、schema.org和FOAF来建模作者-代理关系。我甚至不确定我是否需要FOAF。

假设我出版了一本书,我是作家,由一位代理人代理。所以我们有两个人,一个是我,一个是经纪人。为了澄清,我的意图是将代理人作为作者的联络点联系,同时表明作者是我,这一页的主题是:

代码语言:javascript
复制
<!-- 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收集到的https://stackoverflow.com/a/19389163/441662解决方案。

当我将它提供给RDFa 1.1蒸馏器和分析器时,它显示了以下输出:

代码语言:javascript
复制
@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吗?在这方面我也找不到多少例子。
  • 如何将代理建模为contactPoint关系?根据schema.org和谷歌的测试工具的说法,Person不允许成为contactPoint

解决办法?

进一步提出的解决方案之一是拥有一个同时具有ContactPointPerson的实体,但是谷歌的验证器似乎不太喜欢它。

另一种可能的解决方案是让代理和写入器都指向相同的ContactPoint资源(参见https://stackoverflow.com/a/30055747/441662)。

关于rel="me",它来自一个微格式示例,不可能使用schema.org (在他的回答中作为@unor状态)或foaf。

/edit 7-5-2015: I提出了一个GitHub问题对于这个问题。我会更新这篇文章等我学到更多..。

EN

回答 1

Stack Overflow用户

发布于 2015-05-05 14:26:16

一种选择是让代理和写入器都指向相同的ContactPoint资源。

这似乎有点奏效。这允许适当的标记来格式化代理及其联系人详细信息,同时让作者指向代理的联系人详细信息。然而,这仍然没有恰当地将代理人作为作者的代表(即不与我打交道,而是与我的代理人)。我不知道机器读取器将如何处理这种情况。

代码语言:javascript
复制
<!-- the agent representing me -->
<div resource="/Writecorp/MichaelStern" vocab="http://schema.org/" typeof="Person">
    <span property="name">Michael Stern</span>
    <link property="contactPoint" href="/Writecorp/MichaelStern#contact" />
    <div resource="/Writecorp/MichaelStern#contact" vocab="http://schema.org/" typeof="ContactPoint">
        <meta property="name" content="Michael Stern" />
        <div>Phone:
            <span property="telephone">(540) 961-4469</span>
        </div>
        <div>
            <a property="email" href="mailto:michael.stern@writecorp.inc.agency.com">michael.stern@writecorp.inc.agency.com</a>
        </div>
    </div>
    <div property="memberOf">
        <div typeof="Organization">
            <span property="name">Writecorp Inc. agency</span>
        </div>
    </div>
</div>

<!-- the writer, me -->
<div vocab="http://schema.org/" typeof="Person">
    <link property="contactPoint" href="/Writecorp/MichaelStern#contact" />
    <span property="name">H. P. Lovecraft</span>
</div>

注意,name属性在ContactPoint上是一个元标记,而不是普通的span元素。这是为了防止双名输出,同时给机器读取器一种仍然用接触点名填充数据模型的方法。

海龟的RDFa 1.1蒸馏器和分析器输出

代码语言:javascript
复制
@prefix ns1: <http://www.w3.org/ns/rdfa#> .
@prefix ns2: <http://schema.org/> .

<> ns1:usesVocabulary ns2: .

</Writecorp/MichaelStern> a ns2:Person;
    ns2:contactPoint </Writecorp/MichaelStern#contact>;
    ns2:memberOf """

            Writecorp Inc. agency

    """;
    ns2:name "Michael Stern" .

</Writecorp/MichaelStern#contact> a ns2:ContactPoint;
    ns2:email <mailto:michael.stern@writecorp.inc.agency.com>;
    ns2:name "Michael Stern";
    ns2:telephone "(540) 961-4469" .

[] a ns2:Person;
    ns2:contactPoint </Writecorp/MichaelStern#contact>;
    ns2:name "H. P. Lovecraft" .

[] a ns2:Organization;
    ns2:name "Writecorp Inc. agency" .

/edit 7-5-2015: I提出了一个GitHub问题对于这个问题。我会更新这篇文章等我学到更多..。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30051287

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档