October 21, 2004

SKOS Core: Ordered/labelled collections of concepts

Some new vocabulary has been added to SKOS Core to support ordered/labelled collections of concepts. The primary use case for these terms is creating RDF descriptions of thesauri that have 'guide terms' and/or 'node labels'.

See the SKOS Core Vocabulary Specification for an overview of the new terms.

All new terms have an 'unstable' status, so further comments and suggestions are most welcome.

Description of the actioned proposal:

Add the following classes:

- Collection
- OrderedCollection (sub-class of Collection)
- CollectableProperty

Add the following properties:

- member (domain: Collection, range: rdf:Resource)
- memberList (domain: Collection, range: rdf:List)

To illustrate the intended usage by example, an *unordered* labelled
collection would be represented in RDF/XML as:

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:skos="http://www.w3.org/2004/02/skos/core#">
  <skos:Concept rdf:about="http://my.example.org/concept#102">
    <skos:prefLabel>Aircraft</skos:prefLabel>
    <skos:narrower>
      <skos:Collection>
        <rdfs:label>Aircraft by function</rdfs:label>
        <skos:member rdf:resource="http://my.example.org/concept#1024"/>
        <skos:member rdf:resource="http://my.example.org/concept#1026"/>
        <skos:member rdf:resource="http://my.example.org/concept#1027"/>
        <skos:member rdf:resource="http://my.example.org/concept#1028"/>
        <skos:member rdf:resource="http://my.example.org/concept#1029"/>
      </skos:Collection>
    </skos:narrower>
  </skos:Concept>
</rdf:RDF>

An *ordered*, labelled collection would be represented in RDF/XML as:

<rdf:RDF 
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" 
  xmlns:skos="http://www.w3.org/2004/02/skos/core#">
  <skos:Concept rdf:about="http://my.example.org/concept#56">
    <skos:prefLabel>Countries</skos:prefLabel>
    <skos:narrower>
      <skos:OrderedCollection>
        <rdfs:label>Countries by size</rdfs:label>
        <skos:memberList rdf:parseType="Collection">
          <skos:Concept rdf:about="http://my.example.org/concept#564"/>
          <skos:Concept rdf:about="http://my.example.org/concept#565"/>
          <skos:Concept rdf:about="http://my.example.org/concept#566"/>
          <skos:Concept rdf:about="http://my.example.org/concept#568"/>
          <skos:Concept rdf:about="http://my.example.org/concept#560"/>
          <skos:Concept rdf:about="http://my.example.org/concept#562"/>
        </skos:memberList>
      </skos:OrderedCollection>
    </skos:narrower>
  </skos:Concept>
</rdf:RDF>

The following points are also part of this proposal:

(1) Collections may be nested as members of other collections.

(2) Wrt 'CollectableProperty' the following rule applies:

	(?p rdf:type skos:CollectableProperty)
	(?x ?p ?c)
	(?c skos:member ?m)
	->
	(?x ?p ?m)

(3) skos:narrower is declared to be of type skos:CollectableProperty

(4) Wrt 'memberList' the following dependency rule applies:

	(?c skos:memberList ?l)
	elementOfList(?e,?l)
	->
	(?c skos:member ?e)

Categories SKOS Changelog
Posted by ajmiles at October 21, 2004 01:46 PM
Comments
Post a comment