Re: [ACTION-78] What it means to define OWL-1.1-Full as a "delta" to OWL-1.0-Full

Just to be clear where I stand - I have no objection to us doing a  
formal semantics for OWL 1.1 Full, and Michael's approach would be the  
one that makes most sense.  However, I also believe we would need to  
provide an explanation that is more "human readable" (operational or  
axiomatic semantcs or a god reference) because most Web App developers  
I know have told me they don't really understand the model theory  
stuff (which isn't that surprising, because after 30 years as an AI  
professor, I admit that I don't fully understand all the details)
  -JH
p.s. again, to be clear, this is my "druthers"


On Feb 12, 2008, at 10:12 AM, Michael Schneider wrote:

> Hello WG!
>
> My ACTION-78 [0] is to explain what it means to define OWL-1.1-Full  
> as a
> "delta" to OWL-1.0-Full. There was a straw poll about this question  
> at the
> last telecon, but some people asked what this actually means. Here  
> is my
> understanding of it.
>
> In short, the idea is to take the current OWL-1.0-Full semantics [1]  
> as a
> base, and to add semantics for each of the new language constructs in
> OWL-1.1 (e.g. QCRs). This "adding" of semantics would be performed by
> defining a set of "semantic conditions" to treat the new OWL-1.1  
> vocabulary,
> and to add these semantic conditions to those which already exist for
> OWL-1.0-Full. By this, one would follow the same approach which was  
> taken
> for defining OWL-1.0-Full as a "delta" to RDFS semantics. This  
> approach
> would automatically maintain backwards compatibility to OWL-1.0-Full  
> and
> RDF(S) in the sense that every entailment of RDF(S) and OWL-1.0-Full  
> is also
> an entailment of OWL-1.1-Full.
>
> I am going to elaborate on this idea now. I will first talk about  
> what it
> means that OWL-Full is a "semantic extention of RDFS". I will then  
> point to
> the observation that OWL-Full semantics is organized in a "layered"  
> style.
> Based on this, I will argue that a "delta" just means an additional  
> semantic
> layer for OWL-1.1-Full. There will also be an example for a "semantic
> condition", which is the basic building block of a semantic layer.
>
> == 1. OWL-Full as a "semantic extention of RDF(S)" ==
>
> The OWL-1.0-Full spec [1] calls OWL-Full a "semantic extention of  
> RDF[S]" in
> its first sentence, and points to the RDF semantics spec [2] for a
> definition of this term [3]. What this means is the following:
>
> The semantics of RDF(S) is a model theoretic semantics, which is  
> presented
> in the form of a set of "semantic conditions". These semantic  
> conditions are
> "IF->THEN" rules, which map one or more RDF triples in an RDF graph  
> to their
> respective mathematical meaning (see the example of such a semantic
> condition below). OWL-Full only adds additional semantic conditions  
> to the
> existing semantic conditions of RDFS.
>
> These additional semantic conditions of OWL-Full are primarily  
> intended to
> deal with the specific OWL vocabulary (e.g. 'owl:disjointWith').  
> There are
> also a few additional semantic conditions which extend the semantics  
> for the
> RDFS vocabulary (e.g. 'rdfs:subClassOf', see the example below). But  
> most of
> the semantics for RDFS vocabulary is already specified by RDFS  
> itself. So
> OWL-Full simply "inherits" parts of its semantics from RDFS, and  
> augments it
> with own semantic conditions.
>
> == 2. The layered architecture of OWL-Full semantics ===
>
> OWL-Full does not only inherit parts of its semantics from RDFS, but  
> it also
> copycats RDFS in defining the /style/ how the semantics are  
> presented. RDFS
> itself is a semantic extention to RDF. RDFS augments the existing  
> semantic
> conditions of RDF by own semantic conditions for the specific RDFS
> vocabulary (e.g. 'rdfs:Class'). And even RDF is a semantic extention  
> to so
> called "Simple" semantics. This will also be demonstrated in the  
> example
> below.
>
> With other words, the semantics for OWL-Full is presented in a  
> "layered"
> style: Each layer (1 "Simple", 2 RDF, 3 RDFS, 4 OWL-Full) just adds  
> new
> semantic conditions to the previous layer's set of semantic  
> conditions. This
> happens primarily in order to provide additional semantics to the  
> layer's
> specific vocabulary, and sometimes also in order to enrich the  
> semantics of
> the vocabulary from lower layers. *Never* is semantics from lower  
> layers
> canceled out by higher layers. All semantic conditions from lower  
> layers
> also exist in the higher layers.
>
> This approach has the advantage that higher layer languages are always
> automatically downwards compatible to all of its lower layer  
> languages (for
> example, OWL-Full is downwards compatible with RDFS). This means  
> that if
> there is some RDF graph G, all entailed triples produced from G by  
> the lower
> layer language are also entailed by the higher layer language. The  
> reason
> for this is that the higher layer language uses all the semantic  
> conditions
> of the lower one, and if some triple is already entailed by a subset  
> of
> semantic conditions, then it is entailed by a superset of semantic
> conditions, too.
>
> == 3. What does the "delta" mean? ==
>
> I interpret saying that OWL-1.1-Full is a "delta" to OWL-1.0-Full to  
> mean
> that OWL-1.1-Full is specified by just another layer of semantic  
> conditions
> on top of OWL-1.0-Full (layer 5). This means that there will be  
> dedicated
> semantic conditions for the new OWL-1.1 vocabulary, like e.g.  
> vocabulary
> related to QCRs, sub property chains, and the new property  
> characteristics.
> Everything else is inherited from OWL-1.0-Full, and by this  
> transitively
> from the lower layers, like RDFS.
>
> Note that this is an assertion about both the semantics for OWL-1.1- 
> Full
> itself AND the style how this semantics is organised. So if one asks  
> only
> for the semantics of OWL-1.1-Full, it would be sufficient to present  
> the
> same semantics in another style, perhaps a more "direct", non- 
> layered style.
>
> == 4. An example of a semantic condition ==
>
> Here is an example for how the layered approach works. The semantics  
> for
> subclassing axioms in RDFS and OWL-Full is discussed by looking at the
> respective semantic conditions involved. The following semantic  
> condition is
> given in the RDFS semantics spec [4]:
>
>  (SC-SUBCLASS)
>
>  IF
>      <x,y> is in IEXT(I(rdfs:subClassOf))
>  THEN
>      x and y are in IC
>    AND
>      ICEXT(x) is a subset of ICEXT(y)
>
> This semantic condition has the form of a rule. It "fires" its  
> "THEN" part,
> whenever there is some triple of the form "x rdfs:subClassOf y" in the
> regarded RDF graph, or when such a triple can be entailed by  
> applying other
> semantic conditions from RDFS semantics.
>
> Actually, the "IF" part specifies a slightly different (and more  
> complicated
> looking) condition: It demands that the tuple <x,y>, consisting of  
> resources
> x and y, is contained in the "property extention" IEXT(.) of the  
> property
> denoted by 'rdfs:subClassOf'. This is in fact a statement about the
> interpreted domain, not about the RDF graph itself (remember that RDFS
> semantics is a model theoretic semantics!). But this doesn't matter  
> here
> much, since it is essentially what the existence of a triple "x
> rdfs:subClassOf y" means.
>
> Now if this semantic condition fires, we get some new information:
>
>  (1) The not further specified resources x and y are determined to  
> be in
> fact /class/ resources. This is expressed by "x in IC", where "IC"  
> is that
> part of the RDFS universe, which contains exactly all class  
> resources. A
> class resource x is a resource, which additionally owns a "class  
> extention",
> i.e. the set of all resources z with "z rdf:type x".
>
>  (2) The class extention of x, named "ICEXT(x)", is a subset of  
> ICEXT(y),
> which is the class extention of y. This is, of course, what one  
> actually
> intends to express by specifying a subclass axiom.
>
>> From what I have said above about the layered approach to specify  
>> semantics
> for RDFS, the semantic condition SC-SUBCLASS is not yet the full  
> story. The
> RDFS semantics for 'rdfs:subClassOf' is given not only by this RDFS- 
> specific
> semantic condition, but also by the respective semantic conditions for
> "Simple" semantics and RDF semantics. The semantics of  
> 'rdfs:subClassOf' is
> thus "cumulative".
>
>  * Layer 1: From "Simple" semantics one can conclude that the  
> statements
>
>      _:u rdfs:subClassOf y
>      x rdfs:subClassOf _:w
>      _:u rdfs:subClassOf _:w
>
> are all true, where "_:u" and "_:w" are bNodes, which are  
> existentially
> interpreted. So, e.g., from knowing that x is a rdfs:subClassOf y,  
> one also
> learns that there /exists/ some subClassOf y.
>
>  * Layer 2: From RDF semantics one can conclude that the statement
>
>      rdfs:subClassOf rdf:type rdf:Property
>
> is true, i.e. 'rdfs:subClassOf' denotes some property in the RDF  
> universe.
>
>  * Layer 4: OWL-Full additionally specifies the semantic condition
> SC-SUBCLASS to be an IF-AND-ONLY-IF condition (in RDFS it is only a
> "IF-THEN" condition). So if one happens to find two class resources  
> x and y,
> and their class extentions ICEXT(x) and ICEXT(x) occur in a subset
> relationship, then the statement "x rdfs:subClassOf y" can be  
> deduced to be
> true.
>
> The first two layers (Simple and RDF semantics) can IMHO be regarded  
> to
> create a "semantic foundation" for RDF graphs. The entailed triples  
> itemized
> above result from /every/ triple within an RDF graph, not only from
> 'rdfs:subClassOf' triples.
>
> The fourth layer from OWL-Full allows in certain situations to  
> directly
> derive new triples from existing ones. For example, if one has the  
> triples
> 'x rdfs:subClassOf y' and 'y rdfs:subClassOf z' in an OWL-Full  
> ontology, one
> can, via the additional transitivity semantic condition of RDFS on
> 'rdfs:subClassOf', entail the triple 'x rdfs:subClassOf z'. The  
> semantic
> condition SC-SUBCLASS of RDFS semantics alone only provides the
> "mathematical meaning" of such an additional rdfs:subClassOf triple,  
> not the
> triple itself.
>
> Regards,
> Michael
>
>
> [0] http://www.w3.org/2007/OWL/tracker/actions/78
> [1] http://www.w3.org/TR/owl-semantics/rdfs.html
> [2] http://www.w3.org/TR/rdf-mt/
> [3] http://www.w3.org/TR/rdf-mt/#DefSemanticExtension
> [4] http://www.w3.org/TR/rdf-mt/#RDFSINTERP
>
> --
> 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
>
> FZI Forschungszentrum Informatik an der Universität Karlsruhe
> Haid-und-Neu-Str. 10-14, D-76131 Karlsruhe
> Tel.: +49-721-9654-0, Fax: +49-721-9654-959
> Stiftung des bürgerlichen Rechts
> Az: 14-0563.1 Regierungspräsidium Karlsruhe
> Vorstand: Rüdiger Dillmann, Michael Flor, Jivka Ovtcharova, Rudi  
> Studer
> Vorsitzender des Kuratoriums: Ministerialdirigent Günther Leßnerkraus

"If we knew what we were doing, it wouldn't be called research, would  
it?." - Albert Einstein

Prof James Hendler				http://www.cs.rpi.edu/~hendler
Tetherless World Constellation Chair
Computer Science Dept
Rensselaer Polytechnic Institute, Troy NY 12180

Received on Tuesday, 12 February 2008 15:43:30 UTC