From: Benjamin Grosof (bgrosof@mit.edu)
Date: 02/12/05
Hi folks, I have a comment/question about Peter's answer. At 09:58 AM 2/12/2005 -0500, Peter F. Patel-Schneider wrote: >[Speaking for myself, but with some pretensions to know something about the >topic. :-) ] > >From: David Martin <martin@AI.SRI.COM> >Subject: SWRL expression in a property instance? >Date: Fri, 11 Feb 2005 18:10:45 -0800 > > > Greetings Mike and all joint committee folks - > > > > Lest you guys get bored, a bunch of us are grappling with the question > > of how to use a SWRL expression as the value of a property instance, and > > I'd very much appreciate your views on this. > >You asked, so don't get mad at the answer. :-) > > > For example, in OWL-S an AtomicProcess has a precondition, which we want > > to express in SWRL. Here's a simplistic example of the kind of thing we > > might like to do: > > > > <AtomicProcess> > > <hasPrecondition> > > <ruleml:Imp> > > <ruleml:body> > > <!-- empty body --> > > </ruleml:body> > > <ruleml:head> > > <swrl:IndividualPropertyAtom> > > <swrl:propertyPredicate > > rdf:resource="⪚hasCreditCardOfType"/> > > <swrl:argument1 rdf:resource="#user" /> > > <swrl:argument2 rdf:resource="#VISA" /> > > </swrl:IndividualPropertyAtom> > > </ruleml:head> > > </ruleml:Imp> > > </hasPrecondition> > > .... > > </AtomicProcess> > > > > This says that the precondition for the atomic process is that the user > > must have a VISA card (user is a variable that will get bound to some > > kind of user ID, when the process runs). > > > > So here are my questions: > > > > (1) Is this legal to use an Imp instance in this way, as the value of a > > property instance? > >Your question is not specific enough. Let me provide answers to several >more specific questions. > >(11) Is the above syntactically-valid RDFS? > > No, because it is missing rdf:parseType="Collection" in two places. > >(12) Ignoring that, is the above syntactically-valid RDFS? > > I think so. (Checking RDF by hand is beyond my capabilities.) > >(13) Is the above (modified) semantically-valid RDFS, i.e., non contradictory? > > Yes, of course, as it is very hard to make contradictions in RDFS. > >(14) Is the above (modified) syntactically-valid OWL? > > Yes, although only OWL Full, as it uses collections outside of the DL > syntax. > >(15) Is the above (modified) semantically-valid OWL Full? > > Yes, as there is no use of interesting OWL stuff here. > >(16) Is the above (modified) syntactically-valid SWRL. > > Yes, it appears to be, although the precise characteristics of the RDF > syntax for SWRL are not very well specified. I thought in SWRL we were only permitting OWL-DL stuff not OWL-Full stuff? ?? Benjamin >(17) Is the above (modified) semantically-valid SWRL. > > Hmm. That depends. The RDF syntax for SWRL is not fully mixable > with other RDF. This goes to the heart of the problem with RDF. > (More below on this.) > > > (1a) In general, can SWRL classes like Imp and IndividualPropertyAtom be > > instantiated and used in all the same ways that ordinary OWL classes can > > be used in OWL-DL? (Is it even right to think of these as OWL classes?) > >Good question. > >The answer to all of these is "NO!", or, at least "DON'T DO IT!". You are, >in essence, mixing together facts and code without being able to determine >which is which. In particular, as far as SWRL is concerned you have a >top-level rule there - not a precondition. Any SWRL processor would be >correct in trying to determine the consequences of this rule, which is >certainly not what you want. > >However, if you don't care about SWRL processing, then go right ahead. But >then why worry about the RDF form of the rule - why not just include the >abstract syntax in a string? > > > (2) If the above example is legit, how about if we omit the Imp and body > > and head elements, and just nest the IndividualPropertyAtom directly > > inside the hasPrecondition tag? > >If the above considerations didn't matter, then there would be no problem. >Just think of it as any other data. Again, however, why not just use >strings to carry the SWRL rules? > > > (3) If the answer to (1) or (2) is "no" - is it any different for SWRL-FOL? > >No. There is no reason that the answer would be less restrictive for >SWRL-FOL. There is no RDF syntax for SWRL FOL, nor will there ever be if I >have anything to say about it. > >[In fact, it is demonstrably impossible to have a viable same-syntax >extension of RDF to unary/binary predicate calculus with equality.] > > > (4) If the above example is legit, and *if* we forget about RDF > > semantics, will a SWRL reasoner treat the Imp as if it were a non-nested > > assertion, and try to reason with it? Or will it simply record that > > there's an Imp instance related to an AtomicProcess instance? > >Hmm. A SWRL reasoner probably woudn't work very well at all on a document >of this form. The RDF syntax for SWRL rules isn't really RDF - it is just >a way to get RDF parsers to not choke on SWRL rules. (Why do this? I >plead the fifth!) > >If you want to write SWRL then you should have separate documents for OWL >information and SWRL rules. > >If you want to embed SWRL in something else, then you should probably not >use the RDF syntax. > > > Thanks! > > > > - David Martin > > (on behalf of various people working on OWL-S and Protege-based OWL > editors) > >Peter F. Patel-Schneider >Bell Labs Research > > >PS: I'm not particularly satisfied with the way this answer turned out. In >particular, there are ways around your problem - but you probably won't >like the answer. This topic really requires an interactive session to give >it full justice. ________________________________________________________________________________________________ Prof. Benjamin Grosof Web Technologies for E-Commerce, Business Policies, E-Contracting, Rules, XML, Agents, Semantic Web Services MIT Sloan School of Management, Information Technology group http://ebusiness.mit.edu/bgrosof or http://www.mit.edu/~bgrosof
This archive was generated by hypermail 2.1.4 : 02/12/05 EST