as i read the RDF Data Cube Vocabulary document, one thing confuses me: MeasureProperties
(in the following example I use eg:lifeExpectancy
are first defined as properties. however, when defining the data structure they are used as objects. is this allowed? please see the following example taken directly from the specification document.
so, first the MeasureProperty
itself gets defined as an rdf:property
. see the following example of eg:lifeExpectancy
:
eg:lifeExpectancy a rdf:Property, qb:MeasureProperty;
rdfs:label "life expectancy"@en;
rdfs:subPropertyOf sdmx-measure:obsValue;
rdfs:range xsd:decimal .
later, this MeasureProperty
is used to define a data structure:
eg:dsd-le a qb:DataStructureDefinition;
# The dimensions
[...]
# The measure(s)
qb:component [ qb:measure eg:lifeExpectancy];
# The attributes
[...]
as you can see eg:lifeExpectancy
here is used as an object, which shouldn't be allowed, since it is a property?! or am I thinking wrong?
later, when actually expressing the observations, eg:lifeExpectancy
is us as a property:
eg:o1 a qb:Observation;
qb:dataSet eg:dataset-le1 ;
eg:refArea ex-geo:newport_00pr ;
sdmx-dimension:sex sdmx-code:sex-M ;
sdmx-attribute:unitMeasure <http://dbpedia.org/resource/Year> ;
eg:lifeExpectancy 76.7 ;
.
how is it possible/allowed to use eg:lifeExpectancy
as an object, as it is done in the qb:DataStructureDefinition
above?