W3C home > Mailing lists > Public > public-esw-thes@w3.org > August 2004

[Proposal][SKOS-Core] Collections

From: Alistair Miles <a.j.miles@rl.ac.uk>
Date: Fri, 27 Aug 2004 18:10:34 +0100
Message-ID: <412F6B0A.6090904@rl.ac.uk>
To: public-esw-thes@w3.org
Hi all,

I think I have a sensible compromise for handling collections that requires the 
minimum amount of new vocabulary, and can cope with all the scenarios outlined 
in [1].

Proposed to add to SKOS Core:


  - Collection
  - CollectableProperty


  - member (domain: Collection)
  - memberList (domain: Collection)

So for unordered collections, an example would be ...

<skos:Concept rdf:about="c1">
			<rdfs:label>aircraft by function</rdfs:label>
			<skos:member rdf:resource="c10"/>
			<skos:member rdf:resource="c11"/>
			<skos:member rdf:resource="c12"/>

And for ordered collections, an example would be ...

<skos:Concept rdf:about="c1">
			<rdfs:label>aircraft by size</rdfs:label>
			<skos:member rdf:resource="c10"/>
			<skos:member rdf:resource="c11"/>
			<skos:member rdf:resource="c12"/>
			<skos:memberList rdf:parseType="Collection">
				<skos:Concept rdf:about="c11"/>
				<skos:Concept rdf:about="c10"/>
				<skos:Concept rdf:about="c12"/>

Collections may also be nested, e.g. ...

<skos:Concept rdf:about="c2">
       <rdfs:label>chairs by function</rdfs:label>
       <skos:member rdf:resource="c20"/>
       <skos:member rdf:resource="c21"/>
       <skos:member rdf:resource="c22"/>
           <rdfs:label>ceremonial chairs</rdfs:label>
           <skos:member rdf:resource="c25"/>
           <skos:member rdf:resource="c26"/>
           <skos:member rdf:resource="c27"/>

... and if the collections are ordered, an rdf:nodeID could be used to refer to 
the nested collection in the memberlist.

The point of the 'CollectableProperty' class is that we can express a rule:

(x,p,c) (c,skos:member,m) (p,rdf:type,skos:CollectableProperty)

... so this proposal also includes adding the following statements to SKOS Core:

  - (skos:narrower rdf:type skos:CollectableProperty)
  - (skos:broader rdf:type skos:CollectableProperty)
  - (skos:related rdf:type skos:CollectableProperty)

If there are no objections, and I don't think up anything better in the next few 
days, I'll action this next week (I'd really like to get this one sewn up).


[1] http://esw.w3.org/topic/SkosDev/SkosCore/CollectionsAndArrays


To support stricter validation of SKOS data, we could also add a class 
'Collectable', with sub-classes (skos:Concept) and (skos:Collection) - which 
would enable us to assert a range for the 'member' property.  I didn't include 
this in the main proposal, because I don't know if it's worth doing.

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

Received on Friday, 27 August 2004 17:11:12 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 19:45:15 UTC