Representation of SWRL expressions in OWL-S

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? 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?).

2) If this is not the case, i.e. we can use constructs from SWRL as we feel like it, 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.


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).


/Daniel

Received on Wednesday, 2 February 2005 19:03:19 UTC