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

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

From: Ian Horrocks <horrocks@cs.man.ac.uk>
Date: Mon, 10 Nov 2003 18:21:19 +0000
Message-ID: <16303.55071.819578.54646@merlin.horrocks.net>
To: David Martin <martin@ai.sri.com>
Cc: Drew McDermott <drew.mcdermott@yale.edu>, www-ws@w3.org

On November 10, David Martin writes:
> 
> [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.

As you know, there is already a draft charter for a "Semantic Web
Rules Working Group". It seems most sensible to continue working on
rules within the context of the WG, as and when it is chartered. Your
proposal seems to be just the sort of thing that ought to be
considered by such a WG.

Ian



> 
> - 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:24:22 GMT

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