Some thoughts on the semantics of domain and range (was: Re: RDFS bug "A property can have at most one range property")

Dear all,

In response to Dan Brickley's appeal to follow up on the discussion
about the semantics of rdfs:domain and rdfs:range, I would like to
point out a few of our own considerations on this, with respect to

Since we have, from the beginning, tried to ground OIL in RDFS (that
is, define OIL as an extension of RDFS), in order to give a first shot
at defining a "logical layer" for the Web, it is in our interest to
have well-defined semantics for the primitives that are defined in
RDFS, if possible matching the description logic semantics of
corresponding primitives in OIL.

Michel Klein, Ian Horrocks and myself have had an internal discussion
on this topic recently and I have compiled the outcome (being mostly
Ian's wise words) here.

In OIL, the semantics of multiple ranges (or multiple domains) are
consistently that of the intersection of the sets involved.

For example, a slot definition such as:

slot-def has-mother
  range female, person

means that the range of has-mother is the intersection of female and
person, i.e., it has the same meaning as two range restrictions:

slot-def has-mother
  range female
  range person

This philosophy holds throughout OIL - a list is always taken as
conjunction and has the same meaning as multiple declarations.

Exactly this philosophy is the reason that we have argued before that
the "only one range statement" restriction in RDFS should be dropped
and replaced with an intersection semantics of multiple ranges. Not
only would this allow us to map the rdfs primitive directly to the OIL
modeling primitive (which is nice for us), but it would actually make
rdfs:range useful, that is, allow inferences (cf. TBL's arguments). 

On the intended semantics of rdfs:domain, we believe that this should
be changed to intersection semantics as well. The reason for this is
exactly the same as TBL's argument about range restrictions. If you
add a local domain restriction that says, for example, that the domain
restriction on "ISBN-number" should be "book", then given the union
semantics, this has no effect at all if elsewhere it has already been
asserted that the domain restriction on "ISBN-number" is "document".
If I assert rdfs:domain(p,s) and I know that p(y,x), then I should be
able to assume rdf:type(y,s) in exactly the same way as with range:

     rdf:type(y,s)   <= rdfs:domain(p,s)  & p(y,x)

With union semantics, this cannot be inferred. In fact, given that you
can't know about all the other domain restrictions that have been made
"elsewhere", then rdfs:domain(p,s) becomes completely meaningless.

To summarize, we agree with TBL's view that the current definitions of
domain and range are lacking, and would propose to allow both to be
used multiple times, using intersection semantics.


Jeen Broekstra,
Michel Klein,
Ian Horrocks
                                                    Vrije Universiteit
						   Faculty of Sciences
Jeen Broekstra              division of Mathematics & Computer Science
jbroeks at                                 de Boelelaan 1081a        1081 HV Amsterdam, the Netherlands

Received on Wednesday, 13 September 2000 06:25:41 UTC