[SKOS] Re: SKOS comment: Last Call Working Draft [ISSUE-185]

Dear Michael,

Thank you for your comments [1]:
""""
5. Order in Classification Systems

Order in a classification is important, indeed critical. Order is
evident in the juxtaposition of classes, the sequence of main classes,
and the sequence of co-ordinates in a class. Broader and narrower
relationships alone cannot represent order. So, maybe parallel encoding
is necessary to make sure that the system a classification scheme tries
to present is reflected when using SKOS.

To some degree, when order is connected to hierarchy, this can be
reflected by extensions to SKOS. The DDC for example has two parallel
hierarchies, one expressed by length of notation, the other by structure
(notes, etc.). This is handled at the moment by extending skos:narrower.

skosclass:narrowerStructural rdfs:subPropertyOf skos:narrower .

skosclass:broaderStructural rdfs:subPropertyOf skos:broader ;
owl:inverseOf skosclass:narrowerStructural .
""""
-------------------------------------------------------------------

Indeed SKOS does not offer by default a solution to your problem. 
Usual RDF statements are order-neutral, and only RDF lists can be used 
to represent ordered groups. In fact we think it would be 
counter-productive for us to search and propose a solution at the level 
of property representation (something like "the first subclass of this 
class is X"). Further, such a use case was not clearly identified in the 
SKOS Use Case and Requirements [2]. Here, standardization concerns (see 
note (1)) dictate our not offering a specific solution .

Consequently, we propose to *close* ISSUE-185 [ISSUE-185], making no 
change to the existing SKOS documents. *We hope that you are able to 
live with this.*


Please note however that it is still possible to coin a practice that (maybe 
indirectly) addresses your specific case. Namely, using SKOS collections 
to represent the order of the classes in the specialization hierarchy, 
as the following example:
   ex:class0 rdf:type skos:Concept .
   ex:subclass1 rdf:type skos:Concept ; skos:broader ex:class0 .
   ex:subclass2 rdf:type skos:Concept ; skos:broader ex:class0 .
   _:b0 rdf:type skos:OrderedCollection;
         skos:prefLabel "ordered subclasses of class1"@en;      # this 
label is optional of course!
         skos:memberList _:b1.
   _:b1 rdf:first ex:subclass1 ;
         rdf:rest _:b2.
   _:b2 rdf:first ex:subclass2 ;
         rdf:rest rdf:nil.

We cannot ensure that this solution would be used for all other 
classifications. But it fits exactly how Collections should be used. 
And even though this solution is relatively complex, it might be not more 
complex than the "parallel hierarchies" you're hinting at...

I hope this helps. Note that whether you agree with the practice
suggested here or come with a better solution, we encourage you to 
publish a brief note or a third-party extension proposal, and inform the 
SKOS community via the mailing list. This is important for us, and we'd 
be happy to set up a "community best practices" wiki page to collect 
links to such statements.

Best regards,

Antoine

[ISSUE-185] http://www.w3.org/2006/07/SWD/track/issues/185
[1] http://lists.w3.org/Archives/Public/public-swd-wg/2008Oct/0061.html
[2] http://www.w3.org/TR/SKOS-UCR

(1) As stated in the Primer, "The aim of SKOS is not to replace original 
conceptual vocabularies in their initial context of use, but to allow 
them to be ported to a shared space, based on a simplified model, 
enabling wider re-use and better interoperability."

Received on Thursday, 6 November 2008 13:55:44 UTC