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

On 2 Mar 2013, at 17:10, Dave Reynolds wrote:
> 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.

That sounds good to me.

> Introduce qb:CodeList as a super class of skos:Collection and skos:ConceptScheme.

This has the unfortunate side effect of making every skos:Collection and skos:ConceptScheme an instance of qb:CodeList, which I think is not desirable.

Options, in order of my personal preference:

1. Declare the range of qb:codeList like this:

  qb:codeList rdfs:range [ owl:unionOf (skos:ConceptScheme skosCollection) ];

2. Define the subclass relationship like this:

  qb:CodeList rdfs:subClassOf [ owl:unionOf (skos:ConceptScheme skosCollection) ];

3. Leave the range of qb:CodeList formally undefined.

Best,
Richard


> 
> 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 18:24:15 UTC