@prefix rdf: . @prefix rdfs: . @prefix owl: . @prefix xsd: . @prefix skos: . @prefix foaf: . @prefix scovo: . @prefix void: . @prefix qb: . @prefix dcterms: . a owl:Ontology; owl:versionInfo "0.2"; rdfs:label "The data cube vocabulary"; rdfs:comment "This vocabulary allows multi-dimensional data, such as statistics, to be published in RDF. It is based on the core information model from SDMX (and thus also DDI)."; dcterms:created "2010-07-12"^^xsd:date; dcterms:modified "2010-11-27"^^xsd:date; dcterms:modified "2013-03-02"^^xsd:date; dcterms:modified "2013-07-26"^^xsd:date; dcterms:title "Vocabulary for multi-dimensional (e.g. statistical) data publishing"; dcterms:license ; dcterms:contributor [foaf:mbox "richard@cyganiak.de"], [foaf:mbox "jeni@jenitennison.com"], [foaf:mbox "arofan.gregory@earthlink.net"], [foaf:mbox "ian@epimorphics.com"], [foaf:mbox "dave@epimorphics.com"]; . # --- DataSets --------------------------- qb:DataSet a rdfs:Class, 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 ; . # --- Observations --------------------------- qb:Observation a rdfs:Class, 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 ; . qb:dataSet a rdf:Property, 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 ; . qb:observation a rdf:Property, 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 ; . qb:ObservationGroup a rdfs:Class, owl:Class; rdfs:label "Observation Group"@en; rdfs:comment "A, possibly arbitrary, group of observations."@en; rdfs:isDefinedBy ; . qb:observationGroup a rdf:Property, 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 ; . # --- Slices --------------------------- qb:Slice a rdfs:Class, 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 ; . qb:slice a rdf:Property, 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 ; . # Removed see http://www.w3.org/2011/gld/track/issues/34 #qb:subSlice a rdf:Property, owl:ObjectProperty; # rdfs:label "sub slice"@en; # rdfs:comment "Indicates a narrower slice which has additional fixed dimensional values, for example a time-series slice might a subSlice of a slice which spans both time and geographic area"@en; # rdfs:domain qb:Slice; # rdfs:range qb:Slice; # rdfs:isDefinedBy ; # . # --- Dimensions, Attributes, Measures --------------------------- qb:Attachable a rdfs:Class, owl:Class; rdfs:label "Attachable (abstract)"@en; rdfs:comment "Abstract superclass for everything that can have attributes and dimensions"@en; rdfs:isDefinedBy ; . qb:ComponentProperty a rdfs:Class, owl:Class; 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 ; . qb:DimensionProperty a rdfs:Class, owl:Class; 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 ; . qb:AttributeProperty a rdfs:Class, owl:Class; 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 ; . qb:MeasureProperty a rdfs:Class, owl:Class; 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 ; . qb:CodedProperty a rdfs:Class, owl:Class; rdfs:label "Coded property"@en; rdfs:subClassOf qb:ComponentProperty; rdfs:comment "Superclass of all coded ComponentProperties"@en; rdfs:isDefinedBy ; . # --- Reusable general purpose component properties --------------------------- qb:measureType a qb:DimensionProperty, rdf:Property; 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 ; . # --- Data Structure Definitions --------------------------- qb:DataStructureDefinition a rdfs:Class, 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 ; . qb:structure a rdf:Property, 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 ; . qb:component a rdf:Property, 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 ; . # --- Component specifications - for qualifying component use in a DSD --------------------------- qb:ComponentSpecification a rdfs:Class, 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 ; . qb:ComponentSet a rdfs:Class, owl:Class; rdfs:label "Component set"@en; rdfs:comment "Abstract class of things which reference one or more ComponentProperties"@en; rdfs:isDefinedBy ; . qb:componentProperty a rdf:Property, owl:ObjectProperty; 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 ; . qb:order a rdf:Property, 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 ; . qb:componentRequired a rdf:Property, 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 ; . qb:componentAttachment a rdf:Property; 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 ; . qb:dimension a rdf:Property, owl:ObjectProperty; 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 ; . qb:measure a rdf:Property, owl:ObjectProperty; 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 ; . qb:attribute a rdf:Property, owl:ObjectProperty; 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 ; . qb:measureDimension a rdf:Property, owl:ObjectProperty; 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 ; . # --- Slice definitions --------------------------- qb:SliceKey a rdfs:Class, 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 ; . qb:sliceStructure a rdf:Property, 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 ; . qb:sliceKey a rdf:Property, 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 ; . # --- Concepts --------------------------- qb:concept a rdf:Property, owl:ObjectProperty; rdfs:label "concept"@en; rdfs:comment "gives the concept which is being measured or indicated by a ComponentProperty"@en; rdfs:domain qb:ComponentProperty; rdfs:range skos:Concept; rdfs:isDefinedBy ; . 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 [ owl:unionOf (skos:ConceptScheme skos:Collection qb:HierarchicalCodeList)] ; rdfs:isDefinedBy ; . qb:HierarchicalCodeList a rdfs:Class, 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 ; . qb:hierarchyRoot a rdf:Property, 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 ; . qb:parentChildProperty a rdf:Property, 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 ; . #qb:AggregatableHierarchy # rdfs:label "Aggregatable Hierarchy"@en; # rdfs:subClassOf qb:HierarchicalCodeList; # 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; # rdfs:isDefinedBy ; # .