Is this a valid construct?
I want to do two transitive queries and union the results. I realise it's
an awkward construct, that's a result of it being dynamically generated.
The code gives the error:
=============================
Virtuoso 37000 Error SP031: SPARQL compiler: Variable
'_::trans_subj_13_0' is used in subexpressions of the query but not
assigned
DBPedialink:
http://dbpedia.org/sparql?default-graph-uri=http%3A%2F%2Fdbpedia.org&query=select+distinct+%3FG+%3FS+%3FP+%3FO+Datatype%28%3FO%29+as+%3FObjectType%0D%0Awhere+{+%0D%0A+{%0D%0A%3Fanchor+%3FanchorPred+%3FS%0D%0A++++OPTION+%28+TRANSITIVE%2C%0D%0A++++t_min+%280%29%2C%0D%0A++++t_max+%281%29%2C%0D%0A++++t_in+%28%3Fanchor%29%2C%0D%0A++++t_out+%28%3FS%29%2C%0D%0A++++t_no_cycles%2C%0D%0A++++t_distinct+%29+.%0D%0A++++FILTER+%28+%3Fanchor+in+%28%3CSubject1%3E%29%29%0D%0A%0D%0A%3FS+%3FP+%3FO+.filter+%28+%3FS+in+%28%3CSubject1%3E%29%29%0D%0A%0D%0Afilter+%28+%3FP+in+%28%3CPredicate1%3E%29%29%0D%0A}+union+{%0D%0A%3Fanchor+%3FanchorPred+%3FS%0D%0A++++OPTION+%28+TRANSITIVE%2C%0D%0A++++t_min+%280%29%2C%0D%0A++++t_max+%281%29%2C%0D%0A++++t_in+%28%3Fanchor%29%2C%0D%0A++++t_out+%28%3FS%29%2C%0D%0A++++t_no_cycles%2C%0D%0A++++t_distinct+%29+.%0D%0A++++FILTER+%28+%3Fanchor+in+%28%3CSubject1%3E%29%29%0D%0A%3FS+%3FP+%3FO+.%0D%0Afilter+%28%3FP+%3D+rdf%3Atype%29%0D%0Afilter+%28+%3FS+in+%28%3CSubject1%3E%29%29%0D%0A%3FS+%3FPP+%3FOO+.%0D%0Afilter+%28+%3FPP+in+%28%3CPredicate1%3E%29%29%0D%0A}}&format=text%2Fhtml&timeout=30000&debug=on
=============================
select distinct ?G ?S ?P ?O Datatype(?O) as ?ObjectType
where {
{
?anchor ?anchorPred ?S
OPTION ( TRANSITIVE,
t_min (0),
t_max (1),
t_in (?anchor),
t_out (?S),
t_no_cycles,
t_distinct ) .
FILTER ( ?anchor in (<Subject1>))
?S ?P ?O .filter ( ?S in (<Subject1>))
filter ( ?P in (<Predicate1>))
} union {
?anchor ?anchorPred ?S
OPTION ( TRANSITIVE,
t_min (0),
t_max (1),
t_in (?anchor),
t_out (?S),
t_no_cycles,
t_distinct ) .
FILTER ( ?anchor in (<Subject1>))
?S ?P ?O .
filter (?P = rdf:type)
filter ( ?S in (<Subject1>))
?S ?PP ?OO .
filter ( ?PP in (<Predicate1>))
}}
=============================
--
Quentin | Clear Blue Water Pty Ltd
quent...@clearbluewater.com.au
------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today.
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users