Closed GoogleCodeExporter closed 9 years ago
More reasons for modelling concepts directly as rdf:Properties, rather than
skos:Concepts:
1. It lets us use any existing property (say, rdfs:comment or dc:modified) as
an attribute simply by mentioning
it in the DSD. This basically gives us a huge pool of “concepts” to be used
as attributes for free.
2. This turns the DSD into merely an informative structure. The DSD still
provides us with some potentially
helpful information for interpreting the dataset, and will be useful for
validation; but to understand the
semantics of the data, it is sufficient to study the observations and time
series, and their attached properties
(dimensions etc) which are hopefully widely shared and thus well-known.
Original comment by richard....@gmail.com
on 30 Mar 2010 at 7:47
The pure property approach has the problem that it doesn't reflect SDMX's
separation
of concept from the role that concept plays within a given DSD.
Thus with the current SDMX-RDF design we can use the concept of Currency as
either a
Dimension (thing that is measured) or as an Attribute (unit of measurement) but
know
how the two are related together. With the property-based approach we would
need two
properties and would then need to devise some way of indicating they relate are
related to each other. By the time we have done that it feels like we would be
back
to something isomorphic to the current design.
By defining the ComponentProperty translations of each COG concept once (as
we've
done) we've opened the door to reuse across DSDs when appropriate without
forcing reuse.
The ability to use any existing rdf:Property as a ComponentProperty isn't
actually
ruled out by the current design. However, it seems more useful to have things
like
rdfs:comment and dct:modified available as annotations rather than Dimensions or
Attributes. With the current design we could easily create an sdmx:Attribute
corresponding to some existing rdf:Property if needed. [Technically it wouldn't
even
need an explicit corresponding concept since we don't yet have any cardinality
restrictions in the vocabulary.] Whereas if any rdf:Property were reusable
directly
then we couldn't tell from an observation what role it is playing and would be
unable
to differentiate between annotations (documentation) and Attributes (which carry
semantics) except via the indirect references in the DSD.
Original comment by Dave.e.R...@gmail.com
on 7 Apr 2010 at 1:31
Dave, you say that we couldn't re-use Currency as an Attribute and Dimension
with the property-based
approach to concepts. But that's not correct. I could define a single property
ex:currency, and then say that
this property acts as a dimension in one DSD, and as an attribute in another:
my:FinancialDataStructure a sdmx:DataStructureDefinition;
sdmx:attribute [
sdmx:property ex:currency;
];
</obs/1234/abcd> a sdmx:Observation;
ex:currency ex:USD;
...
This use doesn't preclude the use as a dimension in another DSD. Hence, re-use
of concepts is not harmed.
It is true that differentiating between dimensions and attributes can get more
cumbersome, if one starts with
an observation (instead of observation > property > type of component, one has
to go: observation > dataset
> dsd > type of component). But if one already holds a reference to the
dataset, then it's a pretty direct
connection -- dataset > dsd > type of component.
Original comment by richard....@gmail.com
on 7 Apr 2010 at 8:08
Richard, sure I agree you *could* do it that way. However, to me if you have
different semantics you should have different properties rather than the one
overloaded property disambiguated by a context annotation a few steps removed.
Overloading a single term with two different semantics makes the modelling
harder to
understand and makes practical data merging harder.
Imagine a user looking a two groups of Observations; in one ex:currency is
meant to
be a dimension of a cube in the other it's the units the observation is
measured in;
yet they are identical RDF except for the sdmx:dataset link. I don't we could
argue
that the RDF mapping had met any goals about supporting linking and data
merging in
such a case!
Original comment by Dave.e.R...@gmail.com
on 8 Apr 2010 at 8:15
Thinking more about this, a stronger argument against property-based concepts
might be that a single concept
might play multiple roles in the *same* DSD. For example, a DSD for global
exchange rates would maybe have
*two* dimensions for Currency (buy/sell). To tell them apart on the observation
level, one needs to define two
DimensionProperties.
Original comment by richard....@gmail.com
on 8 Apr 2010 at 10:54
We agreed on the call on 6th May that we have reached consensus on this issue
Original comment by i.j.dick...@gmail.com
on 7 May 2010 at 9:07
Original issue reported on code.google.com by
richard....@gmail.com
on 30 Mar 2010 at 2:01