W3C home > Mailing lists > Public > public-owl-wg@w3.org > September 2008

Re: Comment on OWL 2 Full Semantics

From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
Date: Mon, 15 Sep 2008 09:43:49 -0400 (EDT)
Message-Id: <20080915.094349.131894469.pfps@research.bell-labs.com>
To: schneid@fzi.de
Cc: baojie@cs.rpi.edu, public-owl-wg@w3.org

The treatment of axioms with main blank nodes is somewhat a matter of
taste.  I see no particular technical issues with their current
treatment in the core OWL 2 Full semantic and will thus not vote against
going forward in this manner.

peter

From: "Michael Schneider" <schneid@fzi.de>
Subject: RE: Comment on OWL 2 Full Semantics
Date: Mon, 15 Sep 2008 15:34:20 +0200

> Hi Peter and Jie, 
> 
> finally, here is my answer to your review comments concerning those
> semantic conditions, which are split into two "IF" conditions, and where
> the second part has an existential variable.
> 
> Jie Bao wrote as a review comment:
> 
>   """
>   I found many conditions in this section are defined 
>   as comprehension rules (usually in the "iff" form). 
>   Will it be better to move all the comprehension ones 
>   into section 6, together with existing comprehension 
>   conditions?
>   """
> 
> And Peter F. Patel-Schneider wrote per email on September 09, 2008: 
> 
> >I noticed that there are some (partial) comprehension principles in
> >Section 4 of the OWL 2 Full Semantics document.  
> 
> (The rest of the mail follows below.)
> 
> All these are not meant to be comprehension principles, although they
> look so, because they contain an existentially quantified variable. Sub
> property chains, the n-ary axioms ("All*"), and the negative property
> assertions are axioms in OWL 2 DL, and I wanted to define IFF conditions
> for them in Full just as for every other DL axiom. But these particular
> axioms have a "root node" in their RDF syntax, which has to be provided
> somehow. I "create" it by the existential. That's a simple and effective
> approach, which keeps the treatment local (no need to deal with it in
> different parts of the document), and which doesn't hurt too much the
> main structure of the semantic condition.
> 
> For the latter claim to see, imagine that the RDF syntax of sub property
> chains would not contain a root node, as in
> 
>   q owl:subsumesPropertyChain (p1...pn)
> 
> I would define the following IFF semantic condition for this alternative
> form:
> 
>   IF l sequence of p1...pn in IR THEN
>       <q,l> in IEXT(IS(owl:subsumesPropertyChain))
>     IFF
>       q, p1, ..., pn in IP,
>       IEXT(p1) o ... o IEXT(pn) sub IEXT(q)
> 
> This can be equivalently split into the following two semantic
> conditions:
> 
>  - IF
>      l sequence of p1...pn in IR,
>      <q,l> in IEXT(IS(owl:subsumesPropertyChain))
>    THEN
>      q, p1, ..., pn in IP,
>      IEXT(p1) o ... o IEXT(pn) sub IEXT(q)
> 
>  - IF 
>      l sequence of p1...pn in IP,
>      q in IP,
>      IEXT(p1) o ... o IEXT(pn) sub IEXT(q)
>    THEN
>      <q,l> in IEXT(IS(owl:subsumesPropertyChain))
> 
> Now compare this with the current two semantic conditions for the
> multi-triple RDF encoding:
>   
>  - IF 
>      l sequence of p1...pn in IR,
>      <x,q> in IEXT(IS(rdfs:subPropertyOf)),
>      <x,l> in IEXT(IS(owl:propertyChain))
>    THEN
>      q, p1, ..., pn in IP,
>      IEXT(p1) o ... o IEXT(pn) sub IEXT(q)
> 
>  - IF
>      l sequence of p1...pn in IP,  
>      q in IP,
>      IEXT(p1) o ... o IEXT(pn) sub IEXT(q)
>    THEN
>      EXISTS x in IR,
>      <x,q> in IEXT(IS(rdfs:subPropertyOf)),
>      <x,l> in IEXT(IS(owl:propertyChain))            
>  
> These two IF semantic conditions have almost the same basic form as the
> split semantic condition for the single-triple variant, except for the
> additional "EXISTS x in IR" premise. IMHO, that's a pretty small
> difference, and the "EXISTS x" just does enough to treat the "missing
> root node" issue. Also, this approach will probably work in the same
> form for every case where there is a root node for some axiom; at least,
> it does work this way for all current cases in OWL 2. Btw, I don't see a
> technical reason for not having two separate "IF" conditions instead of
> a single "IFF" condition /always/. The reason for the single "IFF"
> conditions is purely editorial: It takes less space to write them down,
> and it keeps those things together, which belong to the same language
> construct.
> 
> Compared with this, Peter's proposal below seems more complicated and
> not less unusual looking to me:
> 
> (1) It is a "non-local" treatment which affects three different parts of
> the document: The main semantic condition for the language feature, the
> "Classes" and "Properties" tables, and the comprehension principles.
> 
> (2) It introduces a sort of IFF condition, which does not occur
> elsewhere in the Full Semantics: Denotations of triples containing the
> language feature's vocabulary occur on both sides of the semantic
> condition, e.g.:
> 
> >    x in ICEXT(IS(owl:NegativePropertyAssertion))
> >    <x,u> in IEXT(IS(owl:sourceIndividual))
> >    <x,p> in IEXT(IS(owl:assertionProperty))
> >    <x,w> in IEXT(IS(owl:targetIndividual))
> >    IFF
> >    <x,u> in IEXT(IS(owl:sourceIndividual))
> >    <x,p> in IEXT(IS(owl:assertionProperty))
> >    <x,w> in IEXT(IS(owl:targetIndividual))
> >    <u,w> not in IEXT(p)
> 
> I don't say that this is wrong, because it's technically perfectly
> allowed. But I followed a design idea to have the semantic conditions
> look similar to typical interpretations, where you have a syntactic
> expression on the LHS, and its set-theoretic interpretation on the RHS
> (as, for example, in the DL semantics). Of course, the Full Semantics
> works a bit different, since in OWL Full semantic conditions have their
> consequent /and/ their antecedent in the interpretation space. But I
> find the above approach at least confusing. Also, having the "triples"
> on the RHS makes it hard for the right-to-left side to fire. In
> practice, if the regarded RDF graph does not already contain these
> triples, the right-to-left side needs the help of a comprehension
> principle to fire. And if these triples are already in the graph, then
> the right-to-left side isn't needed anyway. Well, /almost/ not
> necessary, this brings us to my next point.
> 
> (3) The semantic conditions in the "Properties" class are weakened in
> order to help make the proposed IFF conditions into "real" IFF
> conditions. In the example cited above, if the domain of
> owl:sourceIndividual would be ICEXT(IS(owl:NegativePropertyAssertion)),
> as it is the case at the moment, then the IFF condition would
> effectively be an ONLY-IF condition, since the right-to-left implication
> would be trivially true. I don't think that we should change the domain
> and range of the vocabulary denotations, just to receive "real" iff
> conditions, but maybe I missed something here?
> 
> I would also have some trouble with having the right-to-left sides as
> comprehension principles, as they differ from the current comprehension
> principles for lists and class expressions in that their premises are
> more demanding. But I don't want to extend this mail any more. My claim
> is that the current approach is more simple and straightforward,
> although I agree that it is a bit ugly and might even be confusing. To
> at least address the problem of possible confusion, I have now added
> some introductory text to the beginning of the "Semantic Conditions"
> section, which in particular addresses the "existential" semantic
> conditions. Here is the diff:
> 
>   <http://www.w3.org/2007/OWL/wiki/index.php?title=RDF-Based_Semantics&diff=12926&oldid=12913>
> 
> Please tell me whether this is ok for you or not.
> 
> Cheers,
> Michael
> 
> >This would require the following changes:
> >
> >1/ Remove all partial comprehension principles from Section 4, i.e.,
> >   remove the second halves of Table 4.11, 4.13, and 4.17.  The
> >   comprehension principles in Section 6 would have to be augmented to
> >   make up for these removals.
> >
> >2/ Change the domain of owl:distinctMembers, owl:assertionProperty,
> >   owl:sourceIndividual, owl:targetIndividual, and owl:targetValue to
> > IR, to allow for comprehension-free IFF semantic conditions for their
> >   axioms.
> >
> >3/ Provide comprehension-free IFF conditions for n-ary axioms, somewhat
> >   similar to the one already existing for disjointUnionOf:
> >
> >  Table 4.13 N-ary Axioms
> >    if l sequence of u1, ..., un in IR then
> >    - x in ICEXT(IS(owl:AllDifferent))
> >      <x,l> in IEXT(IS(owl:members))
> >      IFF
> >      <x,l> in IEXT(IS(owl:members))
> >      u1 /= uk  for 1<=i<k<=n
> >    - same for owl:distinctMembers
> >    - x in ICEXT(IS(owl:AllDisjointClasses))
> >      <x,l> in IEXT(IS(owl:members))
> >      IFF
> >        <x,l> in IEXT(IS(owl:members))
> >      ICEXT(ci) ^ ICEXT(ck) = {} for 1<=i<k<=n
> >    - similarly for AllDisjointProperties
> >
> >4/ Provide comprehension-free IFF conditions for negative property
> >   assertions:
> >
> >  Table 4.17: Negative Property Assertions
> >  - x in ICEXT(IS(owl:NegativePropertyAssertion))
> >    <x,u> in IEXT(IS(owl:sourceIndividual))
> >    <x,p> in IEXT(IS(owl:assertionProperty))
> >    <x,w> in IEXT(IS(owl:targetIndividual))
> >    IFF
> >    <x,u> in IEXT(IS(owl:sourceIndividual))
> >    <x,p> in IEXT(IS(owl:assertionProperty))
> >    <x,w> in IEXT(IS(owl:targetIndividual))
> >    <u,w> not in IEXT(p)
> >  - x in ICEXT(IS(owl:NegativePropertyAssertion))
> >    <x,u> in IEXT(IS(owl:sourceIndividual))
> >    <x,p> in IEXT(IS(owl:assertionProperty))
> >    <x,w> in IEXT(IS(owl:targetValue))
> >    IFF
> >    <x,u> in IEXT(IS(owl:sourceIndividual))
> >    <x,p> in IEXT(IS(owl:assertionProperty))
> >    <x,w> in IEXT(IS(owl:targetValue))
> >    p in IDP
> >    <u,w> not in IEXT(p)
> >
> >5/ Provide comprehension-free IFF semantic conditions for reifications
> >   needed for annotations:
> >
> >     Table 4.18: Reification for Annotation
> >     - x in ICEXT(IS(owl:Axiom))
> >       <x,u> in IEXT(IS(owl:subject))
> >       <x,p> in IEXT(IS(owl:predicate))
> >       <x,w> in IEXT(IS(owl:object))
> >       iff
> >       <x,u> in IEXT(IS(owl:subject))
> >       <x,p> in IEXT(IS(owl:predicate))
> >       <x,w> in IEXT(IS(owl:object))
> >       <u,w> in IEXT(p))
> >     - x in ICEXT(IS(owl:Annotation))
> >       <x,u> in IEXT(IS(owl:subject))
> >       <x,p> in IEXT(IS(owl:predicate))
> >       <x,w> in IEXT(IS(owl:object))
> >       iff
> >       <x,u> in IEXT(IS(owl:subject))
> >       <x,p> in IEXT(IS(owl:predicate))
> >       <x,w> in IEXT(IS(owl:object))
> >       p in IAP
> >       <u,w> in IEXT(p))
> 
> --
> Dipl.-Inform. Michael Schneider
> FZI Forschungszentrum Informatik Karlsruhe
> Abtl. Information Process Engineering (IPE)
> Tel  : +49-721-9654-726
> Fax  : +49-721-9654-727
> Email: Michael.Schneider@fzi.de
> Web  : http://www.fzi.de/ipe/eng/mitarbeiter.php?id=555
Received on Monday, 15 September 2008 13:44:59 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:42:07 UTC