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:externalID
property. - Add a new property
skos:localId
to 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:idValue
with domainrdf:Resource
and rangerdf:Literal
. - Add a new property called something like
skos:idScope
with domainrdf:Resource
and rangeskos:[[ConceptScheme]]
.