gpt4 book ai didi

html - 如何混合描述同一对象的本体(使用 rdfa?)

转载 作者:太空狗 更新时间:2023-10-29 14:15:05 25 4
gpt4 key购买 nike

想象一下,我开始使用本体是因为它提供了一些有用的词汇来描述我感兴趣的对象,例如FOAF 来描述一个人(我)。我立即遇到了两个问题。我遇到了另一个本体,它也有描述一个人的词汇。

问题 1:其中一些术语在功能上是等价的或相关的,但我不想费心将两个本体包装在同一个对象上,

<span property="foaf:name"><span property="dc:creator">Carl Boettiger</span></span>

因为这很麻烦,而且似乎忽略了链接数据的整个概念,它应该足够聪明,知道 dc:creator 也是一个 foaf:person. 那么正确的做法是什么?我如何确认这些对象之间的关系(例如,大概不是所有的 foaf:person 都应该是 dc:creator。在语义网的某个地方是否说 dc :creatorfoaf:person 的子集?我需要以某种方式链接到这样的声明吗?你能指出我在哪里吗?

问题 2:一个本体中的词汇不足以满足我的目的,因此我需要使用另一个本体中的词汇。例如,据我所知,FOAF 没有为我提供一种方式来说明我的组织、位置或角色(GoogleSnippets 似乎认为这些字段是有效人员的必填字段)。所以我去找一个方便的本体论,比如谷歌建议的那个,http://rdf.data-vocabulary.org ,其中有这些条款。现在,我又遇到了一个密切相关的问题,即确保两个本体论就人是什么达成一致:

<div typeof="foaf:Person">
<span property="foaf:name">Carl Boettiger</span> is a <span property="v:role"> graduate student </span>
</div>

v:role 对它属于什么有自己的想法,一个 typeof="v:Person。我需要添加这个 typeof 声明吗?然后我需要做些什么来说明它与 foaf:Person 相同,并且确实是 v:rolefoaf: name 都描述了同一个事物(我)?

非常感谢您澄清我的困惑。

最佳答案

请注意 foaf:Person 是 RDFa 中通过 @typeof 属性表示的类型或类。另一方面,dc:creator、foaf:name、v:role 是放置在 RDFa 中的@property 属性中的属性。通常,您首先在 HTML 中键入您的对象(例如,一个人),然后通过属性为其提供名称或角色等属性。类型通常以大写字母开头 (foaf:Person),而属性以小写字母开头 (foaf:name)。

问题 1:无需为每个新属性添加新的 span 元素,您可以将所有属性放在同一个属性属性中,并用空格分隔:

<span property="foaf:name dc:creator">Carl Boettiger</span>

Is it said somewhere on the Semantic Web that dc:creator is a subset of foaf:person?

首先,这个例子还不够充分,dc:creator 是一个属性而 foaf:Person 是一个类型,但假设我们正在谈论 foaf:Agent 和 foaf:Person,foaf 规范指出 foaf:Person 是foaf:Agent 的子类:http://xmlns.com/foaf/spec/#term_Person - 词汇表可以定义这种关系。还有交叉词汇表映射,有时定义来自不同词汇表的类和属性之间的关系。

Do I need to link to such a statement somehow?

不,您通常不必这样做。

问题 2:请注意 http://rdf.data-vocabulary.org已弃用,取而代之的是 schema.org 词汇表:http://schema.org/docs/full.htmlhttp://schema.rdfs.org/

Do I need to add this typeof declaration as well? Do I then need to do something to say it is the same as foaf:Person, and indeed that v:role and foaf:name both describe the same thing (me)?

通常,在以 HTML 格式发布数据时,您不会尝试声明词汇表之间的等价性,而是发布您认为对使用您的数据的应用程序有用的所有词汇表术语,并且在RDFa,因为您可以在给定的@typeof 或@property 属性中嵌入多种类型和属性。

<div typeof="foaf:Person v:Person">
<span property="foaf:name v:name">Carl Boettiger</span> is a <span property="v:role"> graduate student </span>
</div>

请注意,您可以在 http://rdfa.info/play/ 测试您的 RDFa 标记

关于html - 如何混合描述同一对象的本体(使用 rdfa?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12983766/

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