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

I wasn't trying to defend Cyc's choice (though I probably should,
since I made it). I was just trying to explain RDFS.

On the net, disjunctive semantics for range/domain can be a real
problem. Lets assume that we know that the domain for an arc foo
is the Class Bar and that a resource baz has the arc foo. With
disjunctive semantics, the domain information is pretty much
useless to us since it does not allow us to conclude anything. After
all, somewhere out there on the web could be another domain
statement for foo. We could make a CWA and conclude that
baz is an instance of Bar and if we ever find another domain
statement for foo, retract our original conclusion.

The place where the single domain/range requirement hurts is
when the range or domain of an arc tends to be "oddly shaped",
i.e., not have a single class corresponding to it, but is a conjunct
or disjunct of mulitple classes where the conjunct/disjunct does
not define a "natural kind" (as in Quine's use of the term "natural
kind"). Non-natural kinds are a problem all around.

Allowing multiple domains/ranges with conjunctive semantics solves
some of these problems without introducing mentioned earlier, but
we are still left with the other problem mentioned earlier.

We could make a CWA and conclude that
baz is an instance of Bar and if we ever find another domain
statement for foo, retract our original conclusion. But the whole
non-monotonic reasoning using a TMS for dependency maintanence
game needs to be revisited in the context of inferencing on the web.
That game was defined based on a KB update model that does
not neccesarily apply here.

guha

Natalya Fridman Noy wrote:

> At 10:56 AM 09/13/2000 -0700, guha wrote:
> >rdfs:domain and rdfs:range were modelled after the similarly named
> >concepts
> >in Cycl and have had very well defined meanings right from the beginning.
> >
> >(rdfs:domain ?arc ?domain) ^ (?arc ?source ?target) => (rdf:type ?source
> >?domain)
> >and
> >(rdfs:range ?arc ?range) ^ (?arc ?source ?target) => (rdf:type ?target
> >?range)
> >
> >and thats it.
>
> Actually, Cyc's conjunctive semantics  for domains and ranges can (and
> does) force modeling choices that sometimes make the whole concept of
> domain and range practically useless. Here is an example (if memory serves,
> it comes directly from Cyc). Consider the domain of a property
> wearingSomething. A natural domain would be Person. However, dogs can also
> wear something, so we have to make Animal a domain of wearingSomething (by
> the by, allowing lions to wear things as well). In addition, manikins can
> wear something. Now we have to go up to TangibleThing making the
> declaration of domain essentially useless. Similar argument holds for range.
>
> This conjunctive semantics for domains and ranges in Cyc was in fact a
> problem for the OKBC systems when Cyc knowledge bases were translated into
> frame-based OKBC-compatible KR systems such as Ontolingua and Protege:
> Since domains and ranges of properties had to be maximally general,
> high-level classes had hundreds of slots (properties) that had little
> meaning for that class.
>
> In fact, OKBC adopted the disjunctive semantics for domains and ranges of
> slots (perhaps, for practical reasons), and it seemed to work well there.
>
> Natasha

Received on Wednesday, 13 September 2000 21:06:59 UTC