Hi guys,

I'm using a construct query to extract a specific portion of RDF from LDSR. I'm 
creating these queries automatically, by the following transformation:

Select ?a
Where { ?a ?b ?c }
->
Construct {?a ?b ?c}
Where {?a ?b ?c}

There are a few trivialities, such as Filters which have to be removed, but 
this turned out not to be an issue. The problem is when Union comes into the 
were, the idea no longer works:

Construct { {?a ?b ?c} UNION {?a ?d ?c}}
Where { {?a ?b ?c} UNION {?a ?d ?c}}

Would give an error.
My question is, can I just do:

Construct {          ?a ?b ?c .
?a ?d ?c}
Where { {?a ?b ?c} UNION {?a ?d ?c}}

It seems to work okay, but it doesn't feel completely right. It comes down to 
whether the engine would try to construct both -?a ?b ?c- and -?a ?d ?c- given 
the data, or either. Is there a better way to tackle my problem?

All help appreciated!

Arjon Buikstra
(Working with Larkc at the VU and MPIB)

Reply via email to