- From: Guha <guha@guha.com>
- Date: Wed, 13 Sep 2000 18:09:45 -0700
- To: Natalya Fridman Noy <noy@SMI.Stanford.EDU>
- CC: www-rdf-interest@w3.org
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