Re: [OEP] "Classes as values": summary of the discussion so far and second draft

Read that draft and got quite some AHA effects :)
It's a silly test, but we fetched the 4 graphs
from the web into our euler engine and found that they entail themselves 

Jos De Roo, AGFA

Natasha Noy <noy@SMI.Stanford.EDU>
Sent by:
27/04/2004 21:56

        To:     swbp <>
        Subject:        [OEP] "Classes as values": summary of the discussion so far and second 

As promised, you can find the second draft of the "classes as values" 
note at 

Thanks a million to everyone for all the thoughtful feedback (and for 
kind words along the way). I think the discussion is not over yet, I 
tried to address some of the points that seemed less controversial and 
left some of the discussions (cf my replied to Alan [1] and Aldo [2] up 
in the air for the moment).

In lieu of summary of the discussion, here is a list of main changes in 
this version.

Running example: it was clear that my example of annotating images of 
lions was a very bad one, since it wasn't clear whether a subject of an 
image (in the normal English interpretation of the term) is the 
specific lion in the picture or lions in general. I was trying to 
address the latter with the pattern and that's what I am trying to 
stick to (other cases are for other patterns, I think). So, the example 
now is subjects of books, rather than images, which is a bit less 
ambiguous. A book about lions has the class or subject Lion as its 
subject, and a specific living breathing creature.

Approach 2b is eliminated. It used rdfs:isDefinedBy  to link instances 
of Subject with the corresponding classes (such as LionSubject and 
Lion), but the solution was no different (but more verbose) than 
Approach 4, which used annotation property. The only reason 2b was in 
OWL DL was because rdfs:isDefinedBy was an annotation property, since 
it still had a class as its value

Full solution in OWL and its different flavors. Deb pointed out in her 
template for patterns that each pattern should include a full text of 
the solution in OWL, which makes a lot of sense. I've added that at the 
end of each approach. Since I was mocking up all examples in Protege 
anyway, it was essentially no effort to add it in RDF/XML syntax, N3, 
and abstract syntax. So, take your pick :)

Outstanding discussion and other issues: Alan and Aldo suggested 
another approach which uses prototypes as values ([3], [4]). I think 
with this more narrow scope of the example (subjects of books rather 
than pictures), their solutions seem to address a somewhat different 
problem. But I am not sure if we have reached closure on that.

Also has also brought up the issue of ontological patterns vs pragmatic 
patterns [4]. I am not sure yet though is this is a use case to 
distinguish them explicitly here.

 From the public and private comments that I have received, it is clear 
that for each of the approaches, at least some people in the group 
consider them useful and would use them if they had to stay in OWL DL 
(and, for most, others consider them really bad and will not use them 
ever). So, I kept all of them for now.

Am I forgetting some other outstanding issues?

The rest are smaller changes that those looking for a higher-level 
summary can easily ignore:
- In approach 2, I made much more prominen the point that making 
subjects individual instances of the corresponding classes will make it 
inconsistent with having real animals instances of the same classes. 
Also changed the summary for that approach
- In approach 3, the rdf:type of subject individuals is now a single 
class Subject (distinguishing this case from 2, and allowing actual 
physical lions to be instances of the classes in the hierarchy)
- In approach 1, saying that something is in OWL Full is not saying 
much (after all,, all OWL DL ontologies are also in OWL Full). Rather 
than saying that "This ontology is in OWL Full", it now says "This 
ontology is in OWL Full, but not OWL DL".
- In approach 4, added a diagram illustrating the approach.
- Added a footnote anywhere allValuesFrom is used that in some cases 
someValuesFrom would be more appropriate.

Thanks a lot to everyone who has contributed to the discussion! And, as 
I pointed out earlier, I don't think we've reached closure on some of 
the issues, so, probably, there will be one more iteration.



Received on Thursday, 29 April 2004 19:13:58 UTC