SkosDev/SkosCore/LocalId
|
This is a description of a requirement to handle local (non-URI) identifiers for concepts ...
Requirement A
The property skos:externalID was intended to be used to specify any lexical identifier for a concept that is not a URI.
Essentially, whereas a URI is a globally unique identifier for a concept, the value of the skos:externalID property is supposed to be a locally unique identifier for a concept (i.e. uniquely identifies a concept within the scope of a specific concept-scheme only).
I feel the name of the property skos:externalID does not reflect well its intended meaning and usage, and should be replaced with something that does so better.
Proposal A
I suggest to do the following ...
- Deprecated the
skos:externalIDproperty. - Add a new property
skos:localIdto replaceskos:externalID.
Requirement B
If we allow concepts to be a member of more than one concept-scheme, then it becomes ambiguous which scheme the value of a skos:localId property should be scoped to.
So we need some way of saying 'concept X has local identifier Y within the scope of concept-scheme Z'.
Proposal B
I suggest something like the following to cope with requirement B ...
The skos:localId property be used in conjunction with a blank node and two new properties (e.g. called something like skos:idScope and skos:idValue) as in the following example ...
<skos:Concept>
<skos:prefLabel>Penguins</skos:prefLabel>
<skos:inScheme rdf:resource="http://www.example.com/thesaurus"/>
<skos:localId rdf:parseType="Resource">
<skos:idValue>A8NH5</skos:idValue>
<skos:idScope rdf:resource="http://www.example.com/thesaurus"/>
</skos:localId>
</skos:Concept>
So this proposal contains the following actions ...
- Add a new property called something like
skos:idValuewith domainrdf:Resourceand rangerdf:Literal. - Add a new property called something like
skos:idScopewith domainrdf:Resourceand rangeskos:[[ConceptScheme]].