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

[Note: This thread is being moved to public-sws-ig@w3.org. After this 
message, replies should be sent only to public-sws-ig.  Subscription 
info is at http://www.w3.org/2002/ws/swsig/.]

Drew McDermott wrote:

>    [Monika Solanki]
>    2. Formula is made up of predicates, so we define
>    <process:Formula>
>        <process:predicate rdf:parseType="Collection">
> 
> Bad terminology.  People often speak of atomic formulas as
> "predicates," which yields a lot of confusion.
> 
> There are two alternatives I would recommend: either replace Formula
> with any connective, or require Formula to always label the topmost
> element, with an implicit conjunction inside.  The second is
> essentially what you're proposing, so I'd just change 'predicate' to
> 'conjuncts.' 
> 
>    ...
> 
>    3. Then we define propertyPredicate etc from ORL. Definition of variable 
>    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
> 
> Right.
> 
>    So, if we just want to express the predicate  accountExists(acctID, 
>    password) we write
> 
> Here's how I would change it:
> 
>    <process:Formula>
>        <process:conjuncts 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:conjuncts>
>    </process:Formula>

I believe the above is equivalent to an Horrocks/Patel-Schneider rule 
with an empty antecedent, and the 2 property atoms in the consequent. 
If that is true, perhaps we should just express it that way for now, so 
as to avoid defining our own Formula class which probably will be 
supplanted later.

I also wonder if Ian and Peter (and the joint committee) have any plans 
to define something like Formula (or at least "ConjunctiveFormula"), so 
that one can write non-rule formulas a little more conveniently.

- David

> 
> If you want an OR here instead (which makes no sense, but is
> syntactically illustrative), you write:
> 
>    <process:Formula>
>        <process:conjuncts rdf:parseType="Collection">
>            <process:Or>
>               <process:disjuncts 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:disjuncts>
>            </process:Or>
>        </process:conjuncts>
>    </process:Formula>
> 
> 
> 

Received on Monday, 10 November 2003 13:11:20 UTC