ISSUE-39: Use of skos:Collections, proposed resolution compatible with ISSUE-31

ISSUE-39 [1] concerns the use of skos:Collections to represent the set 
of allowed codes for a qb:CodedProperty such as a qb:DimensionProperty.

Proposed solution: Generalize the range of qb:codeList. Introduce 
qb:CodeList as a super class of skos:Collection and skos:ConceptScheme.

Specifically:

   qb:codeList a rdf:Property, owl:ObjectProperty;
     rdfs:label "code list"@en;
     rdfs:comment "gives the code list associated with a CodedProperty"@en;
     rdfs:domain qb:CodedProperty;
     rdfs:range qb:CodeList;
     rdfs:isDefinedBy <http://purl.org/linked-data/cube>;
     .

   qb:CodeList a rdfs:Class, owl:Class;
     rdfs:label "Code List"@en;
     rdfs:comment "Superclass of things that can be used as the code 
lists for coded properties, includes skos:ConceptScheme and 
skos:Collection"@en;
     rdfs:isDefinedBy <http://purl.org/linked-data/cube>;
     .

   skos:ConceptScheme rdfs:subClassOf qb:CodeList .
   skos:Collection    rdfs:subClassOf qb:CodeList .



This also provides a basis the proposed solution to ISSUE-31 by adding:

   qb:Hierarchy a rdfs:Class, owl:Class;
     rdfs:subClassOf qb:CodeList;
     rdfs:label "Heirarchy"@en;
     rdfs:comment "Represents a generalized hierarchy of concepts which 
can be used for coding. The hierarchy is defined by one or more roots 
together with a property which relates concepts in the hierarchy to 
either their parent or their child concept. At least one of 
qb:narrowingProperty or qb:broadeningProperty must be specified, it is 
permissible to provide both.  The same concepts may be members of 
multiple hierarchies provided that different 
qb:[narrowing/broadening]Property values are using for each hierarchy."@en;
     .

   qb:hierarchyRoot a rdfs:Property, owl:ObjectProperty;
     rdfs:domain qb:Hierarchy;
     rdfs:range skos:Concept;
     rdfs:comment   "Specifies a root of the hierarchy. A hierarchy may 
have multiple roots but must have at least one."@en;
     .

   qb:narrowingProperty a rdfs:Property, owl:ObjectProperty;
     rdfs:label "narrowing property"@en;
     rdfs:domain qb:Hierarchy;
     rdfs:range rdf:Property;
     rdfs:comment   "Specifies a property which relates a parent concept 
in the hierarchy to a child concept. One of qb:narrowingProperty or 
qb:broadeningProperty must be given but it is not necessary to have 
both. Note that a child may have more than one parent."@en;
     .

   qb:broadeningProperty a rdfs:Property, owl:ObjectProperty;
     rdfs:label "broadening property"@en;
     rdfs:domain qb:Hierarchy;
     rdfs:range rdf:Property;
     rdfs:comment   "Specifies a property which relates a child concept 
in the hierarchy to a parent concept. One of qb:narrowingProperty or 
qb:broadeningProperty must be given but it is not necessary to have 
both. Note that a child may have more than one parent."@en;
     .

   qb:AggregatableHierarchy
     rdfs:label "Aggregatable Hierarchy"@en;
     rdfs:subClassOf qb:Hierarchy;
     rdfs:comment "Indicates a hierarchy in which each parent concept is 
a disjoint union of its child concepts. So that measures such as simple 
counts may be aggregated up the hierarchy."@en;
     .

Dave


[1] http://www.w3.org/2011/gld/track/issues/39

Received on Saturday, 2 March 2013 17:11:00 UTC