- From: David Martin <martin@ai.sri.com>
- Date: Wed, 18 Sep 2002 07:59:58 -0700
- To: "Peter F. Patel-Schneider" <pfps@research.bell-labs.com>
- CC: pacheco@ai.sri.com, www-rdf-logic@w3.org
response at the end... "Peter F. Patel-Schneider" wrote: > From: David Martin <martin@ai.sri.com> > Subject: Re: Dealing with qualified expressions in DAML > Date: Tue, 17 Sep 2002 22:32:13 -0700 > > > "Peter F. Patel-Schneider" wrote: > > > > Peter -- > > > > I could use another round of clarification on this thread. This particular > > question has come up in the course of implementing a DAML+OIL editor here at SRI. > > > > > > > From: John Pacheco <pacheco@AI.SRI.COM> > > > Subject: Re: Dealing with qualified expressions in DAML > > > Date: Tue, 17 Sep 2002 12:14:07 -0700 (PDT) > > > > > > > > > <daml:Class rdf:ID="CartoonCharacter"> > > > > > > <rdfs:subClassOf> > > > > > > <daml:Restriction> > > > > > > <daml:onProperty rdf:resource="#hasInPocket"/> > > > > > > <daml:hasClassQ rdf:resource="#Elephant"/> > > > > > > <daml:maxCardinalityQ>2</daml:maxCardinalityQ> > > > > > > <daml:hasClassQ rdf:resource="#Dynamite"/> > > > > > > <daml:maxCardinalityQ>4</daml:maxCardinalityQ> > > > > > > <daml:hasClassQ rdf:resource="#Anvil"/> > > > > > > <daml:maxCardinalityQ>1</daml:maxCardinalityQ> > > > > > > </daml:Restriction> > > > > > > </rdfs:subClassOf> > > > > > > </daml:Class> > > > > > > > > > > This is valid DAML+OIL, but it does not mean what you might think that it > > > > > means. To get the standard meaning of this you need to create an > > > > > intersectionOf multiple restrictions. > > > > So far, so good. To increase my level of comfort, please confirm that the > > following is a correct paraphrase of the entire expression above: > > > > (1) > > Class CartoonCharacter is a subset of > > {{things with at most 1 elephant in their pocket} \intersect > > {things with at most 2 elephants in their pocket} \intersect > > {things with at most 4 elephants in their pocket} \intersect > > {things with at most 1 dynamite in their pocket} \intersect > > {things with at most 2 dynamites in their pocket} \intersect > > {things with at most 4 dynamites in their pocket} \intersect > > {things with at most 1 anvil in their pocket} \intersect > > {things with at most 2 anvils in their pocket} \intersect > > {things with at most 4 anvils in their pocket}} > > Yes, but there is even more said above. > > > > > > > > > > > > So what does this code mean then? How is one to interpret multiple hasClassQ > > > > and cardinalityQ tags? > > > > > > > > -John Pacheco > > > > > > Take all possible ways of combining the pieces that make a complete > > > DAML+OIL restriction. The extension of the restriction is then *each* of > > > them. > > > > Earlier, you used the word "intersection", and I'd be happy if you'd written the > > following just above: "The extension of the restriction is then the intersection of > > all of them." Is that what you are saying, or are you saying something that goes > > beyond that? > > There is something more, which is the point of not saying it like you said it. > > > > > > > This doesn't sound so weird said like this, but a side effect is to assert > > > that each of the restrictions thus formed has the same extension. So, the > > > above example says that any object that has at most 2 dynamites in its pocket > > > also has atmost 1 elephant in its pocket, and vice versa. > > > > I have to admit the above has me befuddled. Why should it be so? > > Because that is the way it has to work. > > There is no point in trying to think of an intuitive reason for all this, > it is a necessary consequence of the way RDF works and doesn't have to be > intuitive. > > > Suppose I define > > the following 2 classes: > > > > <daml:Class rdf:ID="foo"> > > <rdfs:sameClassAs> > > <daml:Restriction> > > <daml:onProperty rdf:resource="#hasInPocket"/> > > <daml:hasClassQ rdf:resource="#Elephant"/> > > <daml:maxCardinalityQ>1</daml:maxCardinalityQ> > > </daml:Restriction> > > </rdfs:sameClassAs> > > </daml:Class> > > > > <daml:Class rdf:ID="bar"> > > <rdfs:sameClassAs> > > <daml:Restriction> > > <daml:onProperty rdf:resource="#hasInPocket"/> > > <daml:hasClassQ rdf:resource="#Dynamite"/> > > <daml:maxCardinalityQ>2</daml:maxCardinalityQ> > > </daml:Restriction> > > </rdfs:sameClassAs> > > </daml:Class> > > > > >From what you say above, a DAML+OIL reasoner should be able to infer, from these 2 > > definitions and (1) above, this: > > > > <daml:Class rdf:about="bar"> > > <rdfs:sameClassAs>foo</rdfs:sameClassAs> > > </daml:Class> > > No, because there are two daml:Restrictions. > > > How does that get to be a legitimate inference? Intuitively, I can't see a shred > > of basis for it. > > It is not a legitimate inference. > Thanks. I'm relieved that it's not a legitimate inference. But then I have to admit I still can't make sense of your statement: (2) "a side effect is to assert that each of the restrictions thus formed has the same extension. ." Clearly we understand one or more of the words in (2) differently - and I suspect it has to do with "side effect" and "assert". I'm not that concerned to get additional clarification; you've already addressed our questions with respect to our tool building effort. (Again, thanks.) But if you feel like giving additional clarification, I would suggest that you do one of the following: (a) state in a formal notation some legitimate inference from the CartoonCharacter class definition above, which illustrates your statement (2), but is *not* illustrative of "The extension of the restriction is then the intersection of all of them." (b) explain some practical consequence of (2) - say, for a parser builder OR (c) Give a pointer to a paper or other document that explains the idea behind (2). Regards, David Martin
Received on Wednesday, 18 September 2002 10:59:10 UTC