- From: Evren Sirin <evren@cs.umd.edu>
- Date: Fri, 04 Feb 2005 01:35:23 -0500
- To: Daniel Elenius <elenius@csl.sri.com>
- CC: "daml-process@bbn.com" <daml-process@bbn.com>, public-sws-ig@w3.org
Daniel Elenius wrote: > > In the OWL-S examples, we have SWRL-expressions such as > > <expr:SWRL-Condition rdf:ID="ExpressCongoBuyAcctExists"> > <rdfs:label>hasAcctID(ExpressCongoBuySignInInfo, > ExpressCongoBuyAcctID)</rdfs:label> > <expr:expressionLanguage rdf:resource="&expr;#SWRL"/> > <expr:expressionBody rdf:parseType="Literal"> > <swrlx:AtomList> > <rdf:first> > <swrlx:IndividualPropertyAtom> > <swrlx:propertyPredicate rdf:resource="#hasAcctID"/> > <swrlx:argument1 > rdf:resource="#ExpressCongoBuySignInInfo"/> > <swrlx:argument2 rdf:resource="#ExpressCongoBuyAcctID"/> > </swrlx:IndividualPropertyAtom> > </rdf:first> > <rdf:rest rdf:resource="&rdf;#nil"/> > </swrlx:AtomList> > </expr:expressionBody> > </expr:SWRL-Condition> > > > I have two concerns about this format: > > 1) Aren't all SWRL expressions supposed to be instances of the > http://www.daml.org/rules/proposal/swrl.owl#Imp class? No, a SWRL expression body is supposed to be an AtomList which is simply the conjunction of atoms in the list. > I know that this was the case in an intermediate > version of OWL-S, but this version does not seem to be available > anymore. Expressions were rules with > empty heads (bodies?). I think at some point it was considered to use rules with empty bodies. Then the expression would be written as the head of the rule. SWRL defines empty body to be trivially true so the implication is true whenever the head is true. But using rules in this way would be more confusing so it was decided to use AtomList's directly. > > 2) If this is not the case, i.e. we can use constructs from SWRL as we > feel like it, No, we can not. Only AtomList's are allowed to be used. If the SWRL expressions were not defined as literals we would have the following restriction: SubClassOf(SWRL-Expression restriction(expressionBody allValuesFrom(swrl:AtomList)) > then why do we have > an AtomList in the example above, where there is only one Atom? (The > same occurs all over BravoAirProcess.owl > and CongoProcess.owl). We could just put the IndividualPropertyAtom > directly under expressionBody. To be consistent we are always using AtomLists (in these cases lists with one element). > > > And some bugs in the expressions: > > 3) In BravoAirProcess.owl, swrl expressions refer to > #hasFlightItinerary, but this > property is never declared. In CongoProcess.owl, there is a reference > to an undeclared #creditNumber > property (should be #cardNumber I think). Yes, there are couple of errors in the expressions (some others were also reported). I'm hoping we will have better examples for the next version. Regards, Evren > > > /Daniel > > > > > > >
Received on Friday, 4 February 2005 06:36:22 UTC