[Fwd: Rules for restrictions]

From: Dan Connolly (connolly@w3.org)
Date: 01/04/01


forwarded without permission, but I'm pretty sure he won't mind.

(I keep typeing joint-commitee@w3.org; gotta cut that out...)

-- 
Dan Connolly, W3C http://www.w3.org/People/Connolly/
office: tel:+1-913-491-0501
pager: mailto:connolly.pager@w3.org
  (put return phone number in from/subject)

attached mail follows:


My questions about the DAML+OIL spec as revised may be based on ignorance of
meetings I wasn't at, in which case I apologize - please accept them as
clarification questions.

1. restrictedBy and subClassOf seem to be synonyms.  Why both with both?

2. sameClassAs and equivalentTo; same comment as 1except for domain and
range constraints.

3. samePropertyAs and equivalentTo; same comment as 2.  Are we suggesting
that ontology builders in turn should define "sameCarAs" and "sameVehicleAs"
properties? This is the example being set. I found that when converting
between different syntaxes, one has to introduce daml:equivalentTo  as part
of that translation, because different syntaxes have different abilties to
map a graph into a tree. I missed it being defined by rdfs and now I see it
has slipped out of daml.

A problem I see in general is that DAML may be an authoring langauge, but
retrictions on what one can say about things in sepcific places may make it
dfficult to output general DAML.

For example, if I know two things are equivalent i must check to see whether
they ar classes before tring to write it in DAML.

I suppose to is reasonable to create a language which only allows one to to
talk about classes.

4. Disjoint.  In general, there is no reference to the RDF model generated -
so presumably one is free to generate any RDF triples or otherwise so long
as the meaning of the document is represented by the result.  i assume that
this was a
concious decision.  The list structure has disappeared for example.

5. Restrictions

Sigh.  I hoped that the english would improve.  It is still really
non-evident from the markup what the restriction is.  Also, it is a wasteful
use of markup. It is an example of excessive reification.  But I can't think
of a better alternative.

<restrictedBy>
  <Restriction>
     <hasValue>

in other words "is restricted by a restriction which is of type hasValue" is
very longwinded.


The explanation of toClass is really diffciult to read.

To say that trstriction is analogous to forAll is to give it

forall (x, y, r, c, {
    rdf:type(x, r)
    onProperty(r,p)
    toClass(r,c)    -> type(y,c)   }

or in n3:
<> forAll :p, :x, :y, :c.

{ :x a [ d:onProperty p;  d:toClass :c];  :p :y } log:implies { :y a :c }.

{ :x a [d:onProperty p;  d:hasValue v]  } log:implies {:x :p :v}.

{ :x a [ d:onProperty :p;  d:hasClass :c];  :p :y } log:implies { :x :p [
rdf:type :c] }.


It is not clear from the spec, when one has multiple restriction elements
defining different sets, that the restriction is the intersection (I assume)
of those sets.



(under "hasClass" element definition, the "belongs to other Classes" should
be "do not belong to the class".)


This archive was generated by hypermail 2.1.4 : 04/02/02 EST