rdf模式中域和范围的区别?

Bap*_*per 29 rdf rdfs

你能解释一下rdfs:domain和rdfs:range之间的区别吗?什么时候我应该使用域名和范围?我读过h w3c rdf引物,但我不明白其中的区别

Wil*_*nly 34

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

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

范围内的工作原理完全一样的域名,但与这一个,它适用于对象的语句,而不是主题.谨慎一点; 您有时会遇到域或范围适用于多个事物的实例.在这种情况下,它意味着主题或对象(域或范围)是指定的所有类型(交集不是联合).

  • 用更简单的术语来说:"母亲"(域名)有孩子"孩子"(范围).一个更复杂的例子是Child-Parent关系:"Child"(域)hasParent"Mother","Father"(范围).这里有两个父母(对象),由孩子(主题)指向. (17认同)

G M*_*G M 5

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

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

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

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

P rdfs:range C
P rdfs:domain C
Run Code Online (Sandbox Code Playgroud)

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