- From: Jim Hendler <hendler@cs.rpi.edu>
- Date: Tue, 12 Feb 2008 10:43:07 -0500
- To: Michael Schneider <schneid@fzi.de>
- Cc: <public-owl-wg@w3.org>
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