OWL-S process preconditions

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