- From: Dónal Murtagh <domurtag@cs.tcd.ie>
- Date: Fri, 18 Jun 2004 15:00:57 +0100
- To: <www-ws@w3.org>
- Cc: <public-sws-ig@w3.org>
Greetings, My understanding is that OWL-S does not currently mandate any language for expressing preconditions, although the current frontrunner is SWRL. My own view of preconditions is that they amount to a test which evaluates to either true or false. For example, assume we have a book-buying process which takes an input CreditCardDetails (among others) and has a precondition CreditCardValid. Evaluating the truth of this precondtion could (for example) involve testing whether the credit card number has the correct format and whether the expiry date is later than the current date. In order to perform this test we need 3 pieces of information: 1. credit card number 2. expiry date 3. current date The first two could be characterised as 'external' in that they are provided by the user/agent invoking the process via the input parameter CreditCardDetails. Is it true to say that all such external information required to test a precondition must be obtained from the process' inputs, or can one assume that other information sources are available? My second question is about how to express such a precondtion via SWRL. The most common use for SWRL rules seems to be moving property values from one individual to another, e.g. hasParent(?x1, ?x2) ^ hasBrother(?x2, ?x3) => hasUncle(?x1, ?x3) adds a hasUncle property to the object bound to ?x1, the range of which is ?x3. But how should one express a precondition such as described above in SWRL syntax? Assuming CreditCardDetails has properties which provide the necessary information (e.g. CreditCardNumber, ExpiryDate), then presumably these could be used in conjunction with the SWRL built-ins to establish the truth of the precondition, buth what would appear as the consequent (RHS) of the rule? Thanks in advance, - Dónal
Received on Friday, 18 June 2004 10:02:04 UTC