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

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

From: Michael Schneider <schneid@fzi.de>
Date: Tue, 12 Feb 2008 16:12:09 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A0750B3E@judith.fzi.de>
To: <public-owl-wg@w3.org>
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


Received on Tuesday, 12 February 2008 15:12:35 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 12 February 2008 15:12:35 GMT