- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 01 Oct 2008 07:29:19 -0400 (EDT)
- To: public-owl-wg@w3.org
I have updated my personal review slightly to make its points clearer. I have also added a bit on the perils of using extra datatypes. peter Review of SKOS Reference last call document http://www.w3.org/TR/2008/WD-skos-reference-20080829/ I would much prefer to have more formality in this reference document. I feel that it is important to have at least those parts of the SKOS model that fit into RDF or OWL be prominently mentioned. It is true that there is a RDF/XML document that has the OWL 1 portion of SKOS, but this is only mentioned at the very end of the reference document. I feel that it would be much better to mention this RDF/XML document at the beginning of the reference document. I also note that the reference document mentions an outdated version of the RDF/XML document. I think that it would be very useful if there was a version of SKOS that used OWL 2. I understand that it is problematic for a recommendation to point to something that is not (yet) a recommendation. However, I think that an informative document would be useful, even just a version of the RDF/XML document that used the new OWL 2 features. I think that it would be even more useful to have this information in another format, such as the OWL 2 reference syntax. One portion of SKOS (Notations) uses custom datatypes. Although these seem to be benign, because RDF and OWL allow extra datatypes, the use of these datatypes is not likely to be supported by many tools. The presence of extra datatypes is likely to cause difficulties in some tools, which may just reject SKOS documents that have these datatypes. I would very much have liked more of SKOS to fit within OWL 2 DL. I believe that many of the parts of SKOS that do not fit within OWL 2 DL are modelling errors. To show what could be changed I have performed an analysis (from the reference document, not from the RDF document) of the bits of SKOS that are not in OWL 1 DL. For those bits that are not in OWL 2 DL, I have suggestions on how SKOS could be changed to make it fit within OWL 2 DL, where I could figure this out. I believe that having as much of SKOS in OWL 2 DL would be of benefit to SKOS. I note that many of the bits that are not OWL 2 DL are in examples, indicating to me that they are not so central to SKOS. Section Language What bit / Suggestions to put into OWL 2 DL skos:Concept OWL 2 DL individual/class/property punning (examples) Concept Schemes OWL 2 DL individual/ontology "punning" (example) Lexical Labels OWL 2 Full subproperty of rdfs:label suggestion: don't use rdfs:label OWL 2 DL property disjointness not OWL axiom schema for unique prefLabel suggestion: include qualified cardinality restrictions only for languages used (defined using datatype restrictions) OWL 2 DL individual / class punning (example) OWL 2 Full objects as values of data property (example) suggestion: don't do this Notations extra datatypes various extra datatypes suggestion: sort of in OWL 1 DL already, but unlikely to be supported by many tools Documentation OWL 2 Full using literal in object property (examples) suggestion: don't do this OWL 2 Full use of rdf:value (example) suggestion: don't use rdf:value OWL 2 DL individual/class punning (example) Semantic Rel's OWL 2 DL disjoint properties Concept Coll'ns OWL 2 Full ordering with typing suggestion: see below Mapping Props OWL 2 DL disjoint properties SKOS X OWL 2 Full data property chains suggestion: ?? Here is a way of handling typed ordering that should fit within OWL 2 DL, although I haven't checked all the details. Declare( ObjectProperty(skos:firstMember) ) Declare( ObjectProperty(skos:nextMembers) ) Declare( ObjectProperty(skos:otherMembers) ) FunctionalProperty(skos:firstMember) FunctionalProperty(skos:nextMembers) Domain( skos:firstMember skos:OrderedCollection ) Range( skos:firstMember UnionOf(skos:Concept skos:ConceptScheme) ) ?? Domain( skos:nextMembers skos:OrderedCollection ) Domain( skos:nextMembers skos:OrderedCollection ) Domain( skos:otherMembers skos:OrderedCollection ) Domain( skos:otherMembers skos:OrderedCollection ) SubPropertyOf( skos:nextMembers skos:otherMembers ) SubPropertyOf( PropertyChain(skos:otherMembers skos:nextMembers) skos:otherMembers ) SubPropertyOf( skos:firstMember skos:member ) SubpropertyOf( PropertyChain(skos:otherMembers skos:firstMember) skos:member ) Specific comments: The introduction uses some sophisticated Turtle constructs without even any mention of the syntax being used. At least a pointer is required here. Nits: "data are" vs "data does" counter-intuitive meaning -> counter-intuitive feeling
Received on Wednesday, 1 October 2008 11:30:00 UTC