41

你能用一个例子解释一下 rdfs:domain 和 rdfs:range 之间的区别吗?我应该何时使用域以及何时使用范围?我已阅读 h w3c rdf 入门,但我不明白其中的区别

4

3 回答 3

44

从简单的角度来看,域和范围属性可以让您深入了解属性将主题链接到对象的方式。

域属性的情况下,当您使用具有此关联属性的属性将主题链接到对象时,该主题有资格作为域中指定的事物类型。例如,我们查看一个词汇表,我们看到我们的属性的域是一个项目。所以,简单地说,只要使用“名称”属性描述的主题是一种项目(或者可能是一种项目),那么你应该没有问题继续使用该术语来描述那个东西,因为大多数其他人会解释说,如果使用这个术语来描述某事物,那么它就是一个项目。您会发现不仅人类,而且机器(在这种情况下为推理器)也会做出相同的推断。

range的工作方式与 domain 完全一样,但对于这个,它适用于语句的对象而不是主题。一句警告;您有时可能会遇到域或范围适用于不止一件事的情况。在这种情况下,这意味着主题或对象(域或范围)是指定的所有类型(交集而不是联合)。

于 2012-01-30T15:44:32.910 回答
1

简短回答:一个属性可能有很多 rdfs:domain 值,但只有一个 rdfs:range 值

这些属性适用于属性,并且必须按类进行赋值。它们用于限制可能具有给定属性的资源集(属性的域)和属性的有效值集(其范围)。一个属性可以有尽可能多的 rdfs:domain 值,但不超过一个 rdfs:range 值

来源:https ://perso.liris.cnrs.fr/pierre-antoine.champin/2001/rdf-tutorial/node15.html

RDF 中的每个属性都可能有自己关于域和范围的属性。域值限制了属性扩展的三倍主题的类别,范围值限制了属性值的范围。

来源:http ://www-kasm.nii.ac.jp/~koide/SWCLOS2/Manual/08DomainRange.htm

于 2021-02-03T14:33:54.593 回答
0

我发现从一个例子开始会更容易:假设我们有一个happened_atDOMAIN 和 RANGE 定义如下的属性:

领域 财产 范围
Event Olympic Games happened_at Place Location
任何具有给定属性happened_at的资源都是EventOlympic Games 属性的值是一个或多个类的实例(例如Place
2022年北京奥运会 北京
_ 属性_ _

因此,例如在以这种方式定义的本体中,当我happened_at从其范围中找到属性时,我知道它的值可能只是PlaceorLocation并且从其域中,我知道具有此属性的资源将是Eventor的实例Olympic Games

在 RDF 中,属性P将具有范围和域类C,形式化如下:

P rdfs:range C
P rdfs:domain C

您可以在此处阅读 W3C 推荐中的完整定义。

于 2022-02-28T10:17:21.080 回答