OWL 交集与并集

OWL intersection vs union

给定以下三元组,域和范围是并集、交集还是其他东西?

<http://www.whosebug.com/questions/ask> rdfs:domain <http://whosebug.com/questions/tagged/rdf> .
<http://www.whosebug.com/questions/ask> rdfs:domain <http://whosebug.com/questions/tagged/owl> .
<http://www.whosebug.com/questions/ask> rdfs:domain <https://www.w3.org/TR/owl-ref/#Boolean> .
<http://www.whosebug.com/questions/ask> rdfs:range <http://whosebug.com/questions/tagged/rdf> .
<http://www.whosebug.com/questions/ask> rdfs:range <http://whosebug.com/questions/tagged/owl> .
<http://www.whosebug.com/questions/ask> rdfs:range <https://www.w3.org/TR/owl-ref/#Boolean> .


换句话说,http://www.whosebug.com/questions/ask谓词是否具有三个域,三个范围,并且任何域-范围配对有效可以推断


编辑:domain and range 的 w3.org 文档指出:

Where a property P has more than one rdfs:domain property, then the resources denoted by subjects of triples with predicate P are instances of all the classes stated by the rdfs:domain properties.

Where P has more than one rdfs:range property, then the resources denoted by the objects of triples with predicate P are instances of all the classes stated by the rdfs:range properties.

你可以把它想象成交集,但它有点间接。当你有一个三重

p rdfs:domain C

这意味着每当你有一个三元组时

a p b

你可以推断

a rdf:type C

所以,当你有

p rdfs:domain C
p rdfs:domain D
p rdfs:domain E

a p b

你可以推断

a rdf:type C
a rdf:type D
a rdf:type E

这是声明

的效果

p rdfs:domain (C ⊓ D ⊓ E)

类似地,从p rdfs:range Fa p b我们可以推导出b rdf:type F.

这意味着我们可以回答您的最后一个问题:

In other words, does the http://www.whosebug.com/questions/ask predicate have three domains, three ranges, and any domain-range pairing is valid?

OWL 并不是要指定在这方面什么是 "valid" 或不是,而是要指定您可以从其他数据中推断出什么。如果你有:

p rdfs:domain A
p rdfs:domain B
p rdfs:domain C

p rdfs:range D
p rdfs:range E
p rdfs:range F

然后从

a p b

你将能够推断

a rdf:type A
a rdf:type B
a rdf:type C

b rdf:type D
b rdf:type E
b rdf:type F