- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Fri, 01 Mar 2002 15:39:21 -0500
- To: www-webont-wg@w3.org
How to Drive Towards a Same-Syntax Extension NB: This leads to semantic paradoxes. NB: This is incomplete. 1. Disclaimer I am not a proponent of OWL as a same-syntax extension of RDF(S). Some WG members seem to want it. I am putting together a document to show how such a version of OWL (BOWL) would have to work. The result is essentially a version of DAML+OIL with the following changes: 1/ The DAML+OIL constructs are restricted to be used in the intended ways, i.e., no malformed lists or restrictions with multiple onProperty's. 2/ Entailment gets you (closer to) what is needed. 2. Examples of Mandated Inferences I believe that any version of OWL must have the following sorts of valid inferences. I1/ If John is in both A and B, then John is in the (an) intersection of A and B. I2/ If John is an object, then John is in the (a) singleton class (or restriction) whose sole instance is John. I3/ If John has a child that is a Person, then John belongs to the (a) restriction that requires that its members have a child that is a Person. I4/ If John is in a restriction R whose p's all belong to R, then John is in some restriction whose p's all belong to the restriction itself. I5/ If Bill has no p's, then then Bill is in any restriction whose p's all belong to the restriction itself. The impact of these inferences will be seen below. In general, they require that lots of lists, classes, and restrictions exist in interpretations. 3. Same-syntax extensions Definition: same-syntax extension of RDF(S) ignoring datatypes A same-syntax extension of RDF(S) is a formalism, F, that a/ uses the same syntax as RDF, i.e., an F KB is an RDF graph in the form of a collection of triples, whose first and second elements are URI references and whose third elements are either URI references or literals, but not all RDF(S) graphs may be valid F KBs; and b/ whose interpretations are RDF(S) interpretations with extra conditions, i.e., all F interpretations of a KB are also RDF(S) interpretations of the same KB. 4. Syntax The syntax of BOWL is the same as the syntax of RDF(S). That is, a BOWL KB is an RDF graph in the form of a collection of triples, whose first and second elements are URI references and whose third element is either a URI reference or a literal. However, not all RDF(S) graphs are BOWL KBs. BOWL is concerned with the following URIs: Lists bowl:List, bowl:first, bowl:rest, bowl:nil Boolean Combinations of Classes bowl:intersectionOf, bowl:unionOf, bowl:disjointUnionOf, bowl:complementOf, bowl:sameClassAs Finite Sets bowl:oneOf Restrictions bowl:Restriction, bowl:onProperty, bowl:hasClass, bowl:toClass, bowl:maxCardinalityQ, bowl:hasClassQ, ... Properties bowl:TransitiveProperty, bowl:UniqueProperty, bowl:UnambiguousProperty, ... A BOWL KB is an RDF graph with the following provisios Lists: A list node is a node that has a bowl:first or bowl:rest property. All list nodes are anonymous. (Is this needed?.) All list nodes have exactly one bowl:first and one bowl:rest property. The object of a bowl:rest statement is either a list node or bowl:nil. Lists are finite and non-circular. Booleans: The object of a bowl:intersectionOf statement is a list node. The object of a bowl:unionOf statement is a list node. The object of a bowl:disjointUnionOf statement is a list node. Restrictions: A restriction node is a node with an rdf:type of bowl:Restriction. A restriction node has exactly one bowl:onProperty. A restriction node has exactly one of the following a) one bowl:hasClass, b) one bowl:toClass, c) one bowl:hasClassQ and one bowl:maxCardinalityQ, ... ... 5. Semantics A BOWL interpretation is an RDFS interpretation with the following additions: A/ Generation Rules Boolean combinations of classes - For every finite sequence of classes in an interpretation there is a list containing that sequence and a class related to that list via a bowl:intersectionOf/bowl:unionOf property. * This is needed to make I1 be a valid inference. - For every class in an interpretation there is a class related to that class via a bowl:complementOf property. Finite sets - For every finite sequence of objects in an interpretation there is a list containing that sequence and a class related to that list via a bowl:oneOf property * This is needed to make I2 be a valid inference. Restrictions - If p is a property and c is a class in an interpretation there is a restriction r with the following relationships <r,bowl:Restriction> in EXT(rdf:type) <r,p> in EXT(bowl:onProperty) <r,c> in EXT(bowl:hasClass>. * This is needed to make I3 a valid inference. - If p is a property and c is a class in an interpretation then for any non-negative number n there is a restriction r with the following relationships <r,bowl:Restriction> in EXT(rdf:type) <r,p> in EXT(bowl:onProperty) <r,n> in EXT(bowl:maxCardinalityQ> <r,c> in EXT(bowl:hasClassQ>. - [and so on for the other kinds of restrictions] ... Looping NB: This is certainly not standard, and is probably not sufficient. - If r1,...,rn are restrictions or classes; c1,...,cm are restrictions or classes; and l1,...,lo are lists and sk are the statements that have them as subjects then there is a restriction r', restrictions and classes (as c1,...,cm are restrictions or classes) c1', ..., cm', and lists l1',...,lo' such that for <x,y> in EXT(p) with x an ri, ci, or li then <x',y'> in EXT(p) where x' is r' if x is an ri, ci' if x is ci, li' if x is li and y' is r' if y is an ri, ci' if y is ci, li' if y is li, y otherwise * Something like this is needed to make I5 be a valid inference. B/ Conditions on BOWL vocabulary Intersection If <c,l> in EXT(bowl:intersectionOf) for l a list with elements li then CEXT(c) = CEXT(l1) ^ ... ^ CEXT(ln). Union If <c,l> in EXT(bowl:unionOf) for l a list with elements li then CEXT(c) = CEXT(l1) v ... v CEXT(ln). DisjointUnion If <c,l> in EXT(bowl:disjointUnionOf) for l a list with elements li then CEXT(c) = CEXT(l1) v ... v CEXT(ln) and CEXT(li) ^ CEXT(lj) = {} for 1<=i<j<=n. Complement If <c,d> in EXT(bowl:complementOf) then CEXT(c) = R - CEXT(d). SameClass If <c,d> in EXT(bowl:sameClassAs) then CEXT(c) = CEXT(d). Restrictions If <r,bowl:Restriction> in EXT(rdf:type) <r,p> in EXT(bowl:onProperty) <r,c> in EXT(bowl:hasClass> then CEXT(r) = { x : E y <x,y> in EXT(p) and y in CEXT(c) } If <r,bowl:Restriction> in EXT(rdf:type) <r,p> in EXT(bowl:onProperty) <r,c> in EXT(bowl:hasClassQ> <r,n> in EXT(bowl:maxCardinalityQ> then CEXT(r) = { x : E at most n y <x,y> in EXT(p) and y in CEXT(c) } [and so on for the other kinds of restrictions] Properties If <p,bowl:TransitiveProperty> in EXT(rdf:type) then <x,y>,<y,z> in EXT(p) implies <x,z> in EXT(p). If <p,bowl:UniqueProperty> in EXT(rdf:type) then <x,y>,<x,z> in EXT(p) implies y=z. If <p,bowl:UnambiguousProperty> in EXT(rdf:type) then <x,y>,<z,y> in EXT(p) implies x=z. 6. Paradox Every BWOL interpretation has resources for the following vocabulary rdf:type, owl:nil, rdfs:Literal therefore, from the finite set generation rule, in every BOWL interpretation there is a list l and class c as follows <l,bowl:List> in EXT(rdf:type) <l,rdfs:Literal> in EXT(bowl:first) <l,bowl:nil> in EXT(bowl:rest) <c,rdfs:Class> in EXT(rdf:type) <c,l> in EXT(bowl:oneOf) The class c is a singleton class consisting of rdfs:Literal. Now from the maxCardinalityQ generation rule, there is a restriction r as follows <r,bowl:Restriction> in EXT(rdf:type) <r,rdf:type> in EXT(bowl:onProperty) <r,0> in EXT(bowl:maxCardinalityQ) <r,c> in EXT(bowl:hasClassQ) The restriction r contains those resources that have no rdf:type's that belong to the singleton class consisting of rdfs:Literal. Now from the looping rule on r, rdfs:Literal; c; and l there is a restriction r', class c', and list l' such that <r',bowl:Restriction> in EXT(rdf:type) <r',rdf:type> in EXT(bowl:onProperty) <r',0> in EXT(bowl:maxCardinalityQ) <r',c'> in EXT(bowl:hasClassQ) <c',rdfs:Class> in EXT(rdf:type) <c',l'> in EXT(bowl:oneOf) <l',bowl:List> in EXT(rdf:type) <l',r'> in EXT(bowl:first) <l',bowl:nil> in EXT(bowl:rest) The restriction r' exhibits the paradox. It is a restriction whose instances do not have an rdf:type property that belongs to the class whose sole member is the restriction itself. If <r,r'> in EXT(rdf:type) then r does not meet the requirements of r' and thus <r,r'> must not be in EXT(rdf:type). If <r,r'> is not in EXT(rdf:type) then r does meet the requirements of r' and thus <r,r'> must be in EXT(rdf:type). So there can be no interpretation that has a restriction like this. However, all BOWL interpretations much have a restriction like this. Therefore there are no BOWL interpretations.
Received on Friday, 1 March 2002 15:39:50 UTC