@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix : <http://www.semanticweb.org/owl/owlapi/turtle#> .
@prefix qb: <http://purl.org/linked-data/cube#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix xml: <http://www.w3.org/XML/1998/namespace> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix prov: <http://www.w3.org/ns/prov#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix skos: <http://www.w3.org/2004/02/skos/core#> .
@prefix void: <http://rdfs.org/ns/void#> .
@prefix scovo: <http://purl.org/NET/scovo#> .
@prefix dcterms: <http://purl.org/dc/terms/> .

<http://purl.allotrope.org/voc/qb/REC/2018/10/cube>
    dcterms:contributor [
        foaf:mbox <mailto:jeni@jenitennison.com>
    ], [
        foaf:mbox <mailto:richard@cyganiak.de>
    ], [
        foaf:mbox <mailto:ian@epimorphics.com>
    ], [
        foaf:mbox <mailto:arofan.gregory@earthlink.net>
    ], [
        foaf:mbox <mailto:dave@epimorphics.com>
    ] ;
    dcterms:created "2010-07-12"^^xsd:date ;
    dcterms:license <http://www.opendatacommons.org/licenses/pddl/1.0/> ;
    dcterms:modified "2010-11-27"^^xsd:date, "2013-03-02"^^xsd:date, "2013-07-26"^^xsd:date, "2018-10-10"^^xsd:date ;
    dcterms:title "Vocabulary for multi-dimensional (e.g. statistical) data publishing" ;
    a owl:Ontology ;
    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)." ;
    rdfs:label "The data cube vocabulary" ;
    owl:versionIRI <http://purl.allotrope.org/voc/qb/REC/2018/10/cube> ;
    owl:versionInfo "REC/2018/10" ;
    prov:wasDerivedFrom "http://purl.org/linked-data/cube v0.2" .

scovo:Dataset
    a owl:Class ;
    owl:equivalentClass qb:DataSet .

scovo:Item
    a owl:Class ;
    owl:equivalentClass qb:Observation .

qb:Attachable
    a owl:Class ;
    rdfs:comment "Abstract superclass for everything that can have attributes and dimensions"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Attachable (abstract)"@en .

qb:AttributeProperty
    a owl:Class ;
    rdfs:comment "The class of components which represent attributes of observations in the cube, e.g. unit of measurement"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Attribute property"@en ;
    rdfs:subClassOf qb:ComponentProperty ;
    owl:disjointWith qb:MeasureProperty .

qb:CodedProperty
    a owl:Class ;
    rdfs:comment "Superclass of all coded ComponentProperties"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Coded property"@en ;
    rdfs:subClassOf qb:ComponentProperty .

qb:ComponentProperty
    a owl:Class ;
    rdfs:comment "Abstract super-property of all properties representing dimensions, attributes or measures"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Component property (abstract)"@en ;
    rdfs:subClassOf rdf:Property .

qb:ComponentSet
    a owl:Class ;
    rdfs:comment "Abstract class of things which reference one or more ComponentProperties"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Component set"@en .

qb:ComponentSpecification
    a owl:Class ;
    rdfs:comment "Used to define properties of a component (attribute, dimension etc) which are specific to its usage in a DSD."@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Component specification"@en ;
    rdfs:subClassOf qb:ComponentSet .

qb:DataSet
    a owl:Class ;
    rdfs:comment "Represents a collection of observations, possibly organized into various slices, conforming to some common dimensional structure."@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Data set"@en ;
    rdfs:subClassOf qb:Attachable .

qb:DataStructureDefinition
    a owl:Class ;
    rdfs:comment "Defines the structure of a DataSet or slice"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Data structure definition"@en ;
    rdfs:subClassOf qb:ComponentSet .

qb:DimensionProperty
    a owl:Class ;
    rdfs:comment "The class of components which represent the dimensions of the cube"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Dimension property"@en ;
    rdfs:subClassOf qb:CodedProperty, qb:ComponentProperty ;
    owl:disjointWith qb:MeasureProperty .

qb:HierarchicalCodeList
    a owl:Class ;
    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> ;
    rdfs:label "Hierarchical Code List"@en .

qb:MeasureProperty
    a owl:Class ;
    rdfs:comment "The class of components which represent the measured value of the phenomenon being observed"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Measure property"@en ;
    rdfs:subClassOf qb:ComponentProperty .

qb:Observation
    a owl:Class ;
    rdfs:comment "A single observation in the cube, may have one or more associated measured values"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Observation"@en ;
    rdfs:subClassOf qb:Attachable .

qb:ObservationGroup
    a owl:Class ;
    rdfs:comment "A, possibly arbitrary, group of observations."@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Observation Group"@en .

qb:Slice
    a owl:Class ;
    rdfs:comment "Denotes a subset of a DataSet defined by fixing a subset of the dimensional values, component properties on the Slice"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Slice"@en ;
    rdfs:subClassOf qb:Attachable, qb:ObservationGroup .

qb:SliceKey
    a owl:Class ;
    rdfs:comment "Denotes a subset of the component properties of a DataSet which are fixed in the corresponding slices"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "Slice key"@en ;
    rdfs:subClassOf qb:ComponentSet .

qb:attribute
    a owl:ObjectProperty ;
    rdfs:comment "An alternative to qb:componentProperty which makes explicit that the component is a attribute"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "attribute"@en ;
    rdfs:range qb:AttributeProperty ;
    rdfs:subPropertyOf qb:componentProperty .

qb:codeList
    a owl:ObjectProperty ;
    rdfs:comment "gives the code list associated with a CodedProperty"@en ;
    rdfs:domain qb:CodedProperty ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "code list"@en ;
    rdfs:range [
        a owl:Class ;
        owl:unionOf (qb:HierarchicalCodeList
            skos:Collection
            skos:ConceptScheme
        )
    ] .

qb:component
    a owl:ObjectProperty ;
    rdfs:comment "indicates a component specification which is included in the structure of the dataset"@en ;
    rdfs:domain qb:DataStructureDefinition ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "component specification"@en ;
    rdfs:range qb:ComponentSpecification .

qb:componentAttachment
    a owl:ObjectProperty ;
    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:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "component attachment"@en ;
    rdfs:range rdfs:Class .

qb:componentProperty
    a owl:ObjectProperty ;
    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:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "component"@en ;
    rdfs:range qb:ComponentProperty .

qb:componentRequired
    a owl:DatatypeProperty ;
    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:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "component required"@en ;
    rdfs:range xsd:boolean .

qb:concept
    a owl:ObjectProperty ;
    rdfs:comment "gives the concept which is being measured or indicated by a ComponentProperty"@en ;
    rdfs:domain qb:ComponentProperty ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "concept"@en ;
    rdfs:range skos:Concept .

qb:dataSet
    a owl:ObjectProperty ;
    rdfs:comment "indicates the data set of which this observation is a part"@en ;
    rdfs:domain qb:Observation ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "data set"@en ;
    rdfs:range qb:DataSet .

qb:dimension
    a owl:ObjectProperty ;
    rdfs:comment "An alternative to qb:componentProperty which makes explicit that the component is a dimension"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "dimension"@en ;
    rdfs:range qb:DimensionProperty ;
    rdfs:subPropertyOf qb:componentProperty .

qb:hierarchyRoot
    a owl:ObjectProperty ;
    rdfs:comment "Specifies a root of the hierarchy. A hierarchy may have multiple roots but must have at least one."@en ;
    rdfs:domain qb:HierarchicalCodeList ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> .

qb:measure
    a owl:ObjectProperty ;
    rdfs:comment "An alternative to qb:componentProperty which makes explicit that the component is a measure"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "measure"@en ;
    rdfs:range qb:MeasureProperty ;
    rdfs:subPropertyOf qb:componentProperty .

qb:measureDimension
    a owl:ObjectProperty ;
    rdfs:comment "An alternative to qb:componentProperty which makes explicit that the component is a measure dimension"@en ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "measure dimension"@en ;
    rdfs:range qb:DimensionProperty ;
    rdfs:subPropertyOf qb:componentProperty .

qb:measureType
    a qb:DimensionProperty, owl:NamedIndividual, owl:ObjectProperty ;
    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:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "measure type"@en ;
    rdfs:range qb:MeasureProperty .

qb:observation
    a owl:ObjectProperty ;
    rdfs:comment "indicates a observation contained within this slice of the data set"@en ;
    rdfs:domain qb:ObservationGroup ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "observation"@en ;
    rdfs:range qb:Observation .

qb:observationGroup
    a owl:ObjectProperty ;
    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:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "observation group"@en ;
    rdfs:range qb:ObservationGroup .

qb:order
    a owl:DatatypeProperty ;
    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:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "order"@en ;
    rdfs:range xsd:int .

qb:parentChildProperty
    a owl:ObjectProperty ;
    rdfs:comment "Specifies a property which relates a parent concept in the hierarchy to a child concept."@en ;
    rdfs:domain qb:HierarchicalCodeList ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "parent-child property"@en ;
    rdfs:range rdf:Property .

qb:slice
    a owl:ObjectProperty ;
    rdfs:comment "Indicates a subset of a DataSet defined by fixing a subset of the dimensional values"@en ;
    rdfs:domain qb:DataSet ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "slice"@en ;
    rdfs:range qb:Slice ;
    rdfs:subPropertyOf qb:observationGroup .

qb:sliceKey
    a owl:ObjectProperty ;
    rdfs:comment "indicates a slice key which is used for slices in this dataset"@en ;
    rdfs:domain qb:DataStructureDefinition ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "slice key"@en ;
    rdfs:range qb:SliceKey .

qb:sliceStructure
    a owl:ObjectProperty ;
    rdfs:comment "indicates the sub-key corresponding to this slice"@en ;
    rdfs:domain qb:Slice ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "slice structure"@en ;
    rdfs:range qb:SliceKey .

qb:structure
    a owl:ObjectProperty ;
    rdfs:comment "indicates the structure to which this data set conforms"@en ;
    rdfs:domain qb:DataSet ;
    rdfs:isDefinedBy <http://purl.org/linked-data/cube> ;
    rdfs:label "structure"@en ;
    rdfs:range qb:DataStructureDefinition .

rdf:Property
    a owl:Class .

rdfs:Class
    a owl:Class .

skos:Collection
    a owl:Class .

skos:Concept
    a owl:Class .

skos:ConceptScheme
    a owl:Class .

foaf:mbox
    a owl:ObjectProperty .

<mailto:arofan.gregory@earthlink.net>
    a owl:NamedIndividual .

<mailto:dave@epimorphics.com>
    a owl:NamedIndividual .

<mailto:ian@epimorphics.com>
    a owl:NamedIndividual .

<mailto:jeni@jenitennison.com>
    a owl:NamedIndividual .

<mailto:richard@cyganiak.de>
    a owl:NamedIndividual .

[]
    foaf:mbox <mailto:dave@epimorphics.com> .

[]
    foaf:mbox <mailto:ian@epimorphics.com> .

[]
    foaf:mbox <mailto:arofan.gregory@earthlink.net> .

[]
    foaf:mbox <mailto:jeni@jenitennison.com> .

[]
    foaf:mbox <mailto:richard@cyganiak.de> .

[]
    foaf:mbox <mailto:ian@epimorphics.com> .

[]
    foaf:mbox <mailto:richard@cyganiak.de> .

[]
    foaf:mbox <mailto:arofan.gregory@earthlink.net> .

[]
    foaf:mbox <mailto:jeni@jenitennison.com> .

[]
    foaf:mbox <mailto:dave@epimorphics.com> .

[]
    foaf:mbox <mailto:ian@epimorphics.com> .

[]
    foaf:mbox <mailto:dave@epimorphics.com> .

[]
    foaf:mbox <mailto:jeni@jenitennison.com> .

[]
    foaf:mbox <mailto:richard@cyganiak.de> .

[]
    foaf:mbox <mailto:arofan.gregory@earthlink.net> .

