-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* provide trivial definitions of external classes and properties; * ensure everything is typed; * remove some disallowed metamodelling (e.g. subclassing rdf:Property); * ontology resource needs treating separately, so use annotation properties; * remove some assertions about rdfs:Class, rdfs:Property and rdfs:isDefinedBy to avoid muddying the waters; * Make dc:ComponentProperty an owl:ObjectProperty rather than owl:Class and use rdfs:subPropertyOf accordingly;
- Loading branch information
Showing
1 changed file
with
70 additions
and
92 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -20,80 +20,89 @@ | |
dcterms:modified "2013-07-26"^^xsd:date; | ||
dcterms:title "Vocabulary for multi-dimensional (e.g. statistical) data publishing"; | ||
dcterms:license <http://www.opendatacommons.org/licenses/pddl/1.0/> ; | ||
dcterms:contributor [foaf:mbox "[email protected]"], | ||
[foaf:mbox "[email protected]"], | ||
[foaf:mbox "[email protected]"], | ||
[foaf:mbox "[email protected]"], | ||
[foaf:mbox "[email protected]"]; | ||
. | ||
dcterms:contributor [a foaf:Person; foaf:mbox "[email protected]"], | ||
[a foaf:Person; foaf:mbox "[email protected]"], | ||
[a foaf:Person; foaf:mbox "[email protected]"], | ||
[a foaf:Person; foaf:mbox "[email protected]"], | ||
[a foaf:Person; foaf:mbox "[email protected]"]; | ||
. | ||
|
||
# --- External definitions --- | ||
scovo:Dataset a owl:Class . | ||
skos:Concept a owl:Class . | ||
skos:Collection a owl:Class . | ||
scovo:Item a owl:Class . | ||
skos:ConceptScheme a owl:Class . | ||
foaf:Person a owl:Class . | ||
|
||
scovo:dataset a owl:ObjectProperty . | ||
dcterms:contributor a owl:AnnotationProperty . | ||
dcterms:license a owl:AnnotationProperty . | ||
|
||
foaf:mbox a owl:DatatypeProperty . | ||
dcterms:created a owl:AnnotationProperty . | ||
dcterms:modified a owl:AnnotationProperty . | ||
dcterms:title a owl:AnnotationProperty . | ||
|
||
# --- DataSets --------------------------- | ||
|
||
qb:DataSet a rdfs:Class, owl:Class; | ||
qb:DataSet a owl:Class; | ||
rdfs:label "Data set"@en; | ||
rdfs:comment "Represents a collection of observations, possibly organized into various slices, conforming to some common dimensional structure."@en; | ||
rdfs:subClassOf qb:Attachable; | ||
owl:equivalentClass scovo:Dataset; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
# --- Observations --------------------------- | ||
|
||
qb:Observation a rdfs:Class, owl:Class; | ||
qb:Observation a owl:Class; | ||
rdfs:label "Observation"@en; | ||
rdfs:comment "A single observation in the cube, may have one or more associated measured values"@en; | ||
rdfs:subClassOf qb:Attachable; | ||
owl:equivalentClass scovo:Item; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:dataSet a rdf:Property, owl:ObjectProperty; | ||
qb:dataSet a owl:ObjectProperty; | ||
rdfs:label "data set"@en; | ||
rdfs:comment "indicates the data set of which this observation is a part"@en; | ||
rdfs:domain qb:Observation; | ||
rdfs:range qb:DataSet; | ||
owl:equivalentProperty scovo:dataset; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:observation a rdf:Property, owl:ObjectProperty; | ||
qb:observation a owl:ObjectProperty; | ||
rdfs:label "observation"@en; | ||
rdfs:comment "indicates a observation contained within this slice of the data set"@en; | ||
rdfs:domain qb:ObservationGroup; | ||
rdfs:range qb:Observation; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:ObservationGroup a rdfs:Class, owl:Class; | ||
qb:ObservationGroup a owl:Class; | ||
rdfs:label "Observation Group"@en; | ||
rdfs:comment "A, possibly arbitrary, group of observations."@en; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:observationGroup a rdf:Property, owl:ObjectProperty; | ||
qb:observationGroup a owl:ObjectProperty; | ||
rdfs:label "observation group"@en; | ||
rdfs:comment "Indicates a group of observations. The domain of this property is left open so that a group may be attached to different resources and need not be restricted to a single DataSet"@en; | ||
rdfs:range qb:ObservationGroup; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
# --- Slices --------------------------- | ||
|
||
qb:Slice a rdfs:Class, owl:Class; | ||
qb:Slice a owl:Class; | ||
rdfs:subClassOf qb:ObservationGroup; | ||
rdfs:label "Slice"@en; | ||
rdfs:comment "Denotes a subset of a DataSet defined by fixing a subset of the dimensional values, component properties on the Slice"@en; | ||
rdfs:subClassOf qb:Attachable; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:slice a rdf:Property, owl:ObjectProperty; | ||
qb:slice a owl:ObjectProperty; | ||
rdfs:subPropertyOf qb:observationGroup; | ||
rdfs:label "slice"@en; | ||
rdfs:comment "Indicates a subset of a DataSet defined by fixing a subset of the dimensional values"@en; | ||
rdfs:domain qb:DataSet; | ||
rdfs:range qb:Slice; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
# Removed see http://www.w3.org/2011/gld/track/issues/34 | ||
|
@@ -107,225 +116,194 @@ qb:slice a rdf:Property, owl:ObjectProperty; | |
|
||
# --- Dimensions, Attributes, Measures --------------------------- | ||
|
||
qb:Attachable a rdfs:Class, owl:Class; | ||
qb:Attachable a owl:Class; | ||
rdfs:label "Attachable (abstract)"@en; | ||
rdfs:comment "Abstract superclass for everything that can have attributes and dimensions"@en; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:ComponentProperty a rdfs:Class, owl:Class; | ||
qb:ComponentProperty a owl:ObjectProperty; | ||
rdfs:label "Component property (abstract)"@en; | ||
rdfs:subClassOf rdf:Property; | ||
rdfs:comment "Abstract super-property of all properties representing dimensions, attributes or measures"@en; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
qb:DimensionProperty a rdfs:Class, owl:Class; | ||
qb:DimensionProperty a owl:ObjectProperty; | ||
rdfs:label "Dimension property"@en; | ||
rdfs:comment "The class of components which represent the dimensions of the cube"@en; | ||
rdfs:subClassOf qb:ComponentProperty; | ||
rdfs:subClassOf qb:CodedProperty; | ||
owl:disjointWith qb:MeasureProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
rdfs:subPropertyOf qb:ComponentProperty; | ||
rdfs:subPropertyOf qb:CodedProperty; | ||
owl:propertyDisjointWith qb:MeasureProperty; | ||
. | ||
qb:AttributeProperty a rdfs:Class, owl:Class; | ||
qb:AttributeProperty a owl:ObjectProperty; | ||
rdfs:label "Attribute property"@en; | ||
rdfs:comment "The class of components which represent attributes of observations in the cube, e.g. unit of measurement"@en; | ||
rdfs:subClassOf qb:ComponentProperty; | ||
owl:disjointWith qb:MeasureProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
rdfs:subPropertyOf qb:ComponentProperty; | ||
owl:propertyDisjointWith qb:MeasureProperty; | ||
. | ||
qb:MeasureProperty a rdfs:Class, owl:Class; | ||
qb:MeasureProperty a owl:DatatypeProperty; | ||
rdfs:label "Measure property"@en; | ||
rdfs:comment "The class of components which represent the measured value of the phenomenon being observed"@en; | ||
rdfs:subClassOf qb:ComponentProperty; | ||
owl:disjointWith qb:AttributeProperty; | ||
owl:disjointWith qb:DimensionProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
rdfs:subPropertyOf qb:ComponentProperty; | ||
owl:propertyDisjointWith qb:AttributeProperty; | ||
owl:propertyDisjointWith qb:DimensionProperty; | ||
. | ||
qb:CodedProperty a rdfs:Class, owl:Class; | ||
qb:CodedProperty a owl:ObjectProperty; | ||
rdfs:label "Coded property"@en; | ||
rdfs:subClassOf qb:ComponentProperty; | ||
rdfs:subPropertyOf qb:ComponentProperty; | ||
rdfs:comment "Superclass of all coded ComponentProperties"@en; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
# --- Reusable general purpose component properties --------------------------- | ||
|
||
qb:measureType a qb:DimensionProperty, rdf:Property; | ||
qb:measureType a owl:AnnotationProperty; | ||
rdfs:label "measure type"@en; | ||
rdfs:comment "Generic measure dimension, the value of this dimension indicates which measure (from the set of measures in the DSD) is being given by the obsValue (or other primary measure)"@en; | ||
rdfs:range qb:MeasureProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
# --- Data Structure Definitions --------------------------- | ||
|
||
qb:DataStructureDefinition a rdfs:Class, owl:Class; | ||
qb:DataStructureDefinition a owl:Class; | ||
rdfs:label "Data structure definition"@en; | ||
rdfs:comment "Defines the structure of a DataSet or slice"@en; | ||
rdfs:subClassOf qb:ComponentSet ; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:structure a rdf:Property, owl:ObjectProperty; | ||
qb:structure a owl:ObjectProperty; | ||
rdfs:label "structure"@en; | ||
rdfs:comment "indicates the structure to which this data set conforms"@en; | ||
rdfs:domain qb:DataSet; | ||
rdfs:range qb:DataStructureDefinition; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
|
||
qb:component a rdf:Property, owl:ObjectProperty; | ||
qb:component a owl:ObjectProperty; | ||
rdfs:label "component specification"@en; | ||
rdfs:comment "indicates a component specification which is included in the structure of the dataset"@en; | ||
rdfs:domain qb:DataStructureDefinition; | ||
rdfs:range qb:ComponentSpecification; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
# --- Component specifications - for qualifying component use in a DSD --------------------------- | ||
|
||
qb:ComponentSpecification a rdfs:Class, owl:Class ; | ||
qb:ComponentSpecification a owl:Class ; | ||
rdfs:label "Component specification"@en; | ||
rdfs:comment """Used to define properties of a component (attribute, dimension etc) which are specific to its usage in a DSD."""@en; | ||
rdfs:subClassOf qb:ComponentSet ; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:ComponentSet a rdfs:Class, owl:Class; | ||
qb:ComponentSet a owl:Class; | ||
rdfs:label "Component set"@en; | ||
rdfs:comment "Abstract class of things which reference one or more ComponentProperties"@en; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:componentProperty a rdf:Property, owl:ObjectProperty; | ||
qb:componentProperty a owl:AnnotationProperty; | ||
rdfs:label "component"@en; | ||
rdfs:comment "indicates a ComponentProperty (i.e. attribute/dimension) expected on a DataSet, or a dimension fixed in a SliceKey"@en; | ||
rdfs:domain qb:ComponentSet; | ||
rdfs:range qb:ComponentProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
# rdfs:range qb:ComponentProperty; | ||
. | ||
|
||
qb:order a rdf:Property, owl:DatatypeProperty; | ||
qb:order a owl:DatatypeProperty; | ||
rdfs:label "order"@en; | ||
rdfs:comment """indicates a priority order for the components of sets with this structure, used to guide presentations - lower order numbers come before higher numbers, un-numbered components come last"""@en; | ||
rdfs:domain qb:ComponentSpecification; | ||
rdfs:range xsd:int; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:componentRequired a rdf:Property, owl:DatatypeProperty; | ||
qb:componentRequired a owl:DatatypeProperty; | ||
rdfs:label "component required"@en; | ||
rdfs:comment """Indicates whether a component property is required (true) or optional (false) in the context of a DSD. Only applicable | ||
to components correspond to an attribute. Defaults to false (optional)."""@en; | ||
rdfs:domain qb:ComponentSpecification; | ||
rdfs:range xsd:boolean; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:componentAttachment a rdf:Property; | ||
qb:componentAttachment a owl:AnnotationProperty; | ||
rdfs:label "component attachment"@en; | ||
rdfs:comment """Indicates the level at which the component property should be attached, this might an qb:DataSet, qb:Slice or qb:Observation, or a qb:MeasureProperty."""@en; | ||
rdfs:domain qb:ComponentSpecification; | ||
rdfs:range rdfs:Class; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:dimension a rdf:Property, owl:ObjectProperty; | ||
qb:dimension a owl:AnnotationProperty; | ||
rdfs:label "dimension"@en; | ||
rdfs:comment "An alternative to qb:componentProperty which makes explicit that the component is a dimension"@en; | ||
rdfs:subPropertyOf qb:componentProperty; | ||
rdfs:range qb:DimensionProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:measure a rdf:Property, owl:ObjectProperty; | ||
qb:measure a owl:AnnotationProperty; | ||
rdfs:label "measure"@en; | ||
rdfs:comment "An alternative to qb:componentProperty which makes explicit that the component is a measure"@en; | ||
rdfs:subPropertyOf qb:componentProperty; | ||
rdfs:range qb:MeasureProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:attribute a rdf:Property, owl:ObjectProperty; | ||
qb:attribute a owl:AnnotationProperty; | ||
rdfs:label "attribute"@en; | ||
rdfs:comment "An alternative to qb:componentProperty which makes explicit that the component is a attribute"@en; | ||
rdfs:subPropertyOf qb:componentProperty; | ||
rdfs:range qb:AttributeProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:measureDimension a rdf:Property, owl:ObjectProperty; | ||
qb:measureDimension a owl:AnnotationProperty; | ||
rdfs:label "measure dimension"@en; | ||
rdfs:comment "An alternative to qb:componentProperty which makes explicit that the component is a measure dimension"@en; | ||
rdfs:subPropertyOf qb:componentProperty; | ||
rdfs:range qb:DimensionProperty; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
# --- Slice definitions --------------------------- | ||
|
||
qb:SliceKey a rdfs:Class, owl:Class; | ||
qb:SliceKey a owl:Class; | ||
rdfs:label "Slice key"@en; | ||
rdfs:comment "Denotes a subset of the component properties of a DataSet which are fixed in the corresponding slices"@en; | ||
rdfs:subClassOf qb:ComponentSet ; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:sliceStructure a rdf:Property, owl:ObjectProperty; | ||
qb:sliceStructure a owl:ObjectProperty; | ||
rdfs:label "slice structure"@en; | ||
rdfs:comment "indicates the sub-key corresponding to this slice"@en; | ||
rdfs:domain qb:Slice; | ||
rdfs:range qb:SliceKey; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:sliceKey a rdf:Property, owl:ObjectProperty; | ||
qb:sliceKey a owl:ObjectProperty; | ||
rdfs:label "slice key"@en; | ||
rdfs:comment "indicates a slice key which is used for slices in this dataset"@en; | ||
rdfs:domain qb:DataStructureDefinition; | ||
rdfs:range qb:SliceKey; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
# --- Concepts --------------------------- | ||
|
||
qb:concept a rdf:Property, owl:ObjectProperty; | ||
qb:concept a owl:AnnotationProperty; | ||
rdfs:label "concept"@en; | ||
rdfs:comment "gives the concept which is being measured or indicated by a ComponentProperty"@en; | ||
rdfs:domain qb:ComponentProperty; | ||
# rdfs:domain qb:ComponentProperty; | ||
rdfs:range skos:Concept; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:codeList a rdf:Property, owl:ObjectProperty; | ||
qb:codeList a owl:ObjectProperty; | ||
rdfs:label "code list"@en; | ||
rdfs:comment "gives the code list associated with a CodedProperty"@en; | ||
rdfs:domain qb:CodedProperty; | ||
rdfs:range [ owl:unionOf (skos:ConceptScheme skos:Collection qb:HierarchicalCodeList)] ; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:HierarchicalCodeList a rdfs:Class, owl:Class; | ||
qb:HierarchicalCodeList a owl:Class; | ||
# rdfs:subClassOf qb:CodeList; | ||
rdfs:label "Hierarchical Code List"@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 thier child concept . The same concepts may be members of multiple hierarchies provided that different qb:parentChildProperty values are used for each hierarchy."@en; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:hierarchyRoot a rdf:Property, owl:ObjectProperty; | ||
qb:hierarchyRoot a owl:ObjectProperty; | ||
rdfs:domain qb:HierarchicalCodeList; | ||
rdfs:comment "Specifies a root of the hierarchy. A hierarchy may have multiple roots but must have at least one."@en; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
qb:parentChildProperty a rdf:Property, owl:ObjectProperty; | ||
qb:parentChildProperty a owl:ObjectProperty; | ||
rdfs:label "parent-child property"@en; | ||
rdfs:domain qb:HierarchicalCodeList; | ||
rdfs:range rdf:Property; | ||
rdfs:comment "Specifies a property which relates a parent concept in the hierarchy to a child concept."@en; | ||
rdfs:isDefinedBy <http://purl.org/linked-data/cube>; | ||
. | ||
|
||
#qb:AggregatableHierarchy | ||
|