W3C home > Mailing lists > Public > www-ws@w3.org > November 2003

Re: Attempt to use Owl rule language to express preconditions in Congo

From: Monika Solanki <monika@dmu.ac.uk>
Date: Wed, 05 Nov 2003 18:06:31 +0000
Message-ID: <3FA93C27.2090702@dmu.ac.uk>
To: www-ws <www-ws@w3.org>

>
>
>My assumption is that OWL-S should use ORL if at all possible
>simply because it is going to be the standard.  There may be a slight
>problem using ORL for preconditions and effects, because the former
>is like a rule with no consequent, and the latter like a rule with no
>antecedent; but we can use some ad hoc extension of ORL until the
>gods invent a notational variant of it and declare it to be elegant.
>
>  
>
As Drew pointed out, many times it may be the case that we do not want 
to express an implication, but simply a predicate or a conjunction of 
predicates. This would normally be the case for "Condition"- which is 
used in many places within the Process model  Here is a first (crude) 
attempt at how it could be done.

1. Instead of <owl:Rule>, we define <process:Formula>  [Class]

2. Formula is made up of predicates, so we define
<process:Formula>
    <process:predicate rdf:parseType="Collection">

3. Then we define propertyPredicate etc from ORL. Definition of variable 
etc also remain as they are within ORL

4. Within a "predicate" definition, we would have number of property 
predicates as conjunction for a Formula.

5. This Formula can then be used whever we want to define "Condition", 
ofcourse with appropriate relationship between the two defined in the 
process Ontology i.e

Condition is of rdf:type Formula

So, if we just want to express the predicate  accountExists(acctID, 
password) we write

<process:Formula>
    <process:predicate rdf:parseType="Collection">
    <owl:individualPropertyAtom>
            <owl:propertyPredicate 
rdf:resource="&congoUserProfile;accountExists/>
                <owl:argument1 rdf:about="#AcctID" />
                <owl:argument2 rdf:about="#Password" />
        </owl:individualPropertyAtom>   
        <owl:individualPropertyAtom>
            <owl:propertyPredicate 
rdf:resource="&congoUserProfile;creditExists/>
                <owl:argument1 rdf:about="#AcctID" />
                <owl:argument2 rdf:about="#CreditCardNumber" />
        </owl:individualPropertyAtom>   
    </process:predicate>
<process:Formula>

Does this one make sense...... :-)

Cheers,

Monika
-- 
**>><<**>><<**>><<**>><<**>><<**>><<**>><<**
Monika Solanki
Software Technology Research Laboratory(STRL)
De Montfort University
Hawthorn building, H00.18
The Gateway
Leicester LE1 9BH, UK

phone: +44 (0)116 250 6170 intern: 6170
email: monika@dmu.ac.uk
web: http://www.cse.dmu.ac.uk/~monika
**>><<**>><<**>><<**>><<**>><<**>><<**>><<**
Received on Wednesday, 5 November 2003 13:07:46 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 3 July 2007 12:25:44 GMT