- From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
- Date: Wed, 01 Oct 2008 14:42:46 -0400 (EDT)
- To: public-swd-wg@w3.org
[These are personal comments, which may very quickly be overtaken by a
closely related reply from the OWL WG.]
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.
Declaration( ObjectProperty(skos:firstMember) )
Declaration( ObjectProperty(skos:nextMembers) )
Declaration( ObjectProperty(skos:otherMembers) )
FunctionalProperty(skos:firstMember)
FunctionalProperty(skos:nextMembers)
PropertyDomain( skos:firstMember skos:OrderedCollection )
PropertyRange( skos:firstMember UnionOf(skos:Concept skos:ConceptScheme) ) ??
PropertyDomain( skos:nextMembers skos:OrderedCollection )
PropertyDomain( skos:nextMembers skos:OrderedCollection )
PropertyDomain( skos:otherMembers skos:OrderedCollection )
PropertyDomain( 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 18:43:57 UTC