1

Given the following triples, are the domain and range a union or intersection or something else?

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


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


Edit: The w3.org documentation for domain and range states:

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.

jaco0646
  • 15,303
  • 7
  • 59
  • 83
  • related: http://stackoverflow.com/questions/42595841/define-mutiple-domains-ranges-in-a-same-propery-in-owl – jaco0646 Mar 16 '17 at 15:58

1 Answers1

5

You can think of it as intersection, but it's a little bit indirect. When you have a triple

p rdfs:domain C

it means that whenever you have a triple

a p b

you can infer that

a rdf:type C

So, when you have

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

a p b

you can infer

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

which is the effect of having declared

p rdfs:domain (C &sqcap; D &sqcap; E)

Similarly, from p rdfs:range F and a p b we can infer b rdf:type F.

That means that we can answer your final question:

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

OWL isn't about specifying what's "valid" or not in this regard, it's about specifying what you can infer from other data. If you have:

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

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

then from

a p b

you'll be able to infer

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

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

Ignazio
  • 10,504
  • 1
  • 14
  • 25
Joshua Taylor
  • 84,998
  • 9
  • 154
  • 353
  • what is the advantage of intersection over union ? I mean why owl determined multiple domain / range to be intersection not union? – alex Jan 22 '21 at 09:00
  • 3
    @amin It's not that "owl determined multiple domain / range to be intersection not union". That multiple domains or ranges end up with intersection semantics is just a consequence of what domain and range axioms mean. If I say that "p domain X" and "p domain Y", then whenever I see "a p b", I can infer that "a rdf:type X" and that "a rdf:type Y". But that's exactly what it means for "a" to be in the intersection of X and Y. – Joshua Taylor Jan 22 '21 at 19:26