W3C home > Mailing lists > Public > public-owl-dev@w3.org > October to December 2007

RE: [OWLWG-COMMENT] Example why current RDF mapping for QCRs might hurt OWL-1.1-Full

From: Michael Schneider <schneid@fzi.de>
Date: Wed, 19 Dec 2007 22:59:45 +0100
Message-ID: <0EF30CAA69519C4CB91D01481AEA06A05A5EBF@judith.fzi.de>
To: "Pat Hayes" <phayes@ihmc.us>
Cc: "Owl Dev" <public-owl-dev@w3.org>

Hi Pat!

Pat Hayes wrote:
>>>OK, let me modify the proposal slightly. It is
>>>structurally the same but the terminology has been altered, according
>>>the following table:
>>>old proposal		new proposal
>>>owl:UQRestriction		owl:Restriction
>>>owl:QRestriction		owl:QRestriction
>>>owl:Restriction		owl:Restriction1.1
>>>with isomorphic relationships between them.
>>This means that the additional axioms, you mentioned in your 
>previous mail,
>>will become:
>>   owl:Restriction rdfs:subClassOf owl:Restriction1.1 .
>>   owl:QRestriction rdfs:subClassOf owl:Restriction1.1 .
>>   owl:QRestriction owl:disjointWith owl:Restriction .
>Yes, though I'm using owl11:Restriction rather 
>than owl:Restriction1.1 below, following your 
>>>This introduces a new
>>>name for the class of restrictions in 1.1, which is a proper
>>>superclass of the restrictions in 1.0, thereby maintaining
>>>consistence of terminology between 1.0 and 1.1. The RDF
>>>representation for an unqualified restriction in 1.1 is now exactly
>>>the same as it was in 1.0, and has isomorphic conditions imposed upon
>>>it. OWL 1.1 will therefore use the exact same RDF encoding for its
>>>1.0 subset as 1.0 does, and will support the exact same entailments
>>>within that subset.
>>I'm afraid there is still a problem. :-( It will at least not 
>be possible to
>>simply extend the current RDF compatible semantics of OWL-1.0 
>with your
>Well no, but that isn't necessary, and is 
>probably not going to be possible in any case for 
>other reasons, I would guess. OWL 1.1 can 
>(should? must?) be given its own semantic 
>specification, especially for the RDF embedding, 
>which should support the same entailments as 1.0 
>for the 1.0 fragment, but can (should? must?) be 
>phrased somewhat differently. It is easy to see 
>how to do it, Im sure you could write it out, but 
>I hereby volunteer to do so if you feel it is 

Erm, step by step, please! For the moment, I would still prefer to keep
focussing on the very specific (Q)CR aspect of OWL-Full! :)

I have to admit that I didn't feel very well when I challenged your proposal
with this "rougue"-kind of argument presented below (but I couldn't resist,
of course ;-)): That the semantic condition for cardinality restrictions
already fires on (onProperty,cardinality) triple pairs, without taking the
"_:x rdf:type owl:Restriction" typing triple into accout. My estimation at
the moment is that the structure of the semantic conditions for
restrictions, as given in the OWL-1.0 semantics spec, should really be
reconsidered when it comes to constructing the RDF compatible semantics for
OWL-1.1. However, I also think that such a reconsideration should be done
independently from the "QCR-RDF-encoding" question, which we discuss in this
thread. Anyway, I promise to not using this argument again in this
discussion. :) 

>The chief advantage to this compared to Peter's 
>suggestion is that it keeps the actual language 
>simpler, which is a huge advantage compared to 
>making it easier to write the semantic spec. 

I disagree with this claim! I believe that Peter's suggestion would be more
coherent (from a usage perspective, not talking about semantics here) w.r.t.
the way how OWL deals with restrictions today.

OWL-1.0 has several different restrictions (allValuesFrom, existsValue,
hasValue, (min|max)?cardinality), all of them represented in a common class
owl:Restriction. Now, QCRs enter the field, and suddenly there would be a
separate (even disjoint) class owl11:QRestriction for QCRs alone, and a
second class owl11:Restriction to contain both the QCRs and the "rest" of
the restrictions. If I wasn't aware of our discussion here, this "special
handling" of QCRs would look pretty strange to me. I would certainly ask
myself what was so special about QCRs that they need to have their strictly
separated own part of the OWL universe, while all the other restrictions do
not need any further explicit distinction. I would regard it to be even more
strange, if I was aware of the fact that there actually /are/ special kinds
of QCRs in OWL-1.0, which are, of course, members of the old class

  * ordinary cardinality restrictions are QCRs on class owl:Thing

  * existsValue restrictions are ">=1"-QCRs

Having these special QCRs in a different class from general QCRs is, of
course, not a bug in a technical sense (because from only knowing that the
class extensions of two given QCRs are equal, it can *not* be entailed that
the respective class /resources/ are also the same). But, I claim, this
would at least /"feel"/ like a bug, and I would try to avoid sources of
getting such feelings, esp. w.r.t. OWL newbies.

I want to note that this problem would, of course, /not/ exist, if in
OWL-1.0 the distinction between different restriction types would be made by
/class/. So if there were already classes

  * owl:ExistsValueRestriction
  * owl:AllValueRestriction
  * owl:(Min|Max)?CardinalityRestriction
  * owl:HasValueRestriction

all of them being subclasses of


then having additional classes

would look natural to me, and I would really prefer your proposal (but only
if these QCR classes would also be instances of owl:Restriction, not

But, actually, the distinction between the different restriction types is
made by using specific /properties/, not by classes, i.e. we have

  * owl:existsValue
  * owl:allValuesFrom
  * owl:(min|max)?cardinality
  * owl:hasValue

So it just looks consequent to me to get new properties

  * owl11:(min|max)?qualifiedCardinality

for specifying QCRs in RDF. And this is actually what Peter suggests.

(Of course, the third possibility you mention below, to have new
'onProperty'-like vocabulary, is not more than just a "technical solution"
in this regard. I don't think that it is worthwhile to discuss this approach
any further. :))

>I don't think Peter's suggestion is feasible. 
>is not alone in absolutely detesting the old DAML 
>vocabulary, and if it is brought back simply to 
>avoid a routine piece of spec-writing, there will 
>be hell to pay (and quite rightly, IMO). It might 
>even prevent the spec reaching REC status. I for 
>one would strongly lobby against any attempt to 
>bring back the bad points of DAML syntax.

For me, coming relatively late to the SemWeb world (quite some time after
OWL-1.0 has been released, let alone DAML), this is something I don't
understand. I can see that DAML had QCR vocabulary, while OWL-1.0 had not.
And I can see that the "QCR in OWL?" question had been *postponed* (not
closed!) according to 


So I would expect that the old WG left open the door for QCRs to enter OWL
for the case that the problems of that time are solved in the future. And
when I read the list of problems in the link above, then all I can say is,
yes, it's time for the WG to open the door! 

Well, I notice from the discussion in this thread that neither you nor Jim
do actually oppose the introduction of QCRs as a feature. But what is then
the problem with the vocabulary? What are the "bad points of DAML syntax",
as you call them? I simply do not understand this.

>BTW, you say that Peter's suggestion is 'robust', 
>but the central problem of it is that it uses the 
>same term for the class of 1.0 restrictions as 
>for 1.1 restrictions, yet these are different 
>sets. This is not a robust technique! It is 
>likely to cause other problems, since the meaning 
>of a central part of the semantic spec shifts 
>incompatibly between the 1.0 and 1.1 specs. Its 
>relatively easy to change the words: what makes 
>things robust is not changing the mathematics.

This seems to be a semantical aspect which I did not consider yet: When I
correctly understand you, you say that the new class names
'owl11:QRestriction' and 'owl11:Restriction' should be introduced, because
the old class name 'owl:Restriction' exists for the old OWL-1.0
restrictions, and it should be prevented to accidentaly re-interpret this
class name in OWL-1.1. So if this is really a danger, then introducing the
new class names would be the save way, I agree. 

But I think this can be checked. The current OWL-1.0 semantic conditions
dealing with restrictions should have the potential to bring trouble when a
new restriction type, or the set of QCRs specifically, are additionally put
into the class owl:Restriction. But from looking into §5.2 of the OWL-1.0
semantics spec, I cannot find anything which really looks dangerous. 

The first semantic condition dealing with restrictions is in table
"Conditions concerning the parts of the OWL universe and syntactic
categories", and it in essence says:

  owl:Restriction rdfs:subClassOf owl:Class (or rdfs:Class)

This is harmless, and would also be true for your proposed additional
classes, of course. 

Second, there are the specific semantic restriction conditions in table
"Conditions on OWL restrictions". But they only determine the extensions of
the respective restriction classes. This, again, looks rather harmless to
me, because from this information about restriction class extensions I
cannot draw any conclusions about the properties or the extension of class

Finally, restrictions appear in the table about "Comprehension conditions",
so let me see whether I actually comprehend them. :) For example, one of
these comprehension conditions say that for each property p and for each
number n there is some cardinality restriction r with

  r rdf:type owl:Restriction ;
    owl:onProperty p ;
    owl:cardinality n .

And for each restriction type in OWL-1.0 there exists some analog
comprehesion condition in this table. Ok, this tells me something about what
I can expect to find within class owl:Restriction. *But* it does not tell me
that these are *all* the restrictions I will find in owl:Restriction. I
cannot even see that these comprehension conditions put any kind of
constraint on what things owl:Restriction can additionally contain and what
not. So, again, this looks reasonably harmless to me.

All in all, I believe that the RDF compatible semantics for OWL-1.0 will not
bring us into trouble, when we consider to also add QCRs in class
rdf:Resource. There would then be an additional entry in the "Conditions on
OWL restrictions" table, and also an additional "comprehension condition"
for QCRs, but I do not see how this can become a problem. Instead of
regarding owl:Restriction as the class of all OWL-1.0 restrictions, I would
rather like to regard class owl:Restriction to be the class of *all
thinkable* restrictions, even if they will first enter the game in OWL-6.0
or whatever. I believe that with my checks performed above, this stance is
pretty save.

So, until you show me an error in my argumentation above, or some hidden
additional information which I did not take into account (quite possible,
certainly, this was just a quick check), I do not see any need for action
here to introduce new classes in order to cope with the new QCRs. Otherwise,
next time, in OWL-2.0, there will be again a new type of restrictions, and
then it will be necessary to introduce another pair of new restriction
classes, and so on. I don't believe that that any OWL user will want to bye
this hack. :)    

To summarize, apart from the "DAML" question, which I do not understand, and
which makes me a bit scary ("It might even prevent the spec reaching REC
status."), I am now even more convinced that I should prefer Peter's
suggestion to your's. Both from usage aspects and semantical aspects.


>>The natural solution seems to be to change the semantic cardinality
>>condition into:
>>   IF
>>     x rdf:type owl:Restriction .
>>     x owl:onProperty p .
>>     x owl:cardinality n .
>>   THEN
>>     ...
>>But if this "bugfix" would be applied in the OWL-1.1 
>semantics, OWL-1.1-Full
>>would not really be perfectly backwards compatible with 
>OWL-1.0-Full. Fact
>>is that according to OWL-1.0-Full semantics the following RDF 
>graph already
>>completely specifies a cardinality restriction:
>>   (R21) _:x owl:onProperty <hasBodyPart> .
>>   (R22) _:x owl:cardinality 2 .
>>Because both, that the additional information that '_:x' denotes an
>>owl:Restriction, and that the extension of this class equals 
>a cardinality
>>restriction, is entailed from {(R2*)} through the OWL-1.0 semantic
>>cardinality restriction. But with the "fixed" semantic 
>cardinality condition
>>in OWL-1.1, this graph would not match any semantical 
>condition anymore, so
>>it would *not* specify a cardinality restriction.
>True, well spotted.
>>The question is, whether this new loss of backwards 
>compatibility may be
>>regarded to be a minor problem. Well, this is certainly hard 
>to answer, and
>>I am neither able nor willing to answer this question.
>Well, I am :-) It is minor. I bet there isn't a 
>single deployed 1.0 ontology which omits the 
>owl:Restriction triple in this way. IMO this very 
>small change is well worth the cost of an ugly 
>extension to the language. But for compatibility 
>purists, read on.
>>  Instead, I prefer to
>>go the easy way, by voting for Peter's solution to introduce 
>a new property
>>   owl11:qualifiedCardinality
>>With this, the above problems will not occur, because 
>OWL-1.0-Full simply
>>does not have any semantic condition which matches parts of 
>the RDF graph
>>  (R31) _:x rdf:type owl:Restriction .
>>  (R32) _:x owl:onProperty <hasBodyPart> .
>>  (R33) _:x owl:qualifiedCardinality 2 .
>>  (R34) _:x owl11:onClass <Leg> .
>>besides one condition which entails from (R31) that _:x is an 
>owl:Class, but
>>this is ok, of course.
>One gets a similar fix by modifying the 
>onProperty, which has the advantage that it does 
>not alter the 'core' vocabulary, only the 
>vocabulary that is introduced to handle the RDF 
>(R31') _:x rdf:type owl:Restriction .
>(R32') _:x owl11:onPropertyQ <hasBodyPart> .
>(R33') _:x owl:cardinality 2 .
>(R34') _:x owl11:onClass <Leg> .
>And this could be given an analogous semantics 
>where the first triple is redundant.

Of course, but this is now really a purly /technical/ solution. 

>But I am 
>still leery of calling this an owl:Restriction. 
>The fact is, its not an OWL1.0 restriction. It 
>just takes one 'iff' in the spec to foul things 
>up. I'd rather use
>(R31'') _:x rdf:type owl11:Restriction .
>>So Peter's solution seems to work in a robust way, and it 
>will also allow
>>(or I should better say: it won't prevent) to construct an 
>>semantics, which is backwards compatible with OWL-1.0-Full by simply
>>extending the current set of semantic conditions in OWL-1.0.
>As said above, I think this is a misguided 
>ambition, one likely to create more problems than 
>it solves, and in any case not semantically or 
>mathematically necessary. This kind of situation, 
>where adding some new vocabulary requires one to 
>rephrase the older semantic conditions to 
>preserve their intended meaning in a larger 
>language, is not at all uncommon.
>>  (Whether there
>>will still have to be fixes to certain OWL-1.0 semantic 
>conditions will then
>>be a different story).
>>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
>IHMC		(850)434 8903 or (650)494 3973   home
>40 South Alcaniz St.	(850)202 4416   office
>Pensacola			(850)202 4440   fax
>FL 32502			(850)291 0667    cell
>phayesAT-SIGNihmc.us       http://www.ihmc.us/users/phayes

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 Wednesday, 19 December 2007 22:00:02 GMT

This archive was generated by hypermail 2.3.1 : Wednesday, 27 March 2013 09:32:55 GMT