Supporting arrays of concepts

This is a strawman proposal for addition to the SKOS-Core schema:

Some thesauri group concepts into ordered arrays, and label the array, e.g.

	People
      	  <people by age>
      	  Children (0-12 years)
      	  Teenagers (13-19 years)
      	  Adults (over 20 years)

Since this sort of thing is common practise, and I believe will be a part of
the new British standard for thesauri (Leonard, Stella?), I thought we ought
to come up with a mechanism for representing it as part of the SKOS-Core
vocab.  

This sort of thing would also be useful in the Annotea bookmarks work. 

The problem is the best way to represent an ordered list in RDF.  The
consensus so far seems to be for using RDF Lists (collections).  The other
problem is how to connect an array to the parent concept.  Such a connection
cannot replace the skos:broader statements from the array members, and must
be synchronised with them.  

Anyway, I suggest the following additions:

	skos:Array	a	rdfs:Class.

	skos:arrayMemberList	a	rdf:Property;
			rdfs:domain	skos:Array.

	skos:arrayParent	a	rdf:Property;
			rdfs:domain	skos:Array;
			rdfs:range	skos:Concept.

... which would lead to e.g. ...

	[	a	skos:Array;
		rdfs:label	'people by age';
		skos:arrayParent	:conceptD;
		skos:arrayMemberList	(:conceptA :conceptB :conceptC)
].

	:conceptD	a	skos:Concept;
			skos:prefLabel	'People';
			skos:narrower	:conceptA;
			skos:narrower	:conceptB;
			skos:narrower	:conceptC.

	:conceptA	a	skos:Concept;
			skos:prefLabel	'Children (0-12 years)';
			skos:broader	:conceptD.

	:conceptB	a	skos:Concept;
			skos:prefLabel	'Teenagers (13-19 years)';
			skos:broader	:conceptD.

	:conceptC	a	skos:Concept;
			skos:prefLabel	'Adults (over 20 years)';
			skos:broader	:conceptD.

Comments on any aspect of this suggestion?

Alistair.

Received on Wednesday, 5 May 2004 14:21:03 UTC