Query about DataDefinitionStructure & DataSet

58 views
Skip to first unread message

arterisk

unread,
May 14, 2013, 11:21:23 PM5/14/13
to publishing-st...@googlegroups.com
Dear team,
 
A good day!.
RDF Data Cube vocabulary is very owesome for me. Indeed, I can use it to represent my statistic-approach project.
 
I have a few questions which are:
 
1) qb:Dataset relates with qb:DataStructureDefinition with qb:structure property.   (qb:Dataset---qb:structure ----qb:DataStructureDefinition ).
    Is it 1:1 or 1:many or many:1 relationship ?
 
2)  The qb:ComponentAttachment defines where the component is attach to. The range of this property is a class.
Does it means that the value of this property is a class (e.g. qb:DataSet) ? or , the value is a type of a class?
 
3) qb:ObservationGroup relates with qb:Observation with qb:observation property.   (qb:ObservationGroup -- qb:observation  --- qb:Observation )
I believe the relation is 1:many.
Can I link qb:Slice with qb:ObservationGroup ?  It is something like this?
      (qb:Slice1  -- qb:observation  -- qb:ObservationGroup1)
             (qb:ObservationGroup1 -- qb:observation  --- qb:Observation1 )
              (qb:ObservationGroup1 -- qb:observation  --- qb:Observation2 )
 
4) What is the pros having qb:ObservationGroup?
 
Appreciate your clarification on the above questions.
 
Thank you very much & regards,
arterisk
 
 

Richard Cyganiak

unread,
May 15, 2013, 4:53:02 PM5/15/13
to publishing-st...@googlegroups.com, publishing-st...@googlegroups.com
Hi Arterisk,

On 15 May 2013, at 04:21, arterisk <arte...@gmail.com> wrote:

Dear team,
 
A good day!.
RDF Data Cube vocabulary is very owesome for me. Indeed, I can use it to represent my statistic-approach project.
 
I have a few questions which are:
 
1) qb:Dataset relates with qb:DataStructureDefinition with qb:structure property.   (qb:Dataset---qb:structure ----qb:DataStructureDefinition ).
    Is it 1:1 or 1:many or many:1 relationship ?

One DSD can be used for many data sets. One data set cannot have more than one structure.

 2)  The qb:ComponentAttachment defines where the component is attach to. The range of this property is a class.
Does it means that the value of this property is a class (e.g. qb:DataSet) ? or , the value is a type of a class?

The former. You could have:

ex:MyAttribute qb:componentAttachment qb:Dataset .

This tells a consumer of the data to look for that attribute not on the observation (the default), but on the data set.

 3) qb:ObservationGroup relates with qb:Observation with qb:observation property.   (qb:ObservationGroup -- qb:observation  --- qb:Observation )
I believe the relation is 1:many.

Correct.

Can I link qb:Slice with qb:ObservationGroup ?  It is something like this?
      (qb:Slice1  -- qb:observation  -- qb:ObservationGroup1)
             (qb:ObservationGroup1 -- qb:observation  --- qb:Observation1 )
              (qb:ObservationGroup1 -- qb:observation  --- qb:Observation2 )

No. This kind of nesting is not supported.

 4) What is the pros having qb:ObservationGroup?

It's sort of an extension point for use cases that are not covered otherwise. If you need to group arbitrary observations that don't necessarily fit the Slice pattern (the latest observations in a time series; all observations that needed to be updated when an error was discovered; et cetera), then observation groups would be a good way of doing that. You may well never need it.

Hope that helps,
Richard


 
Appreciate your clarification on the above questions.
 
Thank you very much & regards,
arterisk
 
 

--
You received this message because you are subscribed to the Google Groups "Publishing Statistical Data" group.
To unsubscribe from this group and stop receiving emails from it, send an email to publishing-statisti...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

arterisk

unread,
May 16, 2013, 9:48:26 PM5/16/13
to publishing-st...@googlegroups.com
Thank you Richard for the reply.
 
However , i still have a doubt about the third answer which is :
 
3) qb:ObservationGroup relates with qb:Observation with qb:observation property. (qb:ObservationGroup -- qb:observation --- qb:Observation )
I believe the relation is 1:many.
>>Correct.
Can I link qb:Slice with qb:ObservationGroup ? It is something like this?
(qb:Slice1 -- qb:observation -- qb:ObservationGroup1)
(qb:ObservationGroup1 -- qb:observation --- qb:Observation1 )
(qb:ObservationGroup1 -- qb:observation --- qb:Observation2 )
>>No. This kind of nesting is not supported.
 
My question: Since that qb:ObservationGroup relates with qb:Observation with qb:observation property. (qb:ObservationGroup -- qb:observation --- qb:Observation ) and the relation is one to many. Then, these triples is allowed right:
(qb:ObservationGroup1 -- qb:observation --- qb:Observation1 )
(qb:ObservationGroup1 -- qb:observation --- qb:Observation2 )
 
How to link a Slice to this ObservationGroup? Should it be like this?
(qb:Slice1 -- qb:observation -- qb:ObservationGroup1)
 
If yes, then these triples are correct right?
(qb:Slice1 -- qb:observation -- qb:ObservationGroup1)
(qb:ObservationGroup1 -- qb:observation --- qb:Observation1 )
(qb:ObservationGroup1 -- qb:observation --- qb:Observation2 )
 
 
I have an additional questions:
 
Property: qb:componentRequired ( Domain:qb:ComponentSpecification -> Range:xsd:boolean )
Indicates whether a component property is required (true) or optional (false) in the context of a DSD. Only applicable to components corresponding to an attribute. Defaults to false (optional).
 
My question: Why it only applicable to attribute components? Cant it be apply to measure & dimension component as well?
 
Your further clarification is very appreciated.
Thank you & regards,
arterisk
To unsubscribe from this group and stop receiving emails from it, send an email to publishing-statistical-data+unsub...@googlegroups.com.

Dave Reynolds

unread,
May 17, 2013, 3:43:00 AM5/17/13
to publishing-st...@googlegroups.com
On 17/05/13 02:48, arterisk wrote:
> Thank you Richard for the reply.
> However , i still have a doubt about the third answer which is :
> 3) /qb:ObservationGroup relates with qb:Observation with qb:observation
> property. (qb:ObservationGroup -- qb:observation --- qb:Observation )/
> /I believe the relation is 1:many.
> /
> >>Correct.
>> /Can I link qb:Slice with qb:ObservationGroup ? It is something like
>> this? /
>> /(qb:Slice1 -- qb:observation -- qb:ObservationGroup1)/
>> /(qb:ObservationGroup1 -- qb:observation --- qb:Observation1 )/
>> /(qb:ObservationGroup1 -- qb:observation --- qb:Observation2 )/
> >>No. This kind of nesting is not supported.
> My question: Since that qb:ObservationGroup relates with qb:Observation
> with qb:observation property. (qb:ObservationGroup -- qb:observation ---
> qb:Observation ) and the relation is one to many. Then, these triples is
> allowed right:
> /(qb:ObservationGroup1 -- qb:observation --- qb:Observation1 )/
> /(qb:ObservationGroup1 -- qb:observation --- qb:Observation2 )/

Correct.

> /How to link a Slice to this ObservationGroup? Should it be like this?/
> /(qb:Slice1 -- qb:observation -- qb:ObservationGroup1)/

No. As Richard said, that kind of nesting is not supported.

There is qb:observationGroup which has an open domain and range
qb:ObservationGroup. So you could have:

eg:slice1 qb:observationGroup eg:observationGroup1.

eg:observationGroup1 qb:observation eg:observation1, ex:observation2 .

Not sure why you would want to do that but it is legal. However, note
that does not itself tell you that that eg:observation1 and
eg:observation2 are in eg:slice1, it is just annotating the slice with
some Observation Group and has no semantic implications for the contents
of the slice. If these observations are indeed in the slice then you
will still have to directly assert that:

eg:slice1 qb:observation eg:observation1, eg:observation2 .

> I have an additional questions:
> /Property:/ |*qb:componentRequired*| (
> /Domain:/|qb:ComponentSpecification
> <http://www.w3.org/TR/vocab-data-cube/#dfn-qb-componentspecification>|
> -> /Range:/|xsd:boolean| )
> Indicates whether a component property is required (true) or
> optional (false) in the context of a DSD. Only applicable to
> components corresponding to an attribute. Defaults to false (optional).
> My question: Why it only applicable to attribute components? Cant it be
> apply to measure & dimension component as well?

No, those are always required. See IC-11 and IC-14.

There are ways of working around that for measures.

Dave

Richard Cyganiak

unread,
May 17, 2013, 4:45:51 AM5/17/13
to publishing-st...@googlegroups.com, publishing-st...@googlegroups.com
On 17 May 2013, at 02:48, arterisk <arte...@gmail.com> wrote:

Thank you Richard for the reply.
 
However , i still have a doubt about the third answer which is :
 
3) qb:ObservationGroup relates with qb:Observation with qb:observation property. (qb:ObservationGroup -- qb:observation --- qb:Observation )
I believe the relation is 1:many.
>>Correct.
Can I link qb:Slice with qb:ObservationGroup ? It is something like this?
(qb:Slice1 -- qb:observation -- qb:ObservationGroup1)
(qb:ObservationGroup1 -- qb:observation --- qb:Observation1 )
(qb:ObservationGroup1 -- qb:observation --- qb:Observation2 )
>>No. This kind of nesting is not supported.
 
My question: Since that qb:ObservationGroup relates with qb:Observation with qb:observation property. (qb:ObservationGroup -- qb:observation --- qb:Observation ) and the relation is one to many. Then, these triples is allowed right:
(qb:ObservationGroup1 -- qb:observation --- qb:Observation1 )
(qb:ObservationGroup1 -- qb:observation --- qb:Observation2 )

Correct.

 How to link a Slice to this ObservationGroup?

You don't link slices to observation groups. (At least not with any property defined in Data Cube.)

You link slices directly to observations.

Should it be like this?
(qb:Slice1 -- qb:observation -- qb:ObservationGroup1)

No.

 If yes, then these triples are correct right?
(qb:Slice1 -- qb:observation -- qb:ObservationGroup1)
(qb:ObservationGroup1 -- qb:observation --- qb:Observation1 )
(qb:ObservationGroup1 -- qb:observation --- qb:Observation2 )
 
 
I have an additional questions:
 
Property: qb:componentRequired ( Domain:qb:ComponentSpecification -> Range:xsd:boolean )
Indicates whether a component property is required (true) or optional (false) in the context of a DSD. Only applicable to components corresponding to an attribute. Defaults to false (optional).
 
My question: Why it only applicable to attribute components? Cant it be apply to measure & dimension component as well?

All dimensions are always required, otherwise you wouldn't have a well-defined cube structure. And an observation without a measure would be pointless.

Best,
Richard



To unsubscribe from this group and stop receiving emails from it, send an email to publishing-statisti...@googlegroups.com.

arterisk

unread,
May 19, 2013, 9:34:04 PM5/19/13
to publishing-st...@googlegroups.com
Thank you very much Dave.
 
regards,
arterisk.

Sarven Capadisli

unread,
May 20, 2013, 8:57:18 AM5/20/13
to publishing-st...@googlegroups.com
On 05/15/2013 10:53 PM, Richard Cyganiak wrote:
>> 4) What is the pros having qb:ObservationGroup?
>
> It's sort of an extension point for use cases that are not covered
> otherwise. If you need to group arbitrary observations that don't
> necessarily fit the Slice pattern (the latest observations in a time
> series; all observations that needed to be updated when an error was
> discovered; et cetera), then observation groups would be a good way of
> doing that. You may well never need it.

I don't think I paid close attention to observation groups until now
even though I made an editorial comment about the sentence leading to it
in the spec :O

Am I right in thinking that an SMDX Series is a good candidate to map to
an qb:ObservationGroup?

-Sarven



Reply all
Reply to author
Forward
0 new messages