- From: Dónal Murtagh <domurtag@cs.tcd.ie>
- Date: Wed, 23 Jun 2004 18:11:45 +0100
- To: <public-sws-ig@w3.org>
Greetings, Judging by the recent discussion on OWL-S preconditions, there seems to exist broad approval for the syntactic representation used in the example cited by Drew: <owls:AtomicProcess> <owls:hasPrecondition> <owls:Expression expressionLanguage="&swrl;#SWRL" rdf:parseType="Literal"> <ruleml:body rdf:parseType="Collection"> <swrl:individualPropertyAtom> <swrl:propertyPredicate rdf:resource="creditCardAuth"/> <swrl:argument1 rdf:resource="#cc"/> <swrl:argument2 rdf:datatype="&xsd;#string">Yes</swrl:argument2> </swrl:individualPropertyAtom> </ruleml:body rdf:parseType="Collection"> </owls:Expression> </owls:hasPrecondition> </owls:AtomicProcess> Specifically, support seems to exist for the ability to let an expression say what language it is in and then use that content language to describe preconditions and effects. However, there doesn't appear to be any consensus about how bindings should be specified. For example, does the precondition above imply that the AtomicProcess has an input #cc: <process:Input rdf:ID="cc"> <process:parameterType rdf:resource="http://www.example.org/PaymentInstruments#CreditCard" /> <rdfs:label>Credit Card</rdfs:label> </process:Input> Or is there another way to specify the binding of #cc to an Input (or something else)? Another matter which wasn't addressed during the recent discussion is how a preconditon is tested/executed/evaluated - once the condition itself and its bindings have been correctly specified? Finally, for the purpose of service composition it is necessary to find processes which are compatible from the point of view of their preconditions and effects. For example, a process which has an effect such as: <owls:AtomicProcess> <owls:hasEffect> <owls:Expression expressionLanguage="&swrl;#SWRL" rdf:parseType="Literal"> <ruleml:body rdf:parseType="Collection"> <swrl:individualPropertyAtom> <swrl:propertyPredicate rdf:resource="creditCardAuth"/> <swrl:argument1 rdf:resource="#cc"/> <swrl:argument2 rdf:datatype="&xsd;#string">No</swrl:argument2> <!-- INCOMPATIBLE --> </swrl:individualPropertyAtom> </ruleml:body rdf:parseType="Collection"> </owls:Expression> </owls:hasEffect> </owls:AtomicProcess> could never be executed immediately before a process which has a precondition such as that shown earlier, assuming #cc is bound to the same instance in both cases. The point is that the compatibility of some preconditions and effects can be determined without binding information and it might be useful to distinguish these from preconditons and effects whose compatibility cannot be determined without binding information. Regards, - Dónal
Received on Wednesday, 23 June 2004 13:11:49 UTC