W3C home > Mailing lists > Public > public-owl-wg@w3.org > September 2008

personal review of SKOS Reference for WG consideration

From: Peter F. Patel-Schneider <pfps@research.bell-labs.com>
Date: Tue, 30 Sep 2008 09:40:41 -0400 (EDT)
Message-Id: <20080930.094041.61134786.pfps@research.bell-labs.com>
To: public-owl-wg@w3.org

I will almost certainly be sending in this review.  It might be a good
idea to have the WG determine whether to have this (slightly modified)
as a WG review as well.  Note that the deadline for reviews is 3
October (2008).

peter

PS:  I sent almost all of this review to the WG a while ago, but I don't
think that it was discussed.



Review of SKOS Reference last call document
http://www.w3.org/TR/2008/WD-skos-reference-20080829/

The avoidance of formality in the reference is disturbing.  It would have
been much better to have the definitions in some machine-readable format
as much as possible.  I understand that there is an RDF document for
this purpose, at http://www.w3.org/2008/05/skos, but there is no mention
of this RDF document in the reference document.  I would find it very
much better to have the RDF or OWL (partial) definitions for the SKOS
vocabulary in this document.

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 note that much of the bits that are not OWL 2 DL are in the examples.

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 all 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 Tuesday, 30 September 2008 13:41:30 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:42:07 UTC