Re: [Proposal] SKOS-Core Schema Management and Evolution

* Miles, AJ (Alistair)  <A.J.Miles@rl.ac.uk> [2004-07-26 16:40+0100]
> 
> To cope with evolution and change of the SKOS-Core RDF schema over both the
> current development iteration and the longer term, I propose the following:
> 
> [N.B. these proposals are a copy of the
> http://esw.w3.org/topic/SkosDev_2fSchemaManagement wiki page as it stood at
> the time of writing].
> 
> 
> 1: Namespace Management
> 
> Currently the SKOS-Core RDF schema resides under the namespace
> <http://www.w3.org/2004/02/skos/core#>. 
> 
> It is proposed that there be no short or medium term versioning of this
> schema using different namespaces ... i.e. the terms of the schema will be
> maintained under the current namespace for the forseeable future. 

+1 (keeping a common namespace and evolving it in place, when done with
care, imho works better than changing (based on Dublin Core and FOAF
experience))
> 
> 
> 2: Term Status Management
> 
> To manage the status of SKOS-Core RDF schema it is proposed that the Vocab
> Status RDF schema <http://www.w3.org/2003/06/sw-vocab-status/ns#> is used.
> ... This involves assigning every SKOS class and property a 'term_status'
> value, which is formally expressed as part of the schema. 
> 
> For example ... 
> 
>         <rdfs:Class rdf:ID="ConceptScheme"> 
>                 <rdfs:label>Concept Scheme</rdfs:label> 
>                 <rdfs:comment>A concept scheme is a collection of
> concepts.</rdfs:comment> 
>                 <ts:term_status>stable</ts:term_status> 
>         </rdfs:Class> 
> 
> The 'term_status' property may take one of three values: 'unstable'
> 'testing' or 'stable'. 
> 
> These values correspond to the 'alpha' 'beta' and 'stable' values given to
> software releases. However, it is not entirely clear what these values
> should imply for RDF schema terms. 

Yeah, I based it on the terminology from Debian Linux. 

> I suggest the following definitions, as a starting point ... to be clarified
> and refined: 
> 
> unstable ... this term has been newly added, and no testing has been carried
> out. Implementations using this term should realise that its meaning may be
> expected to change, or it may be removed at any time. 

I think the 2nd part is key. Something could be unstable for months
('newly' is vague; do we read it as days, months, years...?). It is all
about whether 3rd parties should build mission critical things that
depend on its current form. The 'unstable' flag is a way of saying 'this
might change', 'might be poorly defined', 'feedback welcomed'.

> testing ... this term is currently undergoing testing and evaluation. This
> means that it will probably persist, although its exact meaning may change. 

Yep, 'seems to be firming up.', 'gone beyond the raw proposal stage,
might still change of course but that's life', 'we'll bear in mind the
cost to early implementors when considering changes, but won't be overly
bound by such concerns if wider interop / long term stability is at
stake', etc.

> stable ... this term is stable and has been subjected to testing and
> evaluation. Implementers can expect this term to persist, and for its
> meaning to remain unchanged. 

stable means 'No substantive (meaning changing) alterations planned',
'time to get a tattoo!', ...

> All status changes within SKOS RDF schemas will be reported on the SKOS
> change log <http://esw.w3.org/mt/esw/archives/cat_skos_changelog.html>. 

A good plan!

> 3: Deprecation and Replacement of Terms
> 
> To manage the deprecation and replacement of terms within the schema, I
> propose the use of the owl:DeprecatedClass and owl:DeprecatedProperty
> classes. ... the owl:versionInfo property is then used to indicate what
> class or property should now be used instead. 

Neat
> 
> For example ... 
> 
>         <owl:DeprecatedClass rdf:ID="TopConcept"> 
>                 <rdfs:label>Top Concept</rdfs:label> 
>                 <rdfs:comment>A concept that sits at the top of the concept
> hierarchy.</rdfs:comment> 
>                 <owl:versionInfo>This class is now deprecated.  To indicate
> the top concepts for a particular scheme, use the new skos:hasTopConcept
> property instead.</owl:versionInfo> 
>         </owl:DeprecatedClass> 

Hmm, depends if Concepts are Classes, though?

Dan 
> 
> Yours,
> 
> Alistair.
> 
> ---
> Alistair Miles
> Research Associate
> CCLRC - Rutherford Appleton Laboratory
> Building R1 Room 1.60
> Fermi Avenue
> Chilton
> Didcot
> Oxfordshire OX11 0QX
> United Kingdom
> Email:        a.j.miles@rl.ac.uk
> Tel: +44 (0)1235 445440
> 

Received on Monday, 26 July 2004 11:50:43 UTC