Connected to OpenLink Virtuoso Driver: 07.00.3202 OpenLink Virtuoso ODBC Driver OpenLink Interactive SQL (Virtuoso), version 0.9849b. Type HELP; for help and EXIT; to exit. SQL> SQL> x LONG VARCHAR _______________________________________________________________________________ sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX rdf: SELECT DISTINCT ?product ?label WHERE { ?product rdfs:label ?label . ?product a . ?product bsbm:productFeature . ?product bsbm:productFeature . ?product bsbm:productPropertyNumeric1 ?value1 . FILTER (?value1 > 268) } ORDER BY ?label LIMIT 10 } ; { time 0.031% fanout 1 input 1 rows Subquery 27 { time 0.044% fanout 1 input 1 rows { fork wait time 6.5% of exec real time, fanout 28 QF { time 0% fanout 0 input 0 rows Stage 1 time 1.8% fanout 707 input 1 rows RDF_QUAD_POGS 7.1e+02 rows(s_18_5_t1.S) P = ##type , O = #/ProductType20940 G = #/bsbm.org time 2.4% fanout 1 input 707 rows Stage 2 time 15% fanout 0.237624 input 707 rows RDF_QUAD_POGS unq 0.0069 rows (s_18_5_t3.S) P = #/productFeature , O = #/ProductFeature98 , S = q_s_18_5_t1.S , G = #/bsbm.org time 1.7% fanout 0 input 168 rows Stage 3 time 9.6% fanout 0.232143 input 168 rows RDF_QUAD_POGS unq 0.0069 rows (s_18_5_t2.S) P = #/productFeature , O = #/ProductFeature99 , S = q_q_s_18_5_t1.S , G = #/bsbm.org time 6.4% fanout 0.512821 input 39 rows Stage 4 time 24% fanout 0.717949 input 39 rows RDF_QUAD 0.91 rows(s_18_5_t4.S) P = #/productPropertyNumeric1 , S = q_q_q_s_18_5_t1.S , O > 268 O > 268 , G = #/bsbm.org time 24% fanout 1 input 28 rows RDF_QUAD 1 rows(s_18_5_t0.S, s_18_5_t0.O) inlined P = ##label , S = k_q_q_q_s_18_5_t1.S G = #/bsbm.org After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_18_5_t0.S -> __ID2In -> __id2in } 2: BReturn 0 time 0.81% fanout 0 input 28 rows qf select node output: (qf_set_no, __id2in, s_18_5_t0.S, s_18_5_t0.O) } time 1.1% fanout 1 input 28 rows Distinct (__id2in, s_18_5_t0.O) time 12% fanout 0 input 28 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_18_5_t0.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_18_5_t0.S, __id2in) } time 0.37% fanout 10 input 1 rows top order by read (s_18_5_t0.S, __ro2sq, __id2in) After code: 0: product := := artm __id2in 4: label := := artm __ro2sq 8: BReturn 0 time 0.011% fanout 0 input 10 rows Subquery Select(product, label) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe label -> __RO2SQ -> label product -> __RO2SQ -> product } 2: BReturn 0 time 0.017% fanout 0 input 10 rows Select (product, label) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.12% fanout 1 input 1 rows wait time 3.5% of exec real time, fanout 1 QF { time 2.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product6412145 G = #/bsbm.org time 0.22% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 3.6% of exec real time, fanout 1 QF { time 4.3% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product6412145 , G = #/bsbm.org time 0.19% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.12% fanout 1 input 1 rows outer { wait time 3.7% of exec real time, fanout 0 QF { time 2.2% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product6412145 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t18.O) shadow: (ordering.G, t18.O) time 0.47% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.11% fanout 1 input 1 rows outer { wait time 3.7% of exec real time, fanout 0 QF { time 2.5% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product6412145 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t16.O) shadow: (ordering.G, t16.O) time 0.13% fanout 1 input 1 rows outer { wait time 2.3% of exec real time, fanout 0 QF { time 2.4% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product6412145 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t14.O) shadow: (ordering.G, t14.O) wait time 4.2% of exec real time, fanout 1 QF { time 3.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product6412145 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product6412145 G = #/bsbm.org time 1.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product6412145 G = #/bsbm.org time 1.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product6412145 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product6412145 G = #/bsbm.org time 0.41% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 2.4% of exec real time, fanout 1 QF { time 3.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.21% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 3.5% of exec real time, fanout 23 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product6412145 G = #/bsbm.org time 1.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product6412145 G = #/bsbm.org time 1.8% fanout 23 input 1 rows RDF_QUAD 23 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product6412145 G = #/bsbm.org time 0.52% fanout 0 input 23 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 3.3% of exec real time, fanout 1 QF { time 18% fanout 1 input 23 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 2% fanout 0 input 23 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 44% fanout 0 input 23 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.11% fanout 1 input 1 rows wait time 3.8% of exec real time, fanout 1 QF { time 3.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product26623245 G = #/bsbm.org time 0.2% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 2.3% of exec real time, fanout 1 QF { time 4.2% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product26623245 , G = #/bsbm.org time 0.19% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.13% fanout 1 input 1 rows outer { wait time 3.6% of exec real time, fanout 0 QF { time 2.9% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product26623245 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (t18.O, ordering.G) shadow: (t18.O, ordering.G) time 0.28% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.17% fanout 1 input 1 rows outer { wait time 3.4% of exec real time, fanout 1 QF { time 3.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product26623245 G = #/bsbm.org time 0.39% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.16% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0.23% fanout 1 input 1 rows end of outer} set_ctr out: (t16.O, ordering.G) shadow: (t16.O, ordering.G) time 0.084% fanout 1 input 1 rows outer { wait time 3.1% of exec real time, fanout 0 QF { time 2.3% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product26623245 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t14.O) shadow: (ordering.G, t14.O) wait time 3.9% of exec real time, fanout 1 QF { time 3.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product26623245 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product26623245 G = #/bsbm.org time 1.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product26623245 G = #/bsbm.org time 1.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product26623245 G = #/bsbm.org time 2.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product26623245 G = #/bsbm.org time 0.41% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 2.3% of exec real time, fanout 1 QF { time 3.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.21% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 3.4% of exec real time, fanout 18 QF { time 3.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product26623245 G = #/bsbm.org time 2.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product26623245 G = #/bsbm.org time 3% fanout 18 input 1 rows RDF_QUAD 18 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product26623245 G = #/bsbm.org time 0.51% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 1.7% of exec real time, fanout 1 QF { time 18% fanout 1 input 18 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.3% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 39% fanout 0 input 18 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX rdf: SELECT ?product ?label WHERE { ?product rdfs:label ?label . ?product a . ?product bsbm:productFeature . ?product bsbm:productPropertyNumeric1 ?p1 . FILTER ( ?p1 > 61 ) ?product bsbm:productPropertyNumeric3 ?p3 . FILTER (?p3 < 338 ) OPTIONAL { ?product bsbm:productFeature . ?product rdfs:label ?testVar } FILTER (!bound(?testVar)) } ORDER BY ?label LIMIT 10 } ; { time 0.0012% fanout 1 input 1 rows Subquery 27 { time 0.073% fanout 1 input 1 rows { fork wait time 12% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.08% fanout 2300 input 1 rows RDF_QUAD_POGS 2.3e+03 rows(t4.S) P = ##type , O = #/ProductType14544 G = #/bsbm.org time 4.4% fanout 0.514783 input 2300 rows Stage 2 time 46% fanout 0.253913 input 2300 rows RDF_QUAD unq 0.0029 rows (t5.S) inlined P = #/productFeature , S = q_t4.S , O = #/ProductFeature662 , G = #/bsbm.org time 9.8% fanout 0.277397 input 584 rows RDF_QUAD 0.36 rows(t7.S) P = #/productPropertyNumeric3 , S = k_q_t4.S , O < 338 O < 338 , G = #/bsbm.org time 3.2% fanout 1 input 162 rows RDF_QUAD 1 rows(t3.S, t3.O) inlined P = ##label , S = k_q_t4.S G = #/bsbm.org time 31% fanout 0.944444 input 162 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t3.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 RDF_QUAD 1.1 rows() P = #/productPropertyNumeric1 , S = t3.S , O > 61 O > 61 , G = #/bsbm.org time 0.66% fanout 1 input 153 rows outer { Subquery 74 { wait time 0% of exec real time, fanout 0.196078 QF { time 2.9% fanout 0.196078 input 153 rows RDF_QUAD unq 0.022 rows (t9.S) inlined P = #/productFeature , S = q_t3.S , O = #/ProductFeature44 , G = #/bsbm.org time 0.59% fanout 1 input 30 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = ##label , S = t9.S G = #/bsbm.org time 0.079% fanout 0 input 30 rows qf select node output: (qf_set_no, ordering.G, t10.O, t9.S) } time 0.032% fanout 0 input 30 rows Precode: 0: product := := artm t9.S 4: testVar := := artm t10.O 8: BReturn 0 Subquery Select(product, testVar) } time 0.04% fanout 5.1 input 30 rows end of outer} set_ctr out: (product, testVar, set_no) shadow: (product, testVar, ) time 0.11% fanout 0.803922 input 153 rows END Node After test: 0: if (testVar IS NULL 0 ) then 4 else 5 unkn 5 4: BReturn 1 5: BReturn 0 time 0.39% fanout 0 input 123 rows Sort (__ro2sq) -> (t3.S) time 0.00084% fanout 0 input 0 rows ssa iterator time 0.028% fanout 10 input 4 rows top order by read (t3.S, __ro2sq) time 0.015% fanout 0 input 40 rows qf select node output: (__ro2sq, t3.S, set_no) } } time 0.72% fanout 10 input 1 rows cl fref read output: (__ro2sq, t3.S, set_no) order: 2 0 After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe t3.S -> __ID2In -> __id2in } 2: label := := artm __ro2sq 6: product := := artm __id2in 10: BReturn 0 time 0.0006% fanout 0 input 10 rows Subquery Select(product, label) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe label -> __RO2SQ -> label product -> __RO2SQ -> product } 2: BReturn 0 time 0.00088% fanout 0 input 10 rows Select (product, label) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.12% fanout 1 input 1 rows wait time 3.7% of exec real time, fanout 1 QF { time 2.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product12424836 G = #/bsbm.org time 0.18% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 2.8% of exec real time, fanout 1 QF { time 3.8% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product12424836 , G = #/bsbm.org time 0.18% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.13% fanout 1 input 1 rows outer { wait time 3.6% of exec real time, fanout 1 QF { time 3.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product12424836 G = #/bsbm.org time 0.3% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.15% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0.19% fanout 1 input 1 rows end of outer} set_ctr out: (t18.O, ordering.G) shadow: (t18.O, ordering.G) time 0.35% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.1% fanout 1 input 1 rows outer { wait time 4.1% of exec real time, fanout 1 QF { time 3.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product12424836 G = #/bsbm.org time 0.19% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.15% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0.17% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t16.O) shadow: (ordering.G, t16.O) time 0.12% fanout 1 input 1 rows outer { wait time 2.9% of exec real time, fanout 1 QF { time 3.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product12424836 G = #/bsbm.org time 0.18% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.16% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0.13% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t14.O) shadow: (ordering.G, t14.O) wait time 4.2% of exec real time, fanout 1 QF { time 3.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product12424836 G = #/bsbm.org time 1.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product12424836 G = #/bsbm.org time 1.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product12424836 G = #/bsbm.org time 1.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product12424836 G = #/bsbm.org time 2.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product12424836 G = #/bsbm.org time 0.38% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 2.4% of exec real time, fanout 1 QF { time 3.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.2% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 3.4% of exec real time, fanout 18 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product12424836 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product12424836 G = #/bsbm.org time 1.4% fanout 18 input 1 rows RDF_QUAD 18 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product12424836 G = #/bsbm.org time 0.45% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 2.3% of exec real time, fanout 1 QF { time 20% fanout 1 input 18 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 0.85% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 39% fanout 0 input 18 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.12% fanout 1 input 1 rows wait time 0% of exec real time, fanout 1 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product15971965 G = #/bsbm.org time 0.23% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 10% of exec real time, fanout 1 QF { time 3.9% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product15971965 , G = #/bsbm.org time 0.26% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.15% fanout 1 input 1 rows outer { wait time 0% of exec real time, fanout 0 QF { time 2.6% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product15971965 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (t18.O, ordering.G) shadow: (t18.O, ordering.G) time 0.34% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.092% fanout 1 input 1 rows outer { wait time 0% of exec real time, fanout 0 QF { time 1.7% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product15971965 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t16.O) shadow: (ordering.G, t16.O) time 0.087% fanout 1 input 1 rows outer { wait time 0% of exec real time, fanout 0 QF { time 1.4% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product15971965 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t14.O) shadow: (ordering.G, t14.O) wait time 0% of exec real time, fanout 1 QF { time 2.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product15971965 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product15971965 G = #/bsbm.org time 1.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product15971965 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product15971965 G = #/bsbm.org time 1.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product15971965 G = #/bsbm.org time 0.56% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 9.5% of exec real time, fanout 1 QF { time 3.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.26% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 0% of exec real time, fanout 22 QF { time 3.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product15971965 G = #/bsbm.org time 1.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product15971965 G = #/bsbm.org time 2% fanout 22 input 1 rows RDF_QUAD 22 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product15971965 G = #/bsbm.org time 0.58% fanout 0 input 22 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 5.7% of exec real time, fanout 1 QF { time 22% fanout 1 input 22 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.3% fanout 0 input 22 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 43% fanout 0 input 22 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX rdf: SELECT DISTINCT ?product ?label ?propertyTextual WHERE { { ?product rdfs:label ?label . ?product rdf:type . ?product bsbm:productFeature . ?product bsbm:productFeature . ?product bsbm:productPropertyTextual1 ?propertyTextual . ?product bsbm:productPropertyNumeric1 ?p1 . FILTER ( ?p1 > 294 ) } UNION { ?product rdfs:label ?label . ?product rdf:type . ?product bsbm:productFeature . ?product bsbm:productFeature . ?product bsbm:productPropertyTextual1 ?propertyTextual . ?product bsbm:productPropertyNumeric2 ?p2 . FILTER ( ?p2> 293 ) } } ORDER BY ?label OFFSET 5 LIMIT 10 } ; { time 0.0059% fanout 1 input 1 rows Subquery 27 { time 0.0043% fanout 1 input 1 rows { fork Subquery 32 { Union { wait time 0.41% of exec real time, fanout 79 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.12% fanout 1611 input 1 rows RDF_QUAD_POGS 1.6e+03 rows(s_16_6_t1-u16.S) P = ##type , O = #/ProductType16751 G = #/bsbm.org time 0.87% fanout 0.242086 input 1611 rows Stage 2 time 36% fanout 0.253731 input 1206 rows RDF_QUAD unq 0.00026 rows (s_16_6_t3-u16.S) inlined P = #/productFeature , S = q_s_16_6_t1-u16.S , O = #/ProductFeature9552 , G = #/bsbm.org time 7.4% fanout 0.261438 input 306 rows RDF_QUAD unq 0.0021 rows (s_16_6_t2-u16.S) inlined P = #/productFeature , S = k_q_s_16_6_t1-u16.S , O = #/ProductFeature858 , G = #/bsbm.org time 3.2% fanout 0.825 input 80 rows RDF_QUAD 0.9 rows(s_16_6_t5-u16.S) P = #/productPropertyNumeric1 , S = k_q_s_16_6_t1-u16.S , O > 294 O > 294 , G = #/bsbm.org time 2.3% fanout 1 input 66 rows RDF_QUAD 1 rows(s_16_6_t0-u16.S, s_16_6_t0-u16.O) inlined P = ##label , S = k_q_s_16_6_t1-u16.S G = #/bsbm.org time 2.4% fanout 1 input 66 rows RDF_QUAD 1 rows(s_16_6_t4-u16.O) inlined P = #/productPropertyTextual1 , S = s_16_6_t0-u16.S G = #/bsbm.org After code: 0: product := := artm s_16_6_t0-u16.S 4: label := := artm s_16_6_t0-u16.O 8: propertyTextual := := artm s_16_6_t4-u16.O 12: BReturn 0 time 0.16% fanout 0 input 66 rows qf select node output: (qf_set_no, propertyTextual, label, product) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe product -> __ID2In -> __id2in } 2: BReturn 0 time 0.11% fanout 1 input 79 rows Distinct (__id2in, label, propertyTextual) time 2.8% fanout 0 input 79 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe label -> __RO2SQ -> __ro2sq propertyTextual -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (__id2in, __ro2sq) } { wait time 0.26% of exec real time, fanout 69 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.095% fanout 1611 input 1 rows RDF_QUAD_POGS 1.6e+03 rows(s_25_13_t7.S) P = ##type , O = #/ProductType16751 G = #/bsbm.org time 0.78% fanout 0.242086 input 1611 rows Stage 2 time 29% fanout 0.232172 input 1206 rows RDF_QUAD unq 0.00026 rows (s_25_13_t9.S) inlined P = #/productFeature , S = q_s_25_13_t7.S , O = #/ProductFeature9551 , G = #/bsbm.org time 6.8% fanout 0.253571 input 280 rows RDF_QUAD unq 0.0021 rows (s_25_13_t8.S) inlined P = #/productFeature , S = k_q_s_25_13_t7.S , O = #/ProductFeature858 , G = #/bsbm.org time 2.5% fanout 0.732394 input 71 rows RDF_QUAD 0.83 rows(s_25_13_t11.S) P = #/productPropertyNumeric2 , S = k_q_s_25_13_t7.S , O > 293 O > 293 , G = #/bsbm.org time 1.7% fanout 1 input 52 rows RDF_QUAD 1 rows(s_25_13_t6.S, s_25_13_t6.O) inlined P = ##label , S = k_q_s_25_13_t7.S G = #/bsbm.org time 1.7% fanout 1 input 52 rows RDF_QUAD 1 rows(s_25_13_t10.O) inlined P = #/productPropertyTextual1 , S = s_25_13_t6.S G = #/bsbm.org After code: 0: product := := artm s_25_13_t6.S 4: label := := artm s_25_13_t6.O 8: propertyTextual := := artm s_25_13_t10.O 12: BReturn 0 time 0.13% fanout 0 input 52 rows qf select node output: (qf_set_no, propertyTextual, label, product) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe product -> __ID2In -> __id2in } 2: BReturn 0 time 0.054% fanout 0.811594 input 69 rows Distinct (__id2in, label, propertyTextual) time 1.8% fanout 0 input 56 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe label -> __RO2SQ -> __ro2sq propertyTextual -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (__id2in, __ro2sq) } } } time 0.024% fanout 10 input 1 rows top order by read (__id2in, __ro2sq, __ro2sq) After code: 0: product := := artm __id2in 4: label := := artm __ro2sq 8: propertyTextual := := artm __ro2sq 12: BReturn 0 time 0.00074% fanout 0 input 10 rows Subquery Select(product, label, propertyTextual) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe propertyTextual -> __RO2SQ -> propertyTextual label -> __RO2SQ -> label product -> __RO2SQ -> product } 2: BReturn 0 time 0.0016% fanout 0 input 10 rows Select (product, label, propertyTextual) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.12% fanout 1 input 1 rows wait time 2.9% of exec real time, fanout 1 QF { time 3.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product26509929 G = #/bsbm.org time 0.19% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 3% of exec real time, fanout 1 QF { time 4.5% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product26509929 , G = #/bsbm.org time 0.18% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.12% fanout 1 input 1 rows outer { wait time 2.3% of exec real time, fanout 1 QF { time 3.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product26509929 G = #/bsbm.org time 0.19% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.15% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0.17% fanout 1 input 1 rows end of outer} set_ctr out: (t18.O, ordering.G) shadow: (t18.O, ordering.G) time 0.26% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.099% fanout 1 input 1 rows outer { wait time 2.2% of exec real time, fanout 1 QF { time 3.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product26509929 G = #/bsbm.org time 0.18% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.15% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0.12% fanout 1 input 1 rows end of outer} set_ctr out: (t16.O, ordering.G) shadow: (t16.O, ordering.G) time 0.12% fanout 1 input 1 rows outer { wait time 2.1% of exec real time, fanout 1 QF { time 2.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product26509929 G = #/bsbm.org time 0.68% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.14% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0.12% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t14.O) shadow: (ordering.G, t14.O) wait time 3.8% of exec real time, fanout 1 QF { time 3.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product26509929 G = #/bsbm.org time 1.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product26509929 G = #/bsbm.org time 1.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product26509929 G = #/bsbm.org time 2.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product26509929 G = #/bsbm.org time 1.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product26509929 G = #/bsbm.org time 0.38% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 2.2% of exec real time, fanout 1 QF { time 3.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.19% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 3.1% of exec real time, fanout 17 QF { time 3.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product26509929 G = #/bsbm.org time 1.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product26509929 G = #/bsbm.org time 1.6% fanout 17 input 1 rows RDF_QUAD 17 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product26509929 G = #/bsbm.org time 0.42% fanout 0 input 17 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 3.6% of exec real time, fanout 1 QF { time 18% fanout 1 input 17 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.3% fanout 0 input 17 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 39% fanout 0 input 17 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.11% fanout 1 input 1 rows wait time 3.2% of exec real time, fanout 1 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product25400212 G = #/bsbm.org time 0.21% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 0% of exec real time, fanout 1 QF { time 3.4% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product25400212 , G = #/bsbm.org time 0.19% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.12% fanout 1 input 1 rows outer { wait time 3% of exec real time, fanout 1 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product25400212 G = #/bsbm.org time 0.2% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.16% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0.15% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t18.O) shadow: (ordering.G, t18.O) time 0.24% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.11% fanout 1 input 1 rows outer { wait time 3.1% of exec real time, fanout 1 QF { time 2.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product25400212 G = #/bsbm.org time 0.2% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.16% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0.13% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t16.O) shadow: (ordering.G, t16.O) time 0.15% fanout 1 input 1 rows outer { wait time 3.1% of exec real time, fanout 1 QF { time 3.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product25400212 G = #/bsbm.org time 0.19% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.15% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0.12% fanout 1 input 1 rows end of outer} set_ctr out: (t14.O, ordering.G) shadow: (t14.O, ordering.G) wait time 4.9% of exec real time, fanout 1 QF { time 2.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product25400212 G = #/bsbm.org time 1.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product25400212 G = #/bsbm.org time 1.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product25400212 G = #/bsbm.org time 1.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product25400212 G = #/bsbm.org time 1.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product25400212 G = #/bsbm.org time 0.38% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 0% of exec real time, fanout 1 QF { time 3.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.23% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 4.4% of exec real time, fanout 18 QF { time 2.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product25400212 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product25400212 G = #/bsbm.org time 1.7% fanout 18 input 1 rows RDF_QUAD 18 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product25400212 G = #/bsbm.org time 0.49% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 2.7% of exec real time, fanout 1 QF { time 16% fanout 1 input 18 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.3% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 45% fanout 0 input 18 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rdf: PREFIX bsbm: SELECT DISTINCT ?product ?productLabel WHERE { ?product rdfs:label ?productLabel . FILTER ( != ?product) bsbm:productFeature ?prodFeature . ?product bsbm:productFeature ?prodFeature . bsbm:productPropertyNumeric1 ?origProperty1 . ?product bsbm:productPropertyNumeric1 ?simProperty1 . FILTER (?simProperty1 < (?origProperty1 + 120) && ?simProperty1 > (?origProperty1 - 120)) bsbm:productPropertyNumeric2 ?origProperty2 . ?product bsbm:productPropertyNumeric2 ?simProperty2 . FILTER (?simProperty2 < (?origProperty2 + 170) && ?simProperty2 > (?origProperty2 - 170)) } ORDER BY ?productLabel LIMIT 5 } ; { time 5.1e-05% fanout 1 input 1 rows Subquery 27 { time 0.0001% fanout 1 input 1 rows { fork wait time 0.27% of exec real time, fanout 30454 QF { time 0.00042% fanout 0 input 0 rows Stage 1 time 0.0013% fanout 1 input 1 rows RDF_QUAD 0.97 rows(s_21_7_t5.O) inlined P = #/productPropertyNumeric2 , S = #/Product3814331 G = #/bsbm.org time 0.00012% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 13 else 4 unkn 13 4: if ( 0 = 1 ) then 13 else 8 unkn 13 8: if ( 0 = 1 ) then 13 else 12 unkn 13 12: BReturn 1 13: BReturn 0 time 0.0014% fanout 1 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t5.O -> __RO2SQ -> __ro2sq } 2: temp := artm __ro2sq + 170 6: temp := artm __ro2sq - 170 10: BReturn 0 RDF_QUAD 1 rows(s_21_7_t3.O) inlined P = #/productPropertyNumeric1 , S = #/Product3814331 G = #/bsbm.org time 0.0014% fanout 17 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t3.O -> __RO2SQ -> __ro2sq } 2: temp := artm __ro2sq + 120 6: temp := artm __ro2sq - 120 10: BReturn 0 RDF_QUAD 17 rows(s_21_7_t1.O) inlined P = #/productFeature , S = #/Product3814331 G = #/bsbm.org time 0.005% fanout 0.235294 input 17 rows Stage 2 time 0.87% fanout 63285.4 input 17 rows RDF_QUAD_POGS 8.2e+02 rows(s_21_7_t2.S) P = #/productFeature , O = q_s_21_7_t1.O G = #/bsbm.org time 8.3% fanout 0.384263 input 1.07585e+06 rows Stage 3 time 66% fanout 0.129487 input 1.07585e+06 rows RDF_QUAD 0.31 rows(s_21_7_t4.S) inlined P = #/productPropertyNumeric1 , S = q_s_21_7_t2.S , O > q_q_temp < q_q_temp O > q_q_temp < q_q_temp , G = #/bsbm.org time 13% fanout 0.21873 input 139309 rows RDF_QUAD 0.25 rows(s_21_7_t6.S) inlined P = #/productPropertyNumeric2 , S = k_q_s_21_7_t2.S , O > k_q_q_temp < k_q_q_temp O > k_q_q_temp < k_q_q_temp , G = #/bsbm.org time 4.1% fanout 1 input 30471 rows RDF_QUAD 1 rows(s_21_7_t0.S, s_21_7_t0.O) inlined P = ##label , S = k_q_s_21_7_t2.S G = #/bsbm.org time 4.9% fanout 0.999442 input 30471 rows END Node After test: 0: if (s_21_7_t0.S = #/Product3814331 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t0.S -> __ID2In -> __id2in } 2: BReturn 0 time 0.12% fanout 0 input 30454 rows qf select node output: (qf_set_no, __id2in, s_21_7_t0.S, s_21_7_t0.O) } time 0.5% fanout 0.872102 input 30454 rows Distinct (__id2in, s_21_7_t0.O) time 1.5% fanout 0 input 26559 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t0.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_21_7_t0.S, __id2in) } time 0.00041% fanout 5 input 1 rows top order by read (s_21_7_t0.S, __ro2sq, __id2in) After code: 0: product := := artm __id2in 4: productLabel := := artm __ro2sq 8: BReturn 0 time 2.6e-05% fanout 0 input 5 rows Subquery Select(product, productLabel) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe productLabel -> __RO2SQ -> productLabel product -> __RO2SQ -> product } 2: BReturn 0 time 4.4e-05% fanout 0 input 5 rows Select (product, productLabel) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX dc: SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } OPTIONAL { ?review bsbm:reviewFor . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } } ; { time 0.041% fanout 1 input 1 rows wait time 0% of exec real time, fanout 9 QF { time 1.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_31_21_t18.O) inlined P = ##label , S = #/Product21314522 G = #/bsbm.org time 0.064% fanout 1 input 1 rows outer { Subquery 35 { wait time 0% of exec real time, fanout 17 QF { time 1.3% fanout 17 input 1 rows RDF_QUAD_POGS 17 rows(ordering.G, s_21_8_t0.S) P = #/product , O = #/Product21314522 G = #/bsbm.org time 0.12% fanout 1 input 17 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.12% fanout 0 input 17 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t0.S) } wait time 0% of exec real time, fanout 0.588235 QF { time 18% fanout 0.588235 input 17 rows RDF_QUAD 0.59 rows(ordering.G, ordering.O, s_21_8_t6.S) P = #/validTo , S = q_s_21_8_t0.S , O > O > , G = #/bsbm.org time 7.1% fanout 1 input 10 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t2.S, s_21_8_t2.O) inlined P = #/vendor , S = k_q_s_21_8_t0.S G = #/bsbm.org time 8.4% fanout 1 input 10 rows RDF_QUAD unq 5.8e-07 rows (s_21_8_t5.S, s_21_8_t5.O) inlined P = #/publisher , S = k_q_s_21_8_t0.S , O = cast , G = #/bsbm.org time 0.64% fanout 0 input 10 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t2.O, ordering.G, ordering.O) } wait time 0% of exec real time, fanout 0.1 QF { time 2.1% fanout 0.1 input 10 rows RDF_QUAD_POGS unq 0.05 rows (s_21_8_t4.S) P = #/country , O = ##DE , S = q_s_21_8_t2.O , G = #/bsbm.org time 0.092% fanout 0 input 1 rows qf select node output: (qf_set_no) } wait time 0% of exec real time, fanout 1 QF { time 1.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t1.O) inlined P = #/price , S = q_s_21_8_t0.S G = #/bsbm.org time 0.12% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t1.O) } wait time 0% of exec real time, fanout 1 QF { time 1.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t3.O) inlined P = ##label , S = q_s_21_8_t2.O G = #/bsbm.org time 0.11% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t3.O) } time 0.13% fanout 0 input 1 rows Precode: 0: offer := := artm s_21_8_t0.S 4: price := := artm s_21_8_t1.O 8: vendor := := artm s_21_8_t2.O 12: vendorTitle := := artm s_21_8_t3.O 16: BReturn 0 Subquery Select(offer, price, vendor, vendorTitle) } time 0.095% fanout 1 input 1 rows end of outer} set_ctr out: (offer, vendorTitle, price, vendor, set_no) shadow: (offer, vendorTitle, price, vendor, ) time 0.065% fanout 1 input 1 rows outer { Subquery 155 { wait time 0% of exec real time, fanout 9 QF { time 1.4% fanout 9 input 1 rows RDF_QUAD_POGS 8.9 rows(ordering.G, t19.S) P = #/reviewFor , O = #/Product21314522 G = #/bsbm.org time 0.072% fanout 1 input 9 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.11% fanout 0 input 9 rows qf select node output: (qf_set_no, ordering.G, t19.S) } wait time 0% of exec real time, fanout 1 QF { time 7.9% fanout 1 input 9 rows RDF_QUAD 1 rows(ordering.G, t20.S, t20.O) inlined P = ##reviewer , S = q_t19.S G = #/bsbm.org time 5% fanout 1 input 9 rows RDF_QUAD 1.1 rows(ordering.G, t22.S, t22.O) inlined P = #/title , S = k_t20.S G = #/bsbm.org time 1.1% fanout 1 input 9 rows outer { time 5% fanout 0.888889 input 9 rows RDF_QUAD 1.1 rows(ordering.G, t23.O) inlined P = #/rating1 , S = k_t22.S G = #/bsbm.org time 0.52% fanout 1.125 input 8 rows end of outer} set_ctr out: (ordering.G, t23.O) shadow: (ordering.G, t23.O) time 0.97% fanout 1 input 9 rows outer { time 4.8% fanout 0.777778 input 9 rows RDF_QUAD 1.1 rows(ordering.G, t25.O) inlined P = #/rating2 , S = k_t22.S G = #/bsbm.org time 0.41% fanout 1.14286 input 7 rows end of outer} set_ctr out: (ordering.G, t25.O) shadow: (ordering.G, t25.O) time 1.2% fanout 0 input 9 rows qf select node output: (qf_set_no, ordering.G, t25.O, ordering.G, t23.O, ordering.G, t22.S, t22.O, ordering.G, t20.O) } wait time 0% of exec real time, fanout 1 QF { time 8.2% fanout 1 input 9 rows RDF_QUAD 1.2 rows(ordering.G, t21.O, t21.S) inlined P = #/name , S = q_t20.O G = #/bsbm.org time 0.37% fanout 0 input 9 rows qf select node output: (qf_set_no, ordering.G, t21.O, t21.S) } time 0.15% fanout 0 input 9 rows Precode: 0: review := := artm t22.S 4: revName := := artm t21.O 8: reviewer := := artm t21.S 12: revTitle := := artm t22.O 16: rating1 := := artm t23.O 20: rating2 := := artm t25.O 24: BReturn 0 Subquery Select(review, revName, reviewer, revTitle, rating1, rating2) } time 0.12% fanout 1 input 9 rows end of outer} set_ctr out: (revTitle, rating1, review, rating2, revName, set_no, reviewer) shadow: (revTitle, rating1, review, rating2, revName, , reviewer) time 0.32% fanout 0 input 9 rows qf select node output: (qf_set_no, rating2, rating1, revTitle, reviewer, revName, review, vendorTitle, vendor, price, offer, ordering.G, s_31_21_t18.O) } time 19% fanout 0 input 9 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 revName -> __RO2SQ -> revName reviewer -> __ID2In -> reviewer revTitle -> __RO2SQ -> revTitle review -> __ID2In -> review vendorTitle -> __RO2SQ -> vendorTitle vendor -> __ID2In -> vendor price -> __RO2SQ -> price offer -> __ID2In -> offer s_31_21_t18.O -> __RO2SQ -> productLabel } 2: BReturn 0 Select (productLabel, offer, price, vendor, vendorTitle, review, revTitle, reviewer, revName, rating1, rating2) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX dc: SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } OPTIONAL { ?review bsbm:reviewFor . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } } ; { time 0.032% fanout 1 input 1 rows wait time 2.4e+02% of exec real time, fanout 8 QF { time 1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_31_21_t18.O) inlined P = ##label , S = #/Product21529170 G = #/bsbm.org time 33% fanout 1 input 1 rows outer { Subquery 35 { wait time 0% of exec real time, fanout 13 QF { time 1.3% fanout 13 input 1 rows RDF_QUAD_POGS 13 rows(ordering.G, s_21_8_t0.S) P = #/product , O = #/Product21529170 G = #/bsbm.org time 0.087% fanout 1 input 13 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.11% fanout 0 input 13 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t0.S) } wait time 0% of exec real time, fanout 0.461538 QF { time 11% fanout 0.461538 input 13 rows RDF_QUAD 0.59 rows(ordering.G, ordering.O, s_21_8_t6.S) P = #/validTo , S = q_s_21_8_t0.S , O > O > , G = #/bsbm.org time 3.7% fanout 1 input 6 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t2.S, s_21_8_t2.O) inlined P = #/vendor , S = k_q_s_21_8_t0.S G = #/bsbm.org time 4.1% fanout 1 input 6 rows RDF_QUAD unq 5.8e-07 rows (s_21_8_t5.S, s_21_8_t5.O) inlined P = #/publisher , S = k_q_s_21_8_t0.S , O = cast , G = #/bsbm.org time 0.45% fanout 0 input 6 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t2.O, ordering.G, ordering.O) } wait time 0% of exec real time, fanout 0 QF { time 2% fanout 0 input 6 rows RDF_QUAD_POGS unq 0.05 rows (s_21_8_t4.S) P = #/country , O = ##DE , S = q_s_21_8_t2.O , G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no) } wait time 0% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t1.O) inlined P = #/price , S = q_s_21_8_t0.S G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t1.O) } wait time 0% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t3.O) inlined P = ##label , S = q_s_21_8_t2.O G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t3.O) } time 0% fanout 0 input 0 rows Precode: 0: offer := := artm s_21_8_t0.S 4: price := := artm s_21_8_t1.O 8: vendor := := artm s_21_8_t2.O 12: vendorTitle := := artm s_21_8_t3.O 16: BReturn 0 Subquery Select(offer, price, vendor, vendorTitle) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (offer, vendor, vendorTitle, set_no, price) shadow: (offer, vendor, vendorTitle, , price) time 0.085% fanout 1 input 1 rows outer { Subquery 155 { wait time 0% of exec real time, fanout 8 QF { time 1.2% fanout 8 input 1 rows RDF_QUAD_POGS 7.9 rows(ordering.G, t19.S) P = #/reviewFor , O = #/Product21529170 G = #/bsbm.org time 0.064% fanout 1 input 8 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.1% fanout 0 input 8 rows qf select node output: (qf_set_no, ordering.G, t19.S) } wait time 0% of exec real time, fanout 1 QF { time 5.9% fanout 1 input 8 rows RDF_QUAD 1 rows(ordering.G, t20.S, t20.O) inlined P = ##reviewer , S = q_t19.S G = #/bsbm.org time 4.1% fanout 1 input 8 rows RDF_QUAD 1.1 rows(ordering.G, t22.S, t22.O) inlined P = #/title , S = k_t20.S G = #/bsbm.org time 1.4% fanout 1 input 8 rows outer { time 3.4% fanout 0.75 input 8 rows RDF_QUAD 1.1 rows(ordering.G, t23.O) inlined P = #/rating1 , S = k_t22.S G = #/bsbm.org time 0.32% fanout 1.16667 input 6 rows end of outer} set_ctr out: (ordering.G, t23.O) shadow: (ordering.G, t23.O) time 0.68% fanout 1 input 8 rows outer { time 3.4% fanout 0.75 input 8 rows RDF_QUAD 1.1 rows(ordering.G, t25.O) inlined P = #/rating2 , S = k_t22.S G = #/bsbm.org time 0.25% fanout 1.16667 input 6 rows end of outer} set_ctr out: (t25.O, ordering.G) shadow: (t25.O, ordering.G) time 1.1% fanout 0 input 8 rows qf select node output: (qf_set_no, ordering.G, t25.O, ordering.G, t23.O, ordering.G, t22.S, t22.O, ordering.G, t20.O) } wait time 0% of exec real time, fanout 1 QF { time 6.1% fanout 1 input 8 rows RDF_QUAD 1.2 rows(ordering.G, t21.O, t21.S) inlined P = #/name , S = q_t20.O G = #/bsbm.org time 0.41% fanout 0 input 8 rows qf select node output: (qf_set_no, ordering.G, t21.O, t21.S) } time 0.15% fanout 0 input 8 rows Precode: 0: review := := artm t22.S 4: revName := := artm t21.O 8: reviewer := := artm t21.S 12: revTitle := := artm t22.O 16: rating1 := := artm t23.O 20: rating2 := := artm t25.O 24: BReturn 0 Subquery Select(review, revName, reviewer, revTitle, rating1, rating2) } time 0.13% fanout 1 input 8 rows end of outer} set_ctr out: (rating2, reviewer, set_no, review, rating1, revTitle, revName) shadow: (rating2, reviewer, , review, rating1, revTitle, revName) time 0.24% fanout 0 input 8 rows qf select node output: (qf_set_no, rating2, rating1, revTitle, reviewer, revName, review, vendorTitle, vendor, price, offer, ordering.G, s_31_21_t18.O) } time 14% fanout 0 input 8 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 revName -> __RO2SQ -> revName reviewer -> __ID2In -> reviewer revTitle -> __RO2SQ -> revTitle review -> __ID2In -> review vendorTitle -> __RO2SQ -> vendorTitle vendor -> __ID2In -> vendor price -> __RO2SQ -> price offer -> __ID2In -> offer s_31_21_t18.O -> __RO2SQ -> productLabel } 2: BReturn 0 Select (productLabel, offer, price, vendor, vendorTitle, review, revTitle, reviewer, revName, rating1, rating2) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rdf: PREFIX bsbm: SELECT DISTINCT ?product ?productLabel WHERE { ?product rdfs:label ?productLabel . FILTER ( != ?product) bsbm:productFeature ?prodFeature . ?product bsbm:productFeature ?prodFeature . bsbm:productPropertyNumeric1 ?origProperty1 . ?product bsbm:productPropertyNumeric1 ?simProperty1 . FILTER (?simProperty1 < (?origProperty1 + 120) && ?simProperty1 > (?origProperty1 - 120)) bsbm:productPropertyNumeric2 ?origProperty2 . ?product bsbm:productPropertyNumeric2 ?simProperty2 . FILTER (?simProperty2 < (?origProperty2 + 170) && ?simProperty2 > (?origProperty2 - 170)) } ORDER BY ?productLabel LIMIT 5 } ; { time 2e-05% fanout 1 input 1 rows Subquery 27 { time 3.7e-05% fanout 1 input 1 rows { fork wait time 0.34% of exec real time, fanout 38578 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.0006% fanout 1 input 1 rows RDF_QUAD 0.97 rows(s_21_7_t5.O) inlined P = #/productPropertyNumeric2 , S = #/Product27925980 G = #/bsbm.org time 5.7e-05% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 13 else 4 unkn 13 4: if ( 0 = 1 ) then 13 else 8 unkn 13 8: if ( 0 = 1 ) then 13 else 12 unkn 13 12: BReturn 1 13: BReturn 0 time 0.00088% fanout 1 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t5.O -> __RO2SQ -> __ro2sq } 2: temp := artm __ro2sq + 170 6: temp := artm __ro2sq - 170 10: BReturn 0 RDF_QUAD 1 rows(s_21_7_t3.O) inlined P = #/productPropertyNumeric1 , S = #/Product27925980 G = #/bsbm.org time 0.00075% fanout 24 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t3.O -> __RO2SQ -> __ro2sq } 2: temp := artm __ro2sq + 120 6: temp := artm __ro2sq - 120 10: BReturn 0 RDF_QUAD 24 rows(s_21_7_t1.O) inlined P = #/productFeature , S = #/Product27925980 G = #/bsbm.org time 0.0039% fanout 0.541667 input 24 rows Stage 2 time 1% fanout 114220 input 24 rows RDF_QUAD_POGS 8.2e+02 rows(s_21_7_t2.S) P = #/productFeature , O = q_s_21_7_t1.O G = #/bsbm.org time 9.3% fanout 0.346976 input 2.74128e+06 rows Stage 3 time 72% fanout 0.100862 input 2.74128e+06 rows RDF_QUAD 0.31 rows(s_21_7_t4.S) inlined P = #/productPropertyNumeric1 , S = q_s_21_7_t2.S , O > q_q_temp < q_q_temp O > q_q_temp < q_q_temp , G = #/bsbm.org time 11% fanout 0.139613 input 276492 rows RDF_QUAD 0.25 rows(s_21_7_t6.S) inlined P = #/productPropertyNumeric2 , S = k_q_s_21_7_t2.S , O > k_q_q_temp < k_q_q_temp O > k_q_q_temp < k_q_q_temp , G = #/bsbm.org time 2.8% fanout 1 input 38602 rows RDF_QUAD 1 rows(s_21_7_t0.S, s_21_7_t0.O) inlined P = ##label , S = k_q_s_21_7_t2.S G = #/bsbm.org time 2.4% fanout 0.999378 input 38602 rows END Node After test: 0: if (s_21_7_t0.S = #/Product27925980 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t0.S -> __ID2In -> __id2in } 2: BReturn 0 time 0.091% fanout 0 input 38578 rows qf select node output: (qf_set_no, __id2in, s_21_7_t0.S, s_21_7_t0.O) } time 0.28% fanout 0.677588 input 38578 rows Distinct (__id2in, s_21_7_t0.O) time 0.69% fanout 0 input 26140 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t0.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_21_7_t0.S, __id2in) } time 0.00019% fanout 5 input 1 rows top order by read (s_21_7_t0.S, __ro2sq, __id2in) After code: 0: product := := artm __id2in 4: productLabel := := artm __ro2sq 8: BReturn 0 time 1.2e-05% fanout 0 input 5 rows Subquery Select(product, productLabel) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe productLabel -> __RO2SQ -> productLabel product -> __RO2SQ -> product } 2: BReturn 0 time 1.8e-05% fanout 0 input 5 rows Select (product, productLabel) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX dc: SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } OPTIONAL { ?review bsbm:reviewFor . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } } ; { time 0.024% fanout 1 input 1 rows wait time 15% of exec real time, fanout 9 QF { time 0.77% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_31_21_t18.O) inlined P = ##label , S = #/Product9366409 G = #/bsbm.org time 33% fanout 1 input 1 rows outer { Subquery 35 { wait time 0% of exec real time, fanout 36 QF { time 0.99% fanout 36 input 1 rows RDF_QUAD_POGS 36 rows(ordering.G, s_21_8_t0.S) P = #/product , O = #/Product9366409 G = #/bsbm.org time 0.059% fanout 1 input 36 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.067% fanout 0 input 36 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t0.S) } wait time 0% of exec real time, fanout 0.5 QF { time 16% fanout 0.5 input 36 rows RDF_QUAD 0.59 rows(ordering.G, ordering.O, s_21_8_t6.S) P = #/validTo , S = q_s_21_8_t0.S , O > O > , G = #/bsbm.org time 6.6% fanout 1 input 18 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t2.S, s_21_8_t2.O) inlined P = #/vendor , S = k_q_s_21_8_t0.S G = #/bsbm.org time 6.9% fanout 1 input 18 rows RDF_QUAD unq 5.8e-07 rows (s_21_8_t5.S, s_21_8_t5.O) inlined P = #/publisher , S = k_q_s_21_8_t0.S , O = cast , G = #/bsbm.org time 0.39% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t2.O, ordering.G, ordering.O) } wait time 0% of exec real time, fanout 0 QF { time 1.7% fanout 0 input 18 rows RDF_QUAD_POGS unq 0.05 rows (s_21_8_t4.S) P = #/country , O = ##DE , S = q_s_21_8_t2.O , G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no) } wait time 0% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t1.O) inlined P = #/price , S = q_s_21_8_t0.S G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t1.O) } wait time 0% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t3.O) inlined P = ##label , S = q_s_21_8_t2.O G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t3.O) } time 0% fanout 0 input 0 rows Precode: 0: offer := := artm s_21_8_t0.S 4: price := := artm s_21_8_t1.O 8: vendor := := artm s_21_8_t2.O 12: vendorTitle := := artm s_21_8_t3.O 16: BReturn 0 Subquery Select(offer, price, vendor, vendorTitle) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (price, set_no, offer, vendor, vendorTitle) shadow: (price, , offer, vendor, vendorTitle) time 0.045% fanout 1 input 1 rows outer { Subquery 155 { wait time 0% of exec real time, fanout 9 QF { time 0.83% fanout 9 input 1 rows RDF_QUAD_POGS 8.9 rows(ordering.G, t19.S) P = #/reviewFor , O = #/Product9366409 G = #/bsbm.org time 0.041% fanout 1 input 9 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.059% fanout 0 input 9 rows qf select node output: (qf_set_no, ordering.G, t19.S) } wait time 0% of exec real time, fanout 1 QF { time 4.5% fanout 1 input 9 rows RDF_QUAD 1 rows(ordering.G, t20.S, t20.O) inlined P = ##reviewer , S = q_t19.S G = #/bsbm.org time 2.9% fanout 1 input 9 rows RDF_QUAD 1.1 rows(ordering.G, t22.S, t22.O) inlined P = #/title , S = k_t20.S G = #/bsbm.org time 1.5% fanout 1 input 9 rows outer { time 2.5% fanout 0.666667 input 9 rows RDF_QUAD 1.1 rows(ordering.G, t23.O) inlined P = #/rating1 , S = k_t22.S G = #/bsbm.org time 0.21% fanout 1 input 6 rows end of outer} set_ctr out: (t23.O, ordering.G) shadow: (t23.O, ordering.G) time 0.35% fanout 1 input 9 rows outer { time 2.7% fanout 0.777778 input 9 rows RDF_QUAD 1.1 rows(ordering.G, t25.O) inlined P = #/rating2 , S = k_t22.S G = #/bsbm.org time 0.15% fanout 1 input 7 rows end of outer} set_ctr out: (ordering.G, t25.O) shadow: (ordering.G, t25.O) time 0.56% fanout 0 input 9 rows qf select node output: (qf_set_no, ordering.G, t25.O, ordering.G, t23.O, ordering.G, t22.S, t22.O, ordering.G, t20.O) } wait time 0% of exec real time, fanout 1 QF { time 4.7% fanout 1 input 9 rows RDF_QUAD 1.2 rows(ordering.G, t21.O, t21.S) inlined P = #/name , S = q_t20.O G = #/bsbm.org time 0.33% fanout 0 input 9 rows qf select node output: (qf_set_no, ordering.G, t21.O, t21.S) } time 0.088% fanout 0 input 9 rows Precode: 0: review := := artm t22.S 4: revName := := artm t21.O 8: reviewer := := artm t21.S 12: revTitle := := artm t22.O 16: rating1 := := artm t23.O 20: rating2 := := artm t25.O 24: BReturn 0 Subquery Select(review, revName, reviewer, revTitle, rating1, rating2) } time 0.09% fanout 1 input 9 rows end of outer} set_ctr out: (rating2, review, revTitle, rating1, reviewer, revName, set_no) shadow: (rating2, review, revTitle, rating1, reviewer, revName, ) time 0.14% fanout 0 input 9 rows qf select node output: (qf_set_no, rating2, rating1, revTitle, reviewer, revName, review, vendorTitle, vendor, price, offer, ordering.G, s_31_21_t18.O) } time 11% fanout 0 input 9 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 revName -> __RO2SQ -> revName reviewer -> __ID2In -> reviewer revTitle -> __RO2SQ -> revTitle review -> __ID2In -> review vendorTitle -> __RO2SQ -> vendorTitle vendor -> __ID2In -> vendor price -> __RO2SQ -> price offer -> __ID2In -> offer s_31_21_t18.O -> __RO2SQ -> productLabel } 2: BReturn 0 Select (productLabel, offer, price, vendor, vendorTitle, review, revTitle, reviewer, revName, rating1, rating2) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX dc: SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } OPTIONAL { ?review bsbm:reviewFor . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } } ; { time 0.035% fanout 1 input 1 rows wait time 0% of exec real time, fanout 18 QF { time 0.99% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_31_21_t18.O) inlined P = ##label , S = #/Product6228144 G = #/bsbm.org time 0.04% fanout 1 input 1 rows outer { Subquery 35 { wait time 0% of exec real time, fanout 26 QF { time 0.99% fanout 26 input 1 rows RDF_QUAD_POGS 26 rows(ordering.G, s_21_8_t0.S) P = #/product , O = #/Product6228144 G = #/bsbm.org time 0.093% fanout 1 input 26 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.086% fanout 0 input 26 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t0.S) } wait time 0% of exec real time, fanout 0.576923 QF { time 23% fanout 0.576923 input 26 rows RDF_QUAD 0.59 rows(ordering.G, ordering.O, s_21_8_t6.S) P = #/validTo , S = q_s_21_8_t0.S , O > O > , G = #/bsbm.org time 7.2% fanout 1 input 15 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t2.S, s_21_8_t2.O) inlined P = #/vendor , S = k_q_s_21_8_t0.S G = #/bsbm.org time 7.7% fanout 1 input 15 rows RDF_QUAD unq 5.8e-07 rows (s_21_8_t5.S, s_21_8_t5.O) inlined P = #/publisher , S = k_q_s_21_8_t0.S , O = cast , G = #/bsbm.org time 0.51% fanout 0 input 15 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t2.O, ordering.G, ordering.O) } wait time 0% of exec real time, fanout 0.133333 QF { time 2.6% fanout 0.133333 input 15 rows RDF_QUAD_POGS unq 0.05 rows (s_21_8_t4.S) P = #/country , O = ##DE , S = q_s_21_8_t2.O , G = #/bsbm.org time 0.056% fanout 0 input 2 rows qf select node output: (qf_set_no) } wait time 0% of exec real time, fanout 1 QF { time 2.3% fanout 1 input 2 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t1.O) inlined P = #/price , S = q_s_21_8_t0.S G = #/bsbm.org time 0.11% fanout 0 input 2 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t1.O) } wait time 0% of exec real time, fanout 1 QF { time 2% fanout 1 input 2 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t3.O) inlined P = ##label , S = q_s_21_8_t2.O G = #/bsbm.org time 0.13% fanout 0 input 2 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t3.O) } time 0.088% fanout 0 input 2 rows Precode: 0: offer := := artm s_21_8_t0.S 4: price := := artm s_21_8_t1.O 8: vendor := := artm s_21_8_t2.O 12: vendorTitle := := artm s_21_8_t3.O 16: BReturn 0 Subquery Select(offer, price, vendor, vendorTitle) } time 0.055% fanout 1 input 2 rows end of outer} set_ctr out: (offer, vendor, vendorTitle, set_no, price) shadow: (offer, vendor, vendorTitle, , price) time 0.043% fanout 1 input 2 rows outer { Subquery 155 { wait time 0% of exec real time, fanout 9 QF { time 1% fanout 9 input 2 rows RDF_QUAD_POGS 8.9 rows(ordering.G, t19.S) P = #/reviewFor , O = #/Product6228144 G = #/bsbm.org time 0.055% fanout 1 input 18 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.082% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t19.S) } wait time 0% of exec real time, fanout 1 QF { time 10% fanout 1 input 18 rows RDF_QUAD 1 rows(ordering.G, t20.S, t20.O) inlined P = ##reviewer , S = q_t19.S G = #/bsbm.org time 4.2% fanout 1 input 18 rows RDF_QUAD 1.1 rows(ordering.G, t22.S, t22.O) inlined P = #/title , S = k_t20.S G = #/bsbm.org time 3% fanout 1 input 18 rows outer { time 3.8% fanout 0.555556 input 18 rows RDF_QUAD 1.1 rows(ordering.G, t23.O) inlined P = #/rating1 , S = k_t22.S G = #/bsbm.org time 0.22% fanout 1.2 input 10 rows end of outer} set_ctr out: (ordering.G, t23.O) shadow: (ordering.G, t23.O) time 0.4% fanout 1 input 18 rows outer { time 4.1% fanout 0.888889 input 18 rows RDF_QUAD 1.1 rows(ordering.G, t25.O) inlined P = #/rating2 , S = k_t22.S G = #/bsbm.org time 0.35% fanout 1 input 16 rows end of outer} set_ctr out: (ordering.G, t25.O) shadow: (ordering.G, t25.O) time 1.1% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t25.O, ordering.G, t23.O, ordering.G, t22.S, t22.O, ordering.G, t20.O) } wait time 0% of exec real time, fanout 1 QF { time 6.2% fanout 1 input 18 rows RDF_QUAD 1.2 rows(ordering.G, t21.O, t21.S) inlined P = #/name , S = q_t20.O G = #/bsbm.org time 0.99% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t21.O, t21.S) } time 0.11% fanout 0 input 18 rows Precode: 0: review := := artm t22.S 4: revName := := artm t21.O 8: reviewer := := artm t21.S 12: revTitle := := artm t22.O 16: rating1 := := artm t23.O 20: rating2 := := artm t25.O 24: BReturn 0 Subquery Select(review, revName, reviewer, revTitle, rating1, rating2) } time 0.11% fanout 1 input 18 rows end of outer} set_ctr out: (rating2, review, revTitle, set_no, reviewer, revName, rating1) shadow: (rating2, review, revTitle, , reviewer, revName, rating1) time 0.3% fanout 0 input 18 rows qf select node output: (qf_set_no, rating2, rating1, revTitle, reviewer, revName, review, vendorTitle, vendor, price, offer, ordering.G, s_31_21_t18.O) } time 16% fanout 0 input 18 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 revName -> __RO2SQ -> revName reviewer -> __ID2In -> reviewer revTitle -> __RO2SQ -> revTitle review -> __ID2In -> review vendorTitle -> __RO2SQ -> vendorTitle vendor -> __ID2In -> vendor price -> __RO2SQ -> price offer -> __ID2In -> offer s_31_21_t18.O -> __RO2SQ -> productLabel } 2: BReturn 0 Select (productLabel, offer, price, vendor, vendorTitle, review, revTitle, reviewer, revName, rating1, rating2) } sparql {define input:default-graph-uri PREFIX bsbm: PREFIX dc: PREFIX rev: PREFIX foaf: SELECT ?title ?text ?reviewDate ?reviewer ?reviewerName ?rating1 ?rating2 ?rating3 ?rating4 WHERE { ?review bsbm:reviewFor . ?review dc:title ?title . ?review rev:text ?text . FILTER langMatches( lang(?text), "EN" ) ?review bsbm:reviewDate ?reviewDate . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?reviewerName . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } OPTIONAL { ?review bsbm:rating3 ?rating3 . } OPTIONAL { ?review bsbm:rating4 ?rating4 . } } ORDER BY DESC(?reviewDate) LIMIT 20 } ; { time 0.016% fanout 1 input 1 rows Subquery 27 { time 0.84% fanout 1 input 1 rows { fork wait time 42% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.58% fanout 9 input 1 rows RDF_QUAD_POGS 9 rows(t3.S) P = #/reviewFor , O = #/Product5175663 G = #/bsbm.org time 2.1% fanout 0.666667 input 9 rows Stage 2 time 3.9% fanout 1 input 9 rows RDF_QUAD 0.99 rows(t5.O, t5.S) inlined P = ##text , S = q_t3.S G = #/bsbm.org time 54% fanout 0.555556 input 9 rows END Node After test: 0: QNode { time 0% fanout 0 input 0 rows dpipe t5.O -> __RO2SQ -> __ro2sq } 2: DB.DBA.RDF_LANGUAGE_OF_OBJ := Call DB.DBA.RDF_LANGUAGE_OF_OBJ (__ro2sq) 9: DB.DBA.RDF_LANGMATCHES := Call DB.DBA.RDF_LANGMATCHES (DB.DBA.RDF_LANGUAGE_OF_OBJ, ) 16: if ( 0 = DB.DBA.RDF_LANGMATCHES) then 21 else 20 unkn 21 20: BReturn 1 21: BReturn 0 time 3% fanout 1 input 5 rows RDF_QUAD 1 rows(t6.S, t6.O) inlined P = #/reviewDate , S = k_q_t3.S G = #/bsbm.org time 2.8% fanout 1 input 5 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t6.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 RDF_QUAD 1.1 rows(t4.S, t4.O) inlined P = #/title , S = k_q_t3.S G = #/bsbm.org time 1.4% fanout 1 input 5 rows RDF_QUAD 1 rows(t7.O) inlined P = ##reviewer , S = k_q_t3.S G = #/bsbm.org time 1.7% fanout 1 input 5 rows outer { time 1.4% fanout 0.8 input 5 rows RDF_QUAD 1.1 rows(t10.O) inlined P = #/rating1 , S = k_q_t3.S G = #/bsbm.org time 0.11% fanout 1.25 input 4 rows end of outer} set_ctr out: (t10.O) shadow: (t10.O) time 1.3% fanout 1 input 5 rows outer { time 1.2% fanout 0.8 input 5 rows RDF_QUAD 1.1 rows(t12.O) inlined P = #/rating2 , S = k_q_t3.S G = #/bsbm.org time 0.085% fanout 1 input 4 rows end of outer} set_ctr out: (t12.O) shadow: (t12.O) time 2.1% fanout 1 input 5 rows outer { time 1.2% fanout 0.6 input 5 rows RDF_QUAD 1.2 rows(t16.O) inlined P = #/rating4 , S = k_q_t3.S G = #/bsbm.org time 0.054% fanout 1.33333 input 3 rows end of outer} set_ctr out: (t16.O) shadow: (t16.O) time 0.24% fanout 1 input 5 rows outer { time 1.3% fanout 1 input 5 rows RDF_QUAD 1.2 rows(t14.O) inlined P = #/rating3 , S = k_q_t3.S G = #/bsbm.org time 0.099% fanout 1 input 5 rows end of outer} set_ctr out: (t14.O) shadow: (t14.O) time 3.2% fanout 0.6 input 5 rows Stage 3 time 2% fanout 1 input 5 rows RDF_QUAD 1.2 rows(t8.O) inlined P = #/name , S = q_t7.O G = #/bsbm.org time 0.67% fanout 0 input 5 rows Sort (__ro2sq) -> (t4.O, t5.O, t7.O, t8.O, t10.O, t12.O, t14.O, t16.O) time 0.019% fanout 0 input 0 rows ssa iterator time 0.45% fanout 1.66667 input 3 rows top order by read (t4.O, t5.O, __ro2sq, q_t7.O, t8.O, t10.O, t12.O, t14.O, t16.O) time 0.19% fanout 0 input 5 rows qf select node output: (t8.O, t14.O, t16.O, t12.O, t10.O, q_t7.O, t4.O, __ro2sq, t5.O, set_no) } } time 14% fanout 5 input 1 rows cl fref read output: (t8.O, t14.O, t16.O, t12.O, t10.O, t7.O, t4.O, __ro2sq, t5.O, set_no) order: 9 7 desc After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe t16.O -> __RO2SQ -> __ro2sq t14.O -> __RO2SQ -> __ro2sq t12.O -> __RO2SQ -> __ro2sq t10.O -> __RO2SQ -> __ro2sq t8.O -> __RO2SQ -> __ro2sq t7.O -> __ID2In -> __id2in t5.O -> __RO2SQ -> __ro2sq t4.O -> __RO2SQ -> __ro2sq } 2: reviewDate := := artm __ro2sq 6: title := := artm __ro2sq 10: text := := artm __ro2sq 14: reviewer := := artm __id2in 18: reviewerName := := artm __ro2sq 22: rating1 := := artm __ro2sq 26: rating2 := := artm __ro2sq 30: rating3 := := artm __ro2sq 34: rating4 := := artm __ro2sq 38: BReturn 0 time 0.0096% fanout 0 input 5 rows Subquery Select(title, text, reviewDate, reviewer, reviewerName, rating1, rating2, rating3, rating4) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating4 -> __RO2SQ -> rating4 rating3 -> __RO2SQ -> rating3 rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 reviewerName -> __RO2SQ -> reviewerName reviewer -> __RO2SQ -> reviewer reviewDate -> __RO2SQ -> reviewDate text -> __RO2SQ -> text title -> __RO2SQ -> title } 2: BReturn 0 time 0.007% fanout 0 input 5 rows Select (title, text, reviewDate, reviewer, reviewerName, rating1, rating2, rating3, rating4) } sparql {define input:default-graph-uri PREFIX rev: DESCRIBE ?x WHERE { rev:reviewer ?x } } ; { time 0.082% fanout 1 input 1 rows time 0.21% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector () 5: $29 "vector" := Call vector ( #/bsbm.org ) 10: $31 "vector" := Call vector (, 106 ) 15: BReturn 0 { fork wait time 6.8% of exec real time, fanout 1 QF { time 2.6% fanout 1 input 1 rows RDF_QUAD 1 rows(s_6_1_t0.O) inlined P = ##reviewer , S = #/Review237763118 G = #/bsbm.org time 0.17% fanout 0 input 1 rows qf select node output: (qf_set_no, s_6_1_t0.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_6_1_t0.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo) 7: if ($47 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $47 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_INIT ($48 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_ACC ($48 "user_aggr_env", vector) 29: BReturn 0 } time 97% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: DB.DBA.SPARQL_DESC_AGG_FIN := Call DB.DBA.SPARQL_DESC_AGG_FIN ($48 "user_aggr_env") 7: callret-0 := Call DB.DBA.SPARQL_DESC_DICT (DB.DBA.SPARQL_DESC_AGG_FIN, $27 "vector", $29 "vector", , , $31 "vector") 14: BReturn 0 time 0.045% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX rev: DESCRIBE ?x WHERE { rev:reviewer ?x } } ; { time 0.094% fanout 1 input 1 rows time 0.43% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector () 5: $29 "vector" := Call vector ( #/bsbm.org ) 10: $31 "vector" := Call vector (, 106 ) 15: BReturn 0 { fork wait time 18% of exec real time, fanout 1 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(s_6_1_t0.O) inlined P = ##reviewer , S = #/Review129172970 G = #/bsbm.org time 0.23% fanout 0 input 1 rows qf select node output: (qf_set_no, s_6_1_t0.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_6_1_t0.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo) 7: if ($47 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $47 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_INIT ($48 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_ACC ($48 "user_aggr_env", vector) 29: BReturn 0 } time 96% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: DB.DBA.SPARQL_DESC_AGG_FIN := Call DB.DBA.SPARQL_DESC_AGG_FIN ($48 "user_aggr_env") 7: callret-0 := Call DB.DBA.SPARQL_DESC_DICT (DB.DBA.SPARQL_DESC_AGG_FIN, $27 "vector", $29 "vector", , , $31 "vector") 14: BReturn 0 time 0.054% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX bsbm: PREFIX dc: PREFIX rev: PREFIX foaf: SELECT ?title ?text ?reviewDate ?reviewer ?reviewerName ?rating1 ?rating2 ?rating3 ?rating4 WHERE { ?review bsbm:reviewFor . ?review dc:title ?title . ?review rev:text ?text . FILTER langMatches( lang(?text), "EN" ) ?review bsbm:reviewDate ?reviewDate . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?reviewerName . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } OPTIONAL { ?review bsbm:rating3 ?rating3 . } OPTIONAL { ?review bsbm:rating4 ?rating4 . } } ORDER BY DESC(?reviewDate) LIMIT 20 } ; { time 0.023% fanout 1 input 1 rows Subquery 27 { time 0.66% fanout 1 input 1 rows { fork wait time 53% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.54% fanout 10 input 1 rows RDF_QUAD_POGS 10 rows(t3.S) P = #/reviewFor , O = #/Product21844804 G = #/bsbm.org time 2.3% fanout 0.7 input 10 rows Stage 2 time 4.2% fanout 1 input 10 rows RDF_QUAD 0.99 rows(t5.O, t5.S) inlined P = ##text , S = q_t3.S G = #/bsbm.org time 64% fanout 0.3 input 10 rows END Node After test: 0: QNode { time 0% fanout 0 input 0 rows dpipe t5.O -> __RO2SQ -> __ro2sq } 2: DB.DBA.RDF_LANGUAGE_OF_OBJ := Call DB.DBA.RDF_LANGUAGE_OF_OBJ (__ro2sq) 9: DB.DBA.RDF_LANGMATCHES := Call DB.DBA.RDF_LANGMATCHES (DB.DBA.RDF_LANGUAGE_OF_OBJ, ) 16: if ( 0 = DB.DBA.RDF_LANGMATCHES) then 21 else 20 unkn 21 20: BReturn 1 21: BReturn 0 time 1.8% fanout 1 input 3 rows RDF_QUAD 1 rows(t6.S, t6.O) inlined P = #/reviewDate , S = k_q_t3.S G = #/bsbm.org time 1.8% fanout 1 input 3 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t6.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 RDF_QUAD 1.1 rows(t4.S, t4.O) inlined P = #/title , S = k_q_t3.S G = #/bsbm.org time 1% fanout 1 input 3 rows RDF_QUAD 1 rows(t7.O) inlined P = ##reviewer , S = k_q_t3.S G = #/bsbm.org time 0.081% fanout 1 input 3 rows outer { time 0.88% fanout 1 input 3 rows RDF_QUAD 1.1 rows(t10.O) inlined P = #/rating1 , S = k_q_t3.S G = #/bsbm.org time 0.085% fanout 1 input 3 rows end of outer} set_ctr out: (t10.O) shadow: (t10.O) time 2.3% fanout 1 input 3 rows outer { time 0.72% fanout 0.333333 input 3 rows RDF_QUAD 1.1 rows(t12.O) inlined P = #/rating2 , S = k_q_t3.S G = #/bsbm.org time 0.023% fanout 1 input 1 rows end of outer} set_ctr out: (t12.O) shadow: (t12.O) time 0.65% fanout 1 input 3 rows outer { time 0.75% fanout 0.666667 input 3 rows RDF_QUAD 1.2 rows(t16.O) inlined P = #/rating4 , S = k_q_t3.S G = #/bsbm.org time 0.045% fanout 1 input 2 rows end of outer} set_ctr out: (t16.O) shadow: (t16.O) time 0.43% fanout 1 input 3 rows outer { time 0.84% fanout 0.666667 input 3 rows RDF_QUAD 1.2 rows(t14.O) inlined P = #/rating3 , S = k_q_t3.S G = #/bsbm.org time 0.045% fanout 1 input 2 rows end of outer} set_ctr out: (t14.O) shadow: (t14.O) time 2.2% fanout 0.666667 input 3 rows Stage 3 time 1.3% fanout 1 input 3 rows RDF_QUAD 1.2 rows(t8.O) inlined P = #/name , S = q_t7.O G = #/bsbm.org time 0.43% fanout 0 input 3 rows Sort (__ro2sq) -> (t4.O, t5.O, t7.O, t8.O, t10.O, t12.O, t14.O, t16.O) time 0.0043% fanout 0 input 0 rows ssa iterator time 0.65% fanout 1 input 3 rows top order by read (t4.O, t5.O, __ro2sq, q_t7.O, t8.O, t10.O, t12.O, t14.O, t16.O) time 0.16% fanout 0 input 3 rows qf select node output: (t8.O, t14.O, t16.O, t12.O, t10.O, q_t7.O, t4.O, __ro2sq, t5.O, set_no) } } time 12% fanout 3 input 1 rows cl fref read output: (t8.O, t14.O, t16.O, t12.O, t10.O, t7.O, t4.O, __ro2sq, t5.O, set_no) order: 9 7 desc After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe t16.O -> __RO2SQ -> __ro2sq t14.O -> __RO2SQ -> __ro2sq t12.O -> __RO2SQ -> __ro2sq t10.O -> __RO2SQ -> __ro2sq t8.O -> __RO2SQ -> __ro2sq t7.O -> __ID2In -> __id2in t5.O -> __RO2SQ -> __ro2sq t4.O -> __RO2SQ -> __ro2sq } 2: reviewDate := := artm __ro2sq 6: title := := artm __ro2sq 10: text := := artm __ro2sq 14: reviewer := := artm __id2in 18: reviewerName := := artm __ro2sq 22: rating1 := := artm __ro2sq 26: rating2 := := artm __ro2sq 30: rating3 := := artm __ro2sq 34: rating4 := := artm __ro2sq 38: BReturn 0 time 0.008% fanout 0 input 3 rows Subquery Select(title, text, reviewDate, reviewer, reviewerName, rating1, rating2, rating3, rating4) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating4 -> __RO2SQ -> rating4 rating3 -> __RO2SQ -> rating3 rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 reviewerName -> __RO2SQ -> reviewerName reviewer -> __RO2SQ -> reviewer reviewDate -> __RO2SQ -> reviewDate text -> __RO2SQ -> text title -> __RO2SQ -> title } 2: BReturn 0 time 0.0072% fanout 0 input 3 rows Select (title, text, reviewDate, reviewer, reviewerName, rating1, rating2, rating3, rating4) } sparql {define input:default-graph-uri PREFIX rev: DESCRIBE ?x WHERE { rev:reviewer ?x } } ; { time 0.12% fanout 1 input 1 rows time 0.44% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector () 5: $29 "vector" := Call vector ( #/bsbm.org ) 10: $31 "vector" := Call vector (, 106 ) 15: BReturn 0 { fork wait time 0% of exec real time, fanout 1 QF { time 2.9% fanout 1 input 1 rows RDF_QUAD 1 rows(s_6_1_t0.O) inlined P = ##reviewer , S = #/Review209840003 G = #/bsbm.org time 0.2% fanout 0 input 1 rows qf select node output: (qf_set_no, s_6_1_t0.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_6_1_t0.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo) 7: if ($47 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $47 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_INIT ($48 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_ACC ($48 "user_aggr_env", vector) 29: BReturn 0 } time 96% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: DB.DBA.SPARQL_DESC_AGG_FIN := Call DB.DBA.SPARQL_DESC_AGG_FIN ($48 "user_aggr_env") 7: callret-0 := Call DB.DBA.SPARQL_DESC_DICT (DB.DBA.SPARQL_DESC_AGG_FIN, $27 "vector", $29 "vector", , , $31 "vector") 14: BReturn 0 time 0.047% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX rev: DESCRIBE ?x WHERE { rev:reviewer ?x } } ; { time 0.13% fanout 1 input 1 rows time 0.57% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector () 5: $29 "vector" := Call vector ( #/bsbm.org ) 10: $31 "vector" := Call vector (, 106 ) 15: BReturn 0 { fork wait time 27% of exec real time, fanout 1 QF { time 3.9% fanout 1 input 1 rows RDF_QUAD 1 rows(s_6_1_t0.O) inlined P = ##reviewer , S = #/Review143611026 G = #/bsbm.org time 0.33% fanout 0 input 1 rows qf select node output: (qf_set_no, s_6_1_t0.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_6_1_t0.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo) 7: if ($47 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $47 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_INIT ($48 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_ACC ($48 "user_aggr_env", vector) 29: BReturn 0 } time 95% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: DB.DBA.SPARQL_DESC_AGG_FIN := Call DB.DBA.SPARQL_DESC_AGG_FIN ($48 "user_aggr_env") 7: callret-0 := Call DB.DBA.SPARQL_DESC_DICT (DB.DBA.SPARQL_DESC_AGG_FIN, $27 "vector", $29 "vector", , , $31 "vector") 14: BReturn 0 time 0.066% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX bsbm: PREFIX xsd: PREFIX dc: SELECT DISTINCT ?offer ?price WHERE { ?offer bsbm:product . ?offer bsbm:vendor ?vendor . ?offer dc:publisher ?vendor . ?vendor bsbm:country . ?offer bsbm:deliveryDays ?deliveryDays . FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } ORDER BY ?price LIMIT 10 } ; { time 0.057% fanout 1 input 1 rows Subquery 27 { time 0.056% fanout 1 input 1 rows { fork wait time 7.2% of exec real time, fanout 5 QF { time 0% fanout 0 input 0 rows Stage 1 time 2.4% fanout 25 input 1 rows RDF_QUAD_POGS 25 rows(s_20_7_t0.S) P = #/product , O = #/Product18007250 G = #/bsbm.org time 7.1% fanout 0.44 input 25 rows Stage 2 time 20% fanout 0.52 input 25 rows RDF_QUAD 0.49 rows(s_20_7_t4.S) P = #/deliveryDays , S = q_s_20_7_t0.S , O <= 3 O <= 3 , G = #/bsbm.org time 10% fanout 1 input 13 rows RDF_QUAD 1 rows(s_20_7_t1.S, s_20_7_t1.O) inlined P = #/vendor , S = k_q_s_20_7_t0.S G = #/bsbm.org time 12% fanout 1 input 13 rows RDF_QUAD unq 5.8e-07 rows (s_20_7_t2.O, s_20_7_t2.S) inlined P = #/publisher , S = k_q_s_20_7_t0.S , O = cast , G = #/bsbm.org time 11% fanout 0.692308 input 13 rows Stage 3 time 11% fanout 0.538462 input 13 rows RDF_QUAD_POGS unq 0.4 rows () P = #/country , O = ##US , S = q_s_20_7_t1.O , G = #/bsbm.org time 5.1% fanout 0.428571 input 7 rows Stage 4 time 8% fanout 0.714286 input 7 rows RDF_QUAD 0.59 rows(s_20_7_t6.S) P = #/validTo , S = q_q_q_s_20_7_t0.S , O > O > , G = #/bsbm.org time 8.8% fanout 1 input 5 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_20_7_t0.S -> __ID2In -> __id2in } 2: BReturn 0 RDF_QUAD 1 rows(s_20_7_t5.O) inlined P = #/price , S = k_q_q_q_s_20_7_t0.S G = #/bsbm.org time 0.82% fanout 0 input 5 rows qf select node output: (qf_set_no, s_20_7_t5.O, __id2in, s_20_7_t0.S) } time 1.5% fanout 1 input 5 rows Distinct (__id2in, s_20_7_t5.O) time 2% fanout 0 input 5 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_20_7_t5.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_20_7_t0.S, __id2in) } time 0.27% fanout 5 input 1 rows top order by read (s_20_7_t0.S, __ro2sq, __id2in) After code: 0: offer := := artm __id2in 4: price := := artm __ro2sq 8: BReturn 0 time 0.019% fanout 0 input 5 rows Subquery Select(offer, price) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe price -> __RO2SQ -> price offer -> __RO2SQ -> offer } 2: BReturn 0 time 0.022% fanout 0 input 5 rows Select (offer, price) } sparql {define input:default-graph-uri PREFIX bsbm: PREFIX xsd: PREFIX dc: SELECT DISTINCT ?offer ?price WHERE { ?offer bsbm:product . ?offer bsbm:vendor ?vendor . ?offer dc:publisher ?vendor . ?vendor bsbm:country . ?offer bsbm:deliveryDays ?deliveryDays . FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } ORDER BY ?price LIMIT 10 } ; { time 0.076% fanout 1 input 1 rows Subquery 27 { time 0.1% fanout 1 input 1 rows { fork wait time 50% of exec real time, fanout 4 QF { time 0.48% fanout 0 input 0 rows Stage 1 time 2.5% fanout 21 input 1 rows RDF_QUAD_POGS 21 rows(s_20_7_t0.S) P = #/product , O = #/Product20930643 G = #/bsbm.org time 7.9% fanout 0.238095 input 21 rows Stage 2 time 26% fanout 0.52381 input 21 rows RDF_QUAD 0.49 rows(s_20_7_t4.S) P = #/deliveryDays , S = q_s_20_7_t0.S , O <= 3 O <= 3 , G = #/bsbm.org time 15% fanout 0.363636 input 11 rows RDF_QUAD 0.59 rows(s_20_7_t6.S) P = #/validTo , S = k_q_s_20_7_t0.S , O > O > , G = #/bsbm.org time 4.9% fanout 1 input 4 rows RDF_QUAD 1 rows(s_20_7_t1.S, s_20_7_t1.O) inlined P = #/vendor , S = k_q_s_20_7_t0.S G = #/bsbm.org time 5.5% fanout 1 input 4 rows RDF_QUAD unq 5.8e-07 rows (s_20_7_t2.S, s_20_7_t2.O) inlined P = #/publisher , S = k_q_s_20_7_t0.S , O = cast , G = #/bsbm.org time 7.2% fanout 0 input 4 rows Stage 3 time 7.4% fanout 1 input 4 rows RDF_QUAD_POGS unq 0.4 rows () P = #/country , O = ##US , S = q_s_20_7_t1.O , G = #/bsbm.org time 10% fanout 0.25 input 4 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_20_7_t0.S -> __ID2In -> __id2in } 2: BReturn 0 Stage 4 time 8.1% fanout 1 input 4 rows RDF_QUAD 1 rows(s_20_7_t5.O) inlined P = #/price , S = q_q_q_s_20_7_t0.S G = #/bsbm.org time 0.91% fanout 0 input 4 rows qf select node output: (qf_set_no, s_20_7_t5.O, __id2in, s_20_7_t0.S) } time 1.5% fanout 1 input 4 rows Distinct (__id2in, s_20_7_t5.O) time 2% fanout 0 input 4 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_20_7_t5.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_20_7_t0.S, __id2in) } time 0.41% fanout 4 input 1 rows top order by read (s_20_7_t0.S, __ro2sq, __id2in) After code: 0: offer := := artm __id2in 4: price := := artm __ro2sq 8: BReturn 0 time 0.031% fanout 0 input 4 rows Subquery Select(offer, price) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe price -> __RO2SQ -> price offer -> __RO2SQ -> offer } 2: BReturn 0 time 0.037% fanout 0 input 4 rows Select (offer, price) } sparql {define input:default-graph-uri SELECT ?property ?hasValue ?isValueOf WHERE { { ?property ?hasValue } UNION { ?isValueOf ?property } } } ; { time 0.66% fanout 1 input 1 rows Subquery 27 { Union { wait time 53% of exec real time, fanout 10 QF { time 15% fanout 10 input 1 rows RDF_QUAD_SP 10 rows(s_4_1_t0-u6.P) inlined S = #/Offer141941085 time 68% fanout 1 input 10 rows RDF_QUAD 0.35 rows(ordering.G, s_4_1_t0-u6.O) inlined P = k_s_4_1_t0-u6.P , S = #/Offer141941085 G = #/bsbm.org time 2.6% fanout 0 input 10 rows qf select node output: (qf_set_no, ordering.G, s_4_1_t0-u6.O, s_4_1_t0-u6.P) } time 1.6% fanout 0 input 10 rows Precode: 0: property := := artm s_4_1_t0-u6.P 4: hasValue := := artm s_4_1_t0-u6.O 8: isValueOf := := artm 12: BReturn 0 Subquery Select(property, hasValue, isValueOf) } { wait time 27% of exec real time, fanout 0 QF { time 12% fanout 0 input 1 rows RDF_QUAD_OP 0.19 rows(s_6_3_t1.P) inlined O = #/Offer141941085 time 0% fanout 0 input 0 rows RDF_QUAD_POGS 0.39 rows(ordering.G, s_6_3_t1.S) P = k_s_6_3_t1.P , O = #/Offer141941085 G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, s_6_3_t1.S, s_6_3_t1.P) } time 0% fanout 0 input 0 rows Precode: 0: property := := artm s_6_3_t1.P 4: hasValue := := artm 8: isValueOf := := artm s_6_3_t1.S 12: BReturn 0 Subquery Select(property, hasValue, isValueOf) } } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe isValueOf -> __ID2In -> isValueOf hasValue -> __RO2SQ -> hasValue property -> __ID2In -> property } 2: BReturn 0 time 0.28% fanout 0 input 10 rows Select (property, hasValue, isValueOf) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX bsbm-export: PREFIX dc: CONSTRUCT { bsbm-export:product ?productURI . bsbm-export:productlabel ?productlabel . bsbm-export:vendor ?vendorname . bsbm-export:vendorhomepage ?vendorhomepage . bsbm-export:offerURL ?offerURL . bsbm-export:price ?price . bsbm-export:deliveryDays ?deliveryDays . bsbm-export:validuntil ?validTo } WHERE { bsbm:product ?productURI . ?productURI rdfs:label ?productlabel . bsbm:vendor ?vendorURI . ?vendorURI rdfs:label ?vendorname . ?vendorURI foaf:homepage ?vendorhomepage . bsbm:offerWebpage ?offerURL . bsbm:price ?price . bsbm:deliveryDays ?deliveryDays . bsbm:validTo ?validTo } } ; { time 0.32% fanout 1 input 1 rows time 3.9% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector ( 3 , #/Offer228625789 , 3 , #/product , 1 , 7 ) 5: $29 "vector" := Call vector ( 3 , #/Offer228625789 , 3 , #/productlabel , 1 , 6 ) 10: $31 "vector" := Call vector ( 3 , #/Offer228625789 , 3 , #/vendor , 1 , 5 ) 15: $33 "vector" := Call vector ( 3 , #/Offer228625789 , 3 , #/vendorhomepage , 1 , 4 ) 20: $35 "vector" := Call vector ( 3 , #/Offer228625789 , 3 , #/offerURL , 1 , 3 ) 25: $37 "vector" := Call vector ( 3 , #/Offer228625789 , 3 , #/price , 1 , 2 ) 30: $39 "vector" := Call vector ( 3 , #/Offer228625789 , 3 , #/deliveryDays , 1 , 1 ) 35: $41 "vector" := Call vector ( 3 , #/Offer228625789 , 3 , #/validuntil , 1 , 0 ) 40: $43 "vector" := Call vector ($27 "vector", $29 "vector", $31 "vector", $33 "vector", $35 "vector", $37 "vector", $39 "vector", $41 "vector") 45: $45 "vector" := Call vector () 50: BReturn 0 { fork wait time 42% of exec real time, fanout 1 QF { time 0% fanout 0 input 0 rows Stage 1 time 7.9% fanout 1 input 1 rows RDF_QUAD 0.94 rows(s_26_26_t16.O) inlined P = #/validTo , S = #/Offer228625789 G = #/bsbm.org time 0.9% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 21 else 4 unkn 21 4: if ( 0 = 1 ) then 21 else 8 unkn 21 8: if ( 0 = 1 ) then 21 else 12 unkn 21 12: if ( 0 = 1 ) then 21 else 16 unkn 21 16: if ( 0 = 1 ) then 21 else 20 unkn 21 20: BReturn 1 21: BReturn 0 time 6.2% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t15.O) inlined P = #/deliveryDays , S = #/Offer228625789 G = #/bsbm.org time 6.4% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t14.O) inlined P = #/price , S = #/Offer228625789 G = #/bsbm.org time 4.4% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t13.O) inlined P = #/offerWebpage , S = #/Offer228625789 G = #/bsbm.org time 4.2% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t10.O) inlined P = #/vendor , S = #/Offer228625789 G = #/bsbm.org time 12% fanout 1 input 1 rows Stage 2 time 11% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t11.S, s_26_26_t11.O) inlined P = ##label , S = q_s_26_26_t10.O G = #/bsbm.org time 5.3% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t12.O) inlined P = #/homepage , S = k_q_s_26_26_t10.O G = #/bsbm.org time 7.2% fanout 0 input 1 rows Stage 3 time 8.1% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t8.O) inlined P = #/product , S = #/Offer228625789 G = #/bsbm.org time 8.7% fanout 1 input 1 rows Stage 4 time 6.8% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t9.O) inlined P = ##label , S = q_s_26_26_t8.O G = #/bsbm.org time 1.4% fanout 0 input 1 rows qf select node output: (qf_set_no, s_26_26_t9.O, s_26_26_t8.O, s_26_26_t12.O, s_26_26_t11.O, s_26_26_t13.O, s_26_26_t14.O, s_26_26_t15.O, s_26_26_t16.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_26_26_t9.O -> __RO2LO -> __ro2lo s_26_26_t16.O -> __RO2LO -> __ro2lo s_26_26_t15.O -> __RO2LO -> __ro2lo s_26_26_t14.O -> __RO2LO -> __ro2lo s_26_26_t13.O -> __RO2LO -> __ro2lo s_26_26_t12.O -> __RO2LO -> __ro2lo s_26_26_t11.O -> __RO2LO -> __ro2lo s_26_26_t8.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo, __ro2lo, __ro2lo, __ro2lo, __ro2lo, __ro2lo, __ro2lo, __ro2lo) 7: if ($132 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $132 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_CONSTRUCT_INIT ($133 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_CONSTRUCT_ACC ($133 "user_aggr_env", $43 "vector", vector, $45 "vector", 1 ) 29: BReturn 0 } time 5.3% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: callret-0 := Call DB.DBA.SPARQL_CONSTRUCT_FIN ($133 "user_aggr_env") 7: BReturn 0 time 0.17% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX rdf: SELECT DISTINCT ?product ?label WHERE { ?product rdfs:label ?label . ?product a . ?product bsbm:productFeature . ?product bsbm:productFeature . ?product bsbm:productPropertyNumeric1 ?value1 . FILTER (?value1 > 441) } ORDER BY ?label LIMIT 10 } ; { time 0.0029% fanout 1 input 1 rows Subquery 27 { time 0.0037% fanout 1 input 1 rows { fork wait time 7.6% of exec real time, fanout 83 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.12% fanout 1165 input 1 rows RDF_QUAD_POGS 1.2e+03 rows(s_18_5_t3.S) P = #/productFeature , O = #/ProductFeature74510 G = #/bsbm.org time 1.7% fanout 0.51073 input 1165 rows Stage 2 time 63% fanout 0.24721 input 1165 rows RDF_QUAD unq 0.00036 rows (s_18_5_t2.S) inlined P = #/productFeature , S = q_s_18_5_t3.S , O = #/ProductFeature7376 , G = #/bsbm.org time 15% fanout 0.600694 input 288 rows RDF_QUAD 0.61 rows(s_18_5_t4.S) P = #/productPropertyNumeric1 , S = s_18_5_t2.S , O > 441 O > 441 , G = #/bsbm.org time 9.3% fanout 0.479769 input 173 rows RDF_QUAD unq 0.8 rows (s_18_5_t1.S) inlined P = ##type , S = k_s_18_5_t2.S , O = #/ProductType14400 , G = #/bsbm.org time 7.8% fanout 1 input 83 rows RDF_QUAD 1 rows(s_18_5_t0.S, s_18_5_t0.O) inlined P = ##label , S = s_18_5_t1.S G = #/bsbm.org After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_18_5_t0.S -> __ID2In -> __id2in } 2: BReturn 0 time 0.32% fanout 0 input 83 rows qf select node output: (qf_set_no, __id2in, s_18_5_t0.S, s_18_5_t0.O) } time 0.15% fanout 1 input 83 rows Distinct (__id2in, s_18_5_t0.O) time 1.9% fanout 0 input 83 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_18_5_t0.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_18_5_t0.S, __id2in) } time 0.024% fanout 10 input 1 rows top order by read (s_18_5_t0.S, __ro2sq, __id2in) After code: 0: product := := artm __id2in 4: label := := artm __ro2sq 8: BReturn 0 time 0.0016% fanout 0 input 10 rows Subquery Select(product, label) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe label -> __RO2SQ -> label product -> __RO2SQ -> product } 2: BReturn 0 time 0.0016% fanout 0 input 10 rows Select (product, label) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.13% fanout 1 input 1 rows wait time 3.4% of exec real time, fanout 1 QF { time 3.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product26947937 G = #/bsbm.org time 0.26% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 3.6% of exec real time, fanout 1 QF { time 4.8% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product26947937 , G = #/bsbm.org time 0.23% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.11% fanout 1 input 1 rows outer { wait time 2.8% of exec real time, fanout 0 QF { time 2.4% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product26947937 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t18.O) shadow: (ordering.G, t18.O) time 0.42% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.09% fanout 1 input 1 rows outer { wait time 2.3% of exec real time, fanout 0 QF { time 2.6% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product26947937 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t16.O) shadow: (ordering.G, t16.O) time 0.095% fanout 1 input 1 rows outer { wait time 2.3% of exec real time, fanout 0 QF { time 2.4% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product26947937 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t14.O) shadow: (ordering.G, t14.O) wait time 4% of exec real time, fanout 1 QF { time 3.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product26947937 G = #/bsbm.org time 1.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product26947937 G = #/bsbm.org time 1.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product26947937 G = #/bsbm.org time 1.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product26947937 G = #/bsbm.org time 2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product26947937 G = #/bsbm.org time 0.46% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 3.1% of exec real time, fanout 1 QF { time 3.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.25% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 3.6% of exec real time, fanout 11 QF { time 3.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product26947937 G = #/bsbm.org time 2.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product26947937 G = #/bsbm.org time 1.9% fanout 11 input 1 rows RDF_QUAD 11 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product26947937 G = #/bsbm.org time 0.5% fanout 0 input 11 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 1.5% of exec real time, fanout 1 QF { time 17% fanout 1 input 11 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.4% fanout 0 input 11 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 41% fanout 0 input 11 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.097% fanout 1 input 1 rows wait time 8.6% of exec real time, fanout 1 QF { time 2.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product2176063 G = #/bsbm.org time 0.24% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 0% of exec real time, fanout 1 QF { time 2.8% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product2176063 , G = #/bsbm.org time 0.2% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.1% fanout 1 input 1 rows outer { wait time 8.1% of exec real time, fanout 0 QF { time 2.9% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product2176063 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t18.O) shadow: (ordering.G, t18.O) time 0.22% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.14% fanout 1 input 1 rows outer { wait time 8.3% of exec real time, fanout 1 QF { time 2.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product2176063 G = #/bsbm.org time 0.25% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.25% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0.24% fanout 1 input 1 rows end of outer} set_ctr out: (t16.O, ordering.G) shadow: (t16.O, ordering.G) time 0.085% fanout 1 input 1 rows outer { wait time 7.5% of exec real time, fanout 0 QF { time 2.6% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product2176063 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (t14.O, ordering.G) shadow: (t14.O, ordering.G) wait time 12% of exec real time, fanout 1 QF { time 3.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product2176063 G = #/bsbm.org time 2.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product2176063 G = #/bsbm.org time 1.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product2176063 G = #/bsbm.org time 1.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product2176063 G = #/bsbm.org time 2.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product2176063 G = #/bsbm.org time 0.58% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 0% of exec real time, fanout 1 QF { time 2.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.22% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 12% of exec real time, fanout 20 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product2176063 G = #/bsbm.org time 1.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product2176063 G = #/bsbm.org time 1.8% fanout 20 input 1 rows RDF_QUAD 20 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product2176063 G = #/bsbm.org time 0.58% fanout 0 input 20 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 8.8% of exec real time, fanout 1 QF { time 19% fanout 1 input 20 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.4% fanout 0 input 20 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 41% fanout 0 input 20 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX rdf: SELECT ?product ?label WHERE { ?product rdfs:label ?label . ?product a . ?product bsbm:productFeature . ?product bsbm:productPropertyNumeric1 ?p1 . FILTER ( ?p1 > 461 ) ?product bsbm:productPropertyNumeric3 ?p3 . FILTER (?p3 < 238 ) OPTIONAL { ?product bsbm:productFeature . ?product rdfs:label ?testVar } FILTER (!bound(?testVar)) } ORDER BY ?label LIMIT 10 } ; { time 0.0064% fanout 1 input 1 rows Subquery 27 { time 0.26% fanout 1 input 1 rows { fork wait time 21% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.18% fanout 622 input 1 rows RDF_QUAD_POGS 6.2e+02 rows(t4.S) P = ##type , O = #/ProductType21260 G = #/bsbm.org time 0.32% fanout 0 input 622 rows Stage 2 time 1.7% fanout 0.23955 input 622 rows RDF_QUAD_POGS unq 0.00079 rows (t5.S) P = #/productFeature , O = #/ProductFeature1268 , S = q_t4.S , G = #/bsbm.org time 2% fanout 0.510067 input 149 rows Stage 3 time 14% fanout 0.228188 input 149 rows RDF_QUAD 0.26 rows(t7.S) P = #/productPropertyNumeric3 , S = q_q_t4.S , O < 238 O < 238 , G = #/bsbm.org time 3.3% fanout 0.617647 input 34 rows RDF_QUAD 0.6 rows(t6.S) P = #/productPropertyNumeric1 , S = k_q_q_t4.S , O > 461 O > 461 , G = #/bsbm.org time 2.3% fanout 1 input 21 rows RDF_QUAD 1 rows(t3.S, t3.O) inlined P = ##label , S = k_q_q_t4.S G = #/bsbm.org time 35% fanout 1 input 21 rows outer { Subquery 67 { wait time 0% of exec real time, fanout 0.190476 QF { time 3.2% fanout 0.190476 input 21 rows RDF_QUAD unq 1.3e-05 rows (t9.S) inlined P = #/productFeature , S = q_t3.S , O = #/ProductFeature140026 , G = #/bsbm.org time 0.32% fanout 1 input 4 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = ##label , S = t9.S G = #/bsbm.org time 0.06% fanout 0 input 4 rows qf select node output: (qf_set_no, ordering.G, t10.O, t9.S) } time 0.029% fanout 0 input 4 rows Precode: 0: product := := artm t9.S 4: testVar := := artm t10.O 8: BReturn 0 Subquery Select(product, testVar) } time 0.033% fanout 5.25 input 4 rows end of outer} set_ctr out: (product, testVar, set_no) shadow: (product, testVar, ) time 0.18% fanout 0.809524 input 21 rows END Node After test: 0: if (testVar IS NULL 0 ) then 4 else 5 unkn 5 4: BReturn 1 5: BReturn 0 time 34% fanout 0 input 17 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t3.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (t3.S) time 0.0037% fanout 0 input 0 rows ssa iterator time 0.1% fanout 4.25 input 4 rows top order by read (t3.S, __ro2sq) time 0.06% fanout 0 input 17 rows qf select node output: (__ro2sq, t3.S, set_no) } } time 3% fanout 10 input 1 rows cl fref read output: (__ro2sq, t3.S, set_no) order: 2 0 After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe t3.S -> __ID2In -> __id2in } 2: label := := artm __ro2sq 6: product := := artm __id2in 10: BReturn 0 time 0.0024% fanout 0 input 10 rows Subquery Select(product, label) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe label -> __RO2SQ -> label product -> __RO2SQ -> product } 2: BReturn 0 time 0.0027% fanout 0 input 10 rows Select (product, label) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.1% fanout 1 input 1 rows wait time 2.1% of exec real time, fanout 1 QF { time 2.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product12898530 G = #/bsbm.org time 0.52% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 2.1% of exec real time, fanout 1 QF { time 4.4% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product12898530 , G = #/bsbm.org time 0.18% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.11% fanout 1 input 1 rows outer { wait time 2.2% of exec real time, fanout 1 QF { time 2.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product12898530 G = #/bsbm.org time 0.74% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.15% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0.12% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t18.O) shadow: (ordering.G, t18.O) time 0.28% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.092% fanout 1 input 1 rows outer { wait time 2.1% of exec real time, fanout 1 QF { time 3.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product12898530 G = #/bsbm.org time 0.2% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.15% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0.11% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t16.O) shadow: (ordering.G, t16.O) time 0.12% fanout 1 input 1 rows outer { wait time 2.1% of exec real time, fanout 1 QF { time 3.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product12898530 G = #/bsbm.org time 0.19% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.14% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0.12% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t14.O) shadow: (ordering.G, t14.O) wait time 3.9% of exec real time, fanout 1 QF { time 3.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product12898530 G = #/bsbm.org time 1.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product12898530 G = #/bsbm.org time 1.6% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product12898530 G = #/bsbm.org time 1.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product12898530 G = #/bsbm.org time 1.5% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product12898530 G = #/bsbm.org time 0.36% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 2.2% of exec real time, fanout 1 QF { time 3.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.2% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 3.2% of exec real time, fanout 17 QF { time 2.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product12898530 G = #/bsbm.org time 2.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product12898530 G = #/bsbm.org time 1.4% fanout 17 input 1 rows RDF_QUAD 17 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product12898530 G = #/bsbm.org time 0.41% fanout 0 input 17 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 4.3% of exec real time, fanout 1 QF { time 19% fanout 1 input 17 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.4% fanout 0 input 17 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 39% fanout 0 input 17 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.14% fanout 1 input 1 rows wait time 0% of exec real time, fanout 1 QF { time 3.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product17388167 G = #/bsbm.org time 0.28% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 17% of exec real time, fanout 1 QF { time 4% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product17388167 , G = #/bsbm.org time 0.3% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.13% fanout 1 input 1 rows outer { wait time 0% of exec real time, fanout 0 QF { time 2.4% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product17388167 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (t18.O, ordering.G) shadow: (t18.O, ordering.G) time 0.36% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.13% fanout 1 input 1 rows outer { wait time 0% of exec real time, fanout 0 QF { time 1.8% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product17388167 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t16.O) shadow: (ordering.G, t16.O) time 0.16% fanout 1 input 1 rows outer { wait time 0% of exec real time, fanout 0 QF { time 1.6% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product17388167 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (t14.O, ordering.G) shadow: (t14.O, ordering.G) wait time 0% of exec real time, fanout 1 QF { time 2.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product17388167 G = #/bsbm.org time 2.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product17388167 G = #/bsbm.org time 1.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product17388167 G = #/bsbm.org time 1.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product17388167 G = #/bsbm.org time 2.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product17388167 G = #/bsbm.org time 0.59% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 14% of exec real time, fanout 1 QF { time 3.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.27% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 0% of exec real time, fanout 18 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product17388167 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product17388167 G = #/bsbm.org time 2.1% fanout 18 input 1 rows RDF_QUAD 18 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product17388167 G = #/bsbm.org time 0.62% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 8.8% of exec real time, fanout 1 QF { time 19% fanout 1 input 18 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.4% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 43% fanout 0 input 18 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX rdf: SELECT DISTINCT ?product ?label ?propertyTextual WHERE { { ?product rdfs:label ?label . ?product rdf:type . ?product bsbm:productFeature . ?product bsbm:productFeature . ?product bsbm:productPropertyTextual1 ?propertyTextual . ?product bsbm:productPropertyNumeric1 ?p1 . FILTER ( ?p1 > 137 ) } UNION { ?product rdfs:label ?label . ?product rdf:type . ?product bsbm:productFeature . ?product bsbm:productFeature . ?product bsbm:productPropertyTextual1 ?propertyTextual . ?product bsbm:productPropertyNumeric2 ?p2 . FILTER ( ?p2> 448 ) } } ORDER BY ?label OFFSET 5 LIMIT 10 } ; { time 0.02% fanout 1 input 1 rows Subquery 27 { time 0.023% fanout 1 input 1 rows { fork Subquery 32 { Union { wait time 10% of exec real time, fanout 43 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.53% fanout 197 input 1 rows RDF_QUAD_POGS 2e+02 rows(s_16_6_t3-u16.S) P = #/productFeature , O = #/ProductFeature386469 G = #/bsbm.org time 0.47% fanout 0 input 197 rows Stage 2 time 1.8% fanout 0.253807 input 197 rows RDF_QUAD_POGS unq 0.00012 rows (s_16_6_t2-u16.S) P = #/productFeature , O = #/ProductFeature13244 , S = q_s_16_6_t3-u16.S , G = #/bsbm.org time 0.49% fanout 0 input 50 rows Stage 3 time 0% fanout 0 input 0 rows RDF_QUAD_POGS unq 0.8 rows (s_16_6_t1-u16.S) P = ##type , O = #/ProductType20552 , S = q_s_16_6_t2-u16.S , G = #/bsbm.org time 0% fanout 0 input 0 rows Stage 4 time 11% fanout 0.842105 input 38 rows RDF_QUAD 1 rows(s_16_6_t5-u16.S) P = #/productPropertyNumeric1 , S = q_s_16_6_t1-u16.S , O > 137 O > 137 , G = #/bsbm.org time 7.5% fanout 1 input 32 rows RDF_QUAD 1 rows(s_16_6_t0-u16.S, s_16_6_t0-u16.O) inlined P = ##label , S = k_q_s_16_6_t1-u16.S G = #/bsbm.org time 8.1% fanout 1 input 32 rows RDF_QUAD 1 rows(s_16_6_t4-u16.O) inlined P = #/productPropertyTextual1 , S = s_16_6_t0-u16.S G = #/bsbm.org After code: 0: product := := artm s_16_6_t0-u16.S 4: label := := artm s_16_6_t0-u16.O 8: propertyTextual := := artm s_16_6_t4-u16.O 12: BReturn 0 time 0.47% fanout 0 input 32 rows qf select node output: (qf_set_no, propertyTextual, label, product) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe product -> __ID2In -> __id2in } 2: BReturn 0 time 0.62% fanout 1 input 43 rows Distinct (__id2in, label, propertyTextual) time 12% fanout 0 input 43 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe label -> __RO2SQ -> __ro2sq propertyTextual -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (__id2in, __ro2sq) } { wait time 12% of exec real time, fanout 34 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.53% fanout 379 input 1 rows RDF_QUAD_POGS 3.8e+02 rows(s_25_13_t9.S) P = #/productFeature , O = #/ProductFeature133399 G = #/bsbm.org time 0.56% fanout 0 input 379 rows Stage 2 time 2.1% fanout 0.240106 input 379 rows RDF_QUAD_POGS unq 0.00012 rows (s_25_13_t8.S) P = #/productFeature , O = #/ProductFeature13244 , S = q_s_25_13_t9.S , G = #/bsbm.org time 3.9% fanout 0.263736 input 91 rows Stage 3 time 18% fanout 0.647887 input 71 rows RDF_QUAD 0.71 rows(s_25_13_t11.S) P = #/productPropertyNumeric2 , S = q_s_25_13_t8.S , O > 448 O > 448 , G = #/bsbm.org time 12% fanout 0.543478 input 46 rows RDF_QUAD unq 0.8 rows (s_25_13_t7.S) inlined P = ##type , S = k_q_s_25_13_t8.S , O = #/ProductType20552 , G = #/bsbm.org time 5.5% fanout 1 input 25 rows RDF_QUAD 1 rows(s_25_13_t6.S, s_25_13_t6.O) inlined P = ##label , S = s_25_13_t7.S G = #/bsbm.org time 6.2% fanout 1 input 25 rows RDF_QUAD 1 rows(s_25_13_t10.O) inlined P = #/productPropertyTextual1 , S = s_25_13_t6.S G = #/bsbm.org After code: 0: product := := artm s_25_13_t6.S 4: label := := artm s_25_13_t6.O 8: propertyTextual := := artm s_25_13_t10.O 12: BReturn 0 time 0.5% fanout 0 input 25 rows qf select node output: (qf_set_no, propertyTextual, label, product) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe product -> __ID2In -> __id2in } 2: BReturn 0 time 0.22% fanout 0.823529 input 34 rows Distinct (__id2in, label, propertyTextual) time 7.1% fanout 0 input 28 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe label -> __RO2SQ -> __ro2sq propertyTextual -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (__id2in, __ro2sq) } } } time 0.19% fanout 10 input 1 rows top order by read (__id2in, __ro2sq, __ro2sq) After code: 0: product := := artm __id2in 4: label := := artm __ro2sq 8: propertyTextual := := artm __ro2sq 12: BReturn 0 time 0.0054% fanout 0 input 10 rows Subquery Select(product, label, propertyTextual) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe propertyTextual -> __RO2SQ -> propertyTextual label -> __RO2SQ -> label product -> __RO2SQ -> product } 2: BReturn 0 time 0.0068% fanout 0 input 10 rows Select (product, label, propertyTextual) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.12% fanout 1 input 1 rows wait time 2.6% of exec real time, fanout 1 QF { time 2.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product9997427 G = #/bsbm.org time 0.21% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 0% of exec real time, fanout 1 QF { time 3.7% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product9997427 , G = #/bsbm.org time 0.21% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.12% fanout 1 input 1 rows outer { wait time 2.6% of exec real time, fanout 1 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product9997427 G = #/bsbm.org time 0.22% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.17% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0.19% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t18.O) shadow: (ordering.G, t18.O) time 0.3% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.14% fanout 1 input 1 rows outer { wait time 2.5% of exec real time, fanout 1 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product9997427 G = #/bsbm.org time 0.21% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.17% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0.14% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t16.O) shadow: (ordering.G, t16.O) wait time 3.4% of exec real time, fanout 1 QF { time 3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product9997427 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product9997427 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product9997427 G = #/bsbm.org time 1.4% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product9997427 G = #/bsbm.org time 0.36% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 0% of exec real time, fanout 1 QF { time 3.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.23% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 4% of exec real time, fanout 18 QF { time 2.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product9997427 G = #/bsbm.org time 1.7% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product9997427 G = #/bsbm.org time 0.16% fanout 1 input 1 rows outer { time 2.2% fanout 1 input 1 rows RDF_QUAD 2 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product9997427 G = #/bsbm.org time 0.19% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.17% fanout 1 input 1 rows end of outer} set_ctr out: (ordering.G, t14.O) shadow: (ordering.G, t14.O) time 1.5% fanout 1 input 1 rows RDF_QUAD 2 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product9997427 G = #/bsbm.org time 1.8% fanout 18 input 1 rows RDF_QUAD 18 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product9997427 G = #/bsbm.org time 0.72% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t10.O, ordering.G, t14.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 1.6% of exec real time, fanout 1 QF { time 21% fanout 1 input 18 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.2% fanout 0 input 18 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 40% fanout 0 input 18 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX bsbm-inst: PREFIX bsbm: PREFIX rdfs: PREFIX dc: SELECT ?label ?comment ?producer ?productFeature ?propertyTextual1 ?propertyTextual2 ?propertyTextual3 ?propertyNumeric1 ?propertyNumeric2 ?propertyTextual4 ?propertyTextual5 ?propertyNumeric4 WHERE { rdfs:label ?label . rdfs:comment ?comment . bsbm:producer ?p . ?p rdfs:label ?producer . dc:publisher ?p . bsbm:productFeature ?f . ?f rdfs:label ?productFeature . bsbm:productPropertyTextual1 ?propertyTextual1 . bsbm:productPropertyTextual2 ?propertyTextual2 . bsbm:productPropertyTextual3 ?propertyTextual3 . bsbm:productPropertyNumeric1 ?propertyNumeric1 . bsbm:productPropertyNumeric2 ?propertyNumeric2 . OPTIONAL { bsbm:productPropertyTextual4 ?propertyTextual4 } OPTIONAL { bsbm:productPropertyTextual5 ?propertyTextual5 } OPTIONAL { bsbm:productPropertyNumeric4 ?propertyNumeric4 } } } ; { time 0.14% fanout 1 input 1 rows wait time 10% of exec real time, fanout 1 QF { time 3.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t5.O) inlined P = #/publisher , S = #/Product3967766 G = #/bsbm.org time 0.33% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t5.O) } wait time 5% of exec real time, fanout 1 QF { time 4.7% fanout 1 input 1 rows RDF_QUAD_POGS unq 1.8e-06 rows (t3.O) P = #/producer , O = q_t5.O , S = #/Product3967766 , G = #/bsbm.org time 0.33% fanout 0 input 1 rows qf select node output: (qf_set_no, t3.O) } time 0.16% fanout 1 input 1 rows outer { wait time 8.6% of exec real time, fanout 0 QF { time 3.4% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t18.O) inlined P = #/productPropertyNumeric4 , S = #/Product3967766 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t18.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (ordering.G, t18.O) shadow: (ordering.G, t18.O) time 0.4% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 33 else 4 unkn 33 4: if ( 0 = 1 ) then 33 else 8 unkn 33 8: if ( 0 = 1 ) then 33 else 12 unkn 33 12: if ( 0 = 1 ) then 33 else 16 unkn 33 16: if ( 0 = 1 ) then 33 else 20 unkn 33 20: if ( 0 = 1 ) then 33 else 24 unkn 33 24: if ( 0 = 1 ) then 33 else 28 unkn 33 28: if ( 0 = 1 ) then 33 else 32 unkn 33 32: BReturn 1 33: BReturn 0 time 0.14% fanout 1 input 1 rows outer { wait time 7% of exec real time, fanout 0 QF { time 2.7% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t16.O) inlined P = #/productPropertyTextual5 , S = #/Product3967766 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t16.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (t16.O, ordering.G) shadow: (t16.O, ordering.G) time 0.15% fanout 1 input 1 rows outer { wait time 7.1% of exec real time, fanout 0 QF { time 3.2% fanout 0 input 1 rows RDF_QUAD 1 rows(ordering.G, t14.O) inlined P = #/productPropertyTextual4 , S = #/Product3967766 G = #/bsbm.org time 0% fanout 0 input 0 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, t14.O) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (t14.O, ordering.G) shadow: (t14.O, ordering.G) wait time 12% of exec real time, fanout 1 QF { time 3.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t12.O) inlined P = #/productPropertyNumeric2 , S = #/Product3967766 G = #/bsbm.org time 2.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t11.O) inlined P = #/productPropertyNumeric1 , S = #/Product3967766 G = #/bsbm.org time 2.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t10.O) inlined P = #/productPropertyTextual3 , S = #/Product3967766 G = #/bsbm.org time 2.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t9.O) inlined P = #/productPropertyTextual2 , S = #/Product3967766 G = #/bsbm.org time 2.3% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t8.O) inlined P = #/productPropertyTextual1 , S = #/Product3967766 G = #/bsbm.org time 0.76% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t8.O, ordering.G, t9.O, ordering.G, t10.O, ordering.G, t11.O, ordering.G, t12.O) } wait time 5.1% of exec real time, fanout 1 QF { time 4.8% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t4.O) inlined P = ##label , S = q_t3.O G = #/bsbm.org time 0.31% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, t4.O) } wait time 11% of exec real time, fanout 16 QF { time 3.9% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t2.O) inlined P = ##comment , S = #/Product3967766 G = #/bsbm.org time 2.1% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, t1.O) inlined P = ##label , S = #/Product3967766 G = #/bsbm.org time 2.4% fanout 16 input 1 rows RDF_QUAD 16 rows(ordering.G, t6.O) inlined P = #/productFeature , S = #/Product3967766 G = #/bsbm.org time 0.73% fanout 0 input 16 rows qf select node output: (qf_set_no, ordering.G, t6.O, ordering.G, t1.O, ordering.G, t2.O) } wait time 2% of exec real time, fanout 1 QF { time 12% fanout 1 input 16 rows RDF_QUAD 1 rows(ordering.G, t7.O) inlined P = ##label , S = q_t6.O G = #/bsbm.org time 1.1% fanout 0 input 16 rows qf select node output: (qf_set_no, ordering.G, t7.O) } time 40% fanout 0 input 16 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t18.O -> __RO2SQ -> propertyNumeric4 t16.O -> __RO2SQ -> propertyTextual5 t14.O -> __RO2SQ -> propertyTextual4 t12.O -> __RO2SQ -> propertyNumeric2 t11.O -> __RO2SQ -> propertyNumeric1 t10.O -> __RO2SQ -> propertyTextual3 t9.O -> __RO2SQ -> propertyTextual2 t8.O -> __RO2SQ -> propertyTextual1 t7.O -> __RO2SQ -> productFeature t4.O -> __RO2SQ -> producer t2.O -> __RO2SQ -> comment t1.O -> __RO2SQ -> label } 2: BReturn 0 Select (label, comment, producer, productFeature, propertyTextual1, propertyTextual2, propertyTextual3, propertyNumeric1, propertyNumeric2, propertyTextual4, propertyTextual5, propertyNumeric4) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rdf: PREFIX bsbm: SELECT DISTINCT ?product ?productLabel WHERE { ?product rdfs:label ?productLabel . FILTER ( != ?product) bsbm:productFeature ?prodFeature . ?product bsbm:productFeature ?prodFeature . bsbm:productPropertyNumeric1 ?origProperty1 . ?product bsbm:productPropertyNumeric1 ?simProperty1 . FILTER (?simProperty1 < (?origProperty1 + 120) && ?simProperty1 > (?origProperty1 - 120)) bsbm:productPropertyNumeric2 ?origProperty2 . ?product bsbm:productPropertyNumeric2 ?simProperty2 . FILTER (?simProperty2 < (?origProperty2 + 170) && ?simProperty2 > (?origProperty2 - 170)) } ORDER BY ?productLabel LIMIT 5 } ; { time 2e-05% fanout 1 input 1 rows Subquery 27 { time 3.5e-05% fanout 1 input 1 rows { fork wait time 0.13% of exec real time, fanout 120393 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.00046% fanout 1 input 1 rows RDF_QUAD 0.97 rows(s_21_7_t5.O) inlined P = #/productPropertyNumeric2 , S = #/Product19538773 G = #/bsbm.org time 3.9e-05% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 13 else 4 unkn 13 4: if ( 0 = 1 ) then 13 else 8 unkn 13 8: if ( 0 = 1 ) then 13 else 12 unkn 13 12: BReturn 1 13: BReturn 0 time 0.00061% fanout 1 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t5.O -> __RO2SQ -> __ro2sq } 2: temp := artm __ro2sq + 170 6: temp := artm __ro2sq - 170 10: BReturn 0 RDF_QUAD 1 rows(s_21_7_t3.O) inlined P = #/productPropertyNumeric1 , S = #/Product19538773 G = #/bsbm.org time 0.00061% fanout 20 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t3.O -> __RO2SQ -> __ro2sq } 2: temp := artm __ro2sq + 120 6: temp := artm __ro2sq - 120 10: BReturn 0 RDF_QUAD 20 rows(s_21_7_t1.O) inlined P = #/productFeature , S = #/Product19538773 G = #/bsbm.org time 0.0024% fanout 0.55 input 20 rows Stage 2 time 0.76% fanout 118116 input 20 rows RDF_QUAD_POGS 8.2e+02 rows(s_21_7_t2.S) P = #/productFeature , O = q_s_21_7_t1.O G = #/bsbm.org time 6.5% fanout 0.291346 input 2.36232e+06 rows Stage 3 time 63% fanout 0.193918 input 2.36232e+06 rows RDF_QUAD 0.31 rows(s_21_7_t4.S) inlined P = #/productPropertyNumeric1 , S = q_s_21_7_t2.S , O > q_q_temp < q_q_temp O > q_q_temp < q_q_temp , G = #/bsbm.org time 16% fanout 0.262855 input 458096 rows RDF_QUAD 0.25 rows(s_21_7_t6.S) inlined P = #/productPropertyNumeric2 , S = k_q_s_21_7_t2.S , O > k_q_q_temp < k_q_q_temp O > k_q_q_temp < k_q_q_temp , G = #/bsbm.org time 4.1% fanout 1 input 120413 rows RDF_QUAD 1 rows(s_21_7_t0.S, s_21_7_t0.O) inlined P = ##label , S = k_q_s_21_7_t2.S G = #/bsbm.org time 6.8% fanout 0.999834 input 120413 rows END Node After test: 0: if (s_21_7_t0.S = #/Product19538773 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t0.S -> __ID2In -> __id2in } 2: BReturn 0 time 0.28% fanout 0 input 120393 rows qf select node output: (qf_set_no, __id2in, s_21_7_t0.S, s_21_7_t0.O) } time 0.7% fanout 0.713189 input 120393 rows Distinct (__id2in, s_21_7_t0.O) time 1.9% fanout 0 input 85863 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t0.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_21_7_t0.S, __id2in) } time 0.00017% fanout 5 input 1 rows top order by read (s_21_7_t0.S, __ro2sq, __id2in) After code: 0: product := := artm __id2in 4: productLabel := := artm __ro2sq 8: BReturn 0 time 9.7e-06% fanout 0 input 5 rows Subquery Select(product, productLabel) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe productLabel -> __RO2SQ -> productLabel product -> __RO2SQ -> product } 2: BReturn 0 time 1.7e-05% fanout 0 input 5 rows Select (product, productLabel) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX dc: SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } OPTIONAL { ?review bsbm:reviewFor . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } } ; { time 0.022% fanout 1 input 1 rows wait time 2.7e+02% of exec real time, fanout 15 QF { time 0.71% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_31_21_t18.O) inlined P = ##label , S = #/Product17049243 G = #/bsbm.org time 37% fanout 1 input 1 rows outer { Subquery 35 { wait time 0% of exec real time, fanout 23 QF { time 0.77% fanout 23 input 1 rows RDF_QUAD_POGS 23 rows(ordering.G, s_21_8_t0.S) P = #/product , O = #/Product17049243 G = #/bsbm.org time 0.059% fanout 1 input 23 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.075% fanout 0 input 23 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t0.S) } wait time 0% of exec real time, fanout 0.565217 QF { time 11% fanout 0.565217 input 23 rows RDF_QUAD 0.59 rows(ordering.G, ordering.O, s_21_8_t6.S) P = #/validTo , S = q_s_21_8_t0.S , O > O > , G = #/bsbm.org time 4.3% fanout 1 input 13 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t2.S, s_21_8_t2.O) inlined P = #/vendor , S = k_q_s_21_8_t0.S G = #/bsbm.org time 4.7% fanout 1 input 13 rows RDF_QUAD unq 5.8e-07 rows (s_21_8_t5.S, s_21_8_t5.O) inlined P = #/publisher , S = k_q_s_21_8_t0.S , O = cast , G = #/bsbm.org time 0.56% fanout 0 input 13 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t2.O, ordering.G, ordering.O) } wait time 0% of exec real time, fanout 0 QF { time 1.5% fanout 0 input 13 rows RDF_QUAD_POGS unq 0.05 rows (s_21_8_t4.S) P = #/country , O = ##DE , S = q_s_21_8_t2.O , G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no) } wait time 0% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t1.O) inlined P = #/price , S = q_s_21_8_t0.S G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t1.O) } wait time 0% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t3.O) inlined P = ##label , S = q_s_21_8_t2.O G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t3.O) } time 0% fanout 0 input 0 rows Precode: 0: offer := := artm s_21_8_t0.S 4: price := := artm s_21_8_t1.O 8: vendor := := artm s_21_8_t2.O 12: vendorTitle := := artm s_21_8_t3.O 16: BReturn 0 Subquery Select(offer, price, vendor, vendorTitle) } time 0% fanout 0 input 0 rows end of outer} set_ctr out: (vendor, offer, vendorTitle, price, set_no) shadow: (vendor, offer, vendorTitle, price, ) time 0.048% fanout 1 input 1 rows outer { Subquery 155 { wait time 0% of exec real time, fanout 15 QF { time 0.66% fanout 15 input 1 rows RDF_QUAD_POGS 15 rows(ordering.G, t19.S) P = #/reviewFor , O = #/Product17049243 G = #/bsbm.org time 0.042% fanout 1 input 15 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.064% fanout 0 input 15 rows qf select node output: (qf_set_no, ordering.G, t19.S) } wait time 0% of exec real time, fanout 1 QF { time 6.1% fanout 1 input 15 rows RDF_QUAD 1 rows(ordering.G, t20.S, t20.O) inlined P = ##reviewer , S = q_t19.S G = #/bsbm.org time 4.2% fanout 1 input 15 rows RDF_QUAD 1.1 rows(ordering.G, t22.S, t22.O) inlined P = #/title , S = k_t20.S G = #/bsbm.org time 0.95% fanout 1 input 15 rows outer { time 3.8% fanout 0.8 input 15 rows RDF_QUAD 1.1 rows(ordering.G, t23.O) inlined P = #/rating1 , S = k_t22.S G = #/bsbm.org time 0.32% fanout 1.25 input 12 rows end of outer} set_ctr out: (ordering.G, t23.O) shadow: (ordering.G, t23.O) time 0.85% fanout 1 input 15 rows outer { time 3.8% fanout 0.666667 input 15 rows RDF_QUAD 1.1 rows(ordering.G, t25.O) inlined P = #/rating2 , S = k_t22.S G = #/bsbm.org time 0.28% fanout 1.3 input 10 rows end of outer} set_ctr out: (ordering.G, t25.O) shadow: (ordering.G, t25.O) time 0.79% fanout 0 input 15 rows qf select node output: (qf_set_no, ordering.G, t25.O, ordering.G, t23.O, ordering.G, t22.S, t22.O, ordering.G, t20.O) } wait time 0% of exec real time, fanout 1 QF { time 5.6% fanout 1 input 15 rows RDF_QUAD 1.2 rows(ordering.G, t21.O, t21.S) inlined P = #/name , S = q_t20.O G = #/bsbm.org time 0.27% fanout 0 input 15 rows qf select node output: (qf_set_no, ordering.G, t21.O, t21.S) } time 0.1% fanout 0 input 15 rows Precode: 0: review := := artm t22.S 4: revName := := artm t21.O 8: reviewer := := artm t21.S 12: revTitle := := artm t22.O 16: rating1 := := artm t23.O 20: rating2 := := artm t25.O 24: BReturn 0 Subquery Select(review, revName, reviewer, revTitle, rating1, rating2) } time 0.097% fanout 1 input 15 rows end of outer} set_ctr out: (rating1, set_no, reviewer, revTitle, rating2, revName, review) shadow: (rating1, , reviewer, revTitle, rating2, revName, review) time 0.19% fanout 0 input 15 rows qf select node output: (qf_set_no, rating2, rating1, revTitle, reviewer, revName, review, vendorTitle, vendor, price, offer, ordering.G, s_31_21_t18.O) } time 11% fanout 0 input 15 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 revName -> __RO2SQ -> revName reviewer -> __ID2In -> reviewer revTitle -> __RO2SQ -> revTitle review -> __ID2In -> review vendorTitle -> __RO2SQ -> vendorTitle vendor -> __ID2In -> vendor price -> __RO2SQ -> price offer -> __ID2In -> offer s_31_21_t18.O -> __RO2SQ -> productLabel } 2: BReturn 0 Select (productLabel, offer, price, vendor, vendorTitle, review, revTitle, reviewer, revName, rating1, rating2) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX dc: SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } OPTIONAL { ?review bsbm:reviewFor . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } } ; { time 0.031% fanout 1 input 1 rows END Node time 0.042% fanout 1 input 1 rows outer { Subquery 27 { wait time 14% of exec real time, fanout 29 QF { time 0.8% fanout 29 input 1 rows RDF_QUAD_POGS 29 rows(ordering.G, s_21_8_t0.S) P = #/product , O = #/Product13216117 G = #/bsbm.org time 0.069% fanout 1 input 29 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.095% fanout 0 input 29 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t0.S) } wait time 15% of exec real time, fanout 0.517241 QF { time 14% fanout 0.517241 input 29 rows RDF_QUAD 0.59 rows(ordering.G, ordering.O, s_21_8_t6.S) P = #/validTo , S = q_s_21_8_t0.S , O > O > , G = #/bsbm.org time 5.5% fanout 1 input 15 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t2.S, s_21_8_t2.O) inlined P = #/vendor , S = k_q_s_21_8_t0.S G = #/bsbm.org time 5.9% fanout 1 input 15 rows RDF_QUAD unq 5.8e-07 rows (s_21_8_t5.S, s_21_8_t5.O) inlined P = #/publisher , S = k_q_s_21_8_t0.S , O = cast , G = #/bsbm.org time 0.52% fanout 0 input 15 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t2.O, ordering.G, ordering.O) } wait time 14% of exec real time, fanout 0.133333 QF { time 1.5% fanout 0.133333 input 15 rows RDF_QUAD_POGS unq 0.05 rows (s_21_8_t4.S) P = #/country , O = ##DE , S = q_s_21_8_t2.O , G = #/bsbm.org time 0.05% fanout 0 input 2 rows qf select node output: (qf_set_no) } wait time 13% of exec real time, fanout 1 QF { time 1.6% fanout 1 input 2 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t1.O) inlined P = #/price , S = q_s_21_8_t0.S G = #/bsbm.org time 0.12% fanout 0 input 2 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t1.O) } wait time 8.4% of exec real time, fanout 1 QF { time 1.6% fanout 1 input 2 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t3.O) inlined P = ##label , S = q_s_21_8_t2.O G = #/bsbm.org time 0.12% fanout 0 input 2 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t3.O) } time 0.079% fanout 0 input 2 rows Precode: 0: offer := := artm s_21_8_t0.S 4: price := := artm s_21_8_t1.O 8: vendor := := artm s_21_8_t2.O 12: vendorTitle := := artm s_21_8_t3.O 16: BReturn 0 Subquery Select(offer, price, vendor, vendorTitle) } time 0.054% fanout 1 input 2 rows end of outer} set_ctr out: (offer, vendorTitle, vendor, price, set_no) shadow: (offer, vendorTitle, vendor, price, ) wait time 1.1e+02% of exec real time, fanout 23 QF { time 0.74% fanout 1 input 2 rows RDF_QUAD 1 rows(ordering.G, s_31_21_t18.O) inlined P = ##label , S = #/Product13216117 G = #/bsbm.org time 0.055% fanout 1 input 2 rows outer { Subquery 156 { wait time 0% of exec real time, fanout 23 QF { time 0.85% fanout 23 input 2 rows RDF_QUAD_POGS 23 rows(ordering.G, t19.S) P = #/reviewFor , O = #/Product13216117 G = #/bsbm.org time 0.057% fanout 1 input 46 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.083% fanout 0 input 46 rows qf select node output: (qf_set_no, ordering.G, t19.S) } wait time 0% of exec real time, fanout 1 QF { time 11% fanout 1 input 46 rows RDF_QUAD 1 rows(ordering.G, t20.S, t20.O) inlined P = ##reviewer , S = q_t19.S G = #/bsbm.org time 8.1% fanout 1 input 46 rows RDF_QUAD 1.1 rows(ordering.G, t22.S, t22.O) inlined P = #/title , S = k_t20.S G = #/bsbm.org time 1.9% fanout 1 input 46 rows outer { time 6.9% fanout 0.782609 input 46 rows RDF_QUAD 1.1 rows(ordering.G, t23.O) inlined P = #/rating1 , S = k_t22.S G = #/bsbm.org time 0.46% fanout 1.11111 input 36 rows end of outer} set_ctr out: (ordering.G, t23.O) shadow: (ordering.G, t23.O) time 0.83% fanout 1 input 46 rows outer { time 6.5% fanout 0.695652 input 46 rows RDF_QUAD 1.1 rows(ordering.G, t25.O) inlined P = #/rating2 , S = k_t22.S G = #/bsbm.org time 0.43% fanout 1.25 input 32 rows end of outer} set_ctr out: (t25.O, ordering.G) shadow: (t25.O, ordering.G) time 1.2% fanout 0 input 46 rows qf select node output: (qf_set_no, ordering.G, t25.O, ordering.G, t23.O, ordering.G, t22.S, t22.O, ordering.G, t20.O) } wait time 0% of exec real time, fanout 1 QF { time 9.3% fanout 1 input 46 rows RDF_QUAD 1.2 rows(ordering.G, t21.O, t21.S) inlined P = #/name , S = q_t20.O G = #/bsbm.org time 0.5% fanout 0 input 46 rows qf select node output: (qf_set_no, ordering.G, t21.O, t21.S) } time 0.12% fanout 0 input 46 rows Precode: 0: review := := artm t22.S 4: revName := := artm t21.O 8: reviewer := := artm t21.S 12: revTitle := := artm t22.O 16: rating1 := := artm t23.O 20: rating2 := := artm t25.O 24: BReturn 0 Subquery Select(review, revName, reviewer, revTitle, rating1, rating2) } time 0.15% fanout 1 input 46 rows end of outer} set_ctr out: (reviewer, revTitle, rating1, set_no, revName, rating2, review) shadow: (reviewer, revTitle, rating1, , revName, rating2, review) time 0.25% fanout 0 input 46 rows qf select node output: (qf_set_no, rating2, rating1, revTitle, reviewer, revName, review, ordering.G, s_31_21_t18.O) } time 18% fanout 0 input 46 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 revName -> __RO2SQ -> revName reviewer -> __ID2In -> reviewer revTitle -> __RO2SQ -> revTitle review -> __ID2In -> review vendorTitle -> __RO2SQ -> vendorTitle vendor -> __ID2In -> vendor price -> __RO2SQ -> price offer -> __ID2In -> offer s_31_21_t18.O -> __RO2SQ -> productLabel } 2: BReturn 0 Select (productLabel, offer, price, vendor, vendorTitle, review, revTitle, reviewer, revName, rating1, rating2) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rdf: PREFIX bsbm: SELECT DISTINCT ?product ?productLabel WHERE { ?product rdfs:label ?productLabel . FILTER ( != ?product) bsbm:productFeature ?prodFeature . ?product bsbm:productFeature ?prodFeature . bsbm:productPropertyNumeric1 ?origProperty1 . ?product bsbm:productPropertyNumeric1 ?simProperty1 . FILTER (?simProperty1 < (?origProperty1 + 120) && ?simProperty1 > (?origProperty1 - 120)) bsbm:productPropertyNumeric2 ?origProperty2 . ?product bsbm:productPropertyNumeric2 ?simProperty2 . FILTER (?simProperty2 < (?origProperty2 + 170) && ?simProperty2 > (?origProperty2 - 170)) } ORDER BY ?productLabel LIMIT 5 } ; { time 6.1e-05% fanout 1 input 1 rows Subquery 27 { time 0.0001% fanout 1 input 1 rows { fork wait time 0.26% of exec real time, fanout 16791 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.0014% fanout 1 input 1 rows RDF_QUAD 0.97 rows(s_21_7_t5.O) inlined P = #/productPropertyNumeric2 , S = #/Product16126285 G = #/bsbm.org time 0.00013% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 13 else 4 unkn 13 4: if ( 0 = 1 ) then 13 else 8 unkn 13 8: if ( 0 = 1 ) then 13 else 12 unkn 13 12: BReturn 1 13: BReturn 0 time 0.0021% fanout 1 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t5.O -> __RO2SQ -> __ro2sq } 2: temp := artm __ro2sq + 170 6: temp := artm __ro2sq - 170 10: BReturn 0 RDF_QUAD 1 rows(s_21_7_t3.O) inlined P = #/productPropertyNumeric1 , S = #/Product16126285 G = #/bsbm.org time 0.0016% fanout 14 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t3.O -> __RO2SQ -> __ro2sq } 2: temp := artm __ro2sq + 120 6: temp := artm __ro2sq - 120 10: BReturn 0 RDF_QUAD 14 rows(s_21_7_t1.O) inlined P = #/productFeature , S = #/Product16126285 G = #/bsbm.org time 0.005% fanout 0.357143 input 14 rows Stage 2 time 1.1% fanout 76748.5 input 14 rows RDF_QUAD_POGS 8.2e+02 rows(s_21_7_t2.S) P = #/productFeature , O = q_s_21_7_t1.O G = #/bsbm.org time 9.1% fanout 0.333945 input 1.07448e+06 rows Stage 3 time 70% fanout 0.11023 input 1.07448e+06 rows RDF_QUAD 0.31 rows(s_21_7_t4.S) inlined P = #/productPropertyNumeric1 , S = q_s_21_7_t2.S , O > q_q_temp < q_q_temp O > q_q_temp < q_q_temp , G = #/bsbm.org time 13% fanout 0.141886 input 118440 rows RDF_QUAD 0.25 rows(s_21_7_t6.S) inlined P = #/productPropertyNumeric2 , S = k_q_s_21_7_t2.S , O > k_q_q_temp < k_q_q_temp O > k_q_q_temp < k_q_q_temp , G = #/bsbm.org time 3.4% fanout 1 input 16805 rows RDF_QUAD 1 rows(s_21_7_t0.S, s_21_7_t0.O) inlined P = ##label , S = k_q_s_21_7_t2.S G = #/bsbm.org time 2.3% fanout 0.999167 input 16805 rows END Node After test: 0: if (s_21_7_t0.S = #/Product16126285 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t0.S -> __ID2In -> __id2in } 2: BReturn 0 time 0.15% fanout 0 input 16791 rows qf select node output: (qf_set_no, __id2in, s_21_7_t0.S, s_21_7_t0.O) } time 0.26% fanout 0.913406 input 16791 rows Distinct (__id2in, s_21_7_t0.O) time 1.1% fanout 0 input 15337 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_21_7_t0.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_21_7_t0.S, __id2in) } time 0.00067% fanout 5 input 1 rows top order by read (s_21_7_t0.S, __ro2sq, __id2in) After code: 0: product := := artm __id2in 4: productLabel := := artm __ro2sq 8: BReturn 0 time 2.8e-05% fanout 0 input 5 rows Subquery Select(product, productLabel) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe productLabel -> __RO2SQ -> productLabel product -> __RO2SQ -> product } 2: BReturn 0 time 5.4e-05% fanout 0 input 5 rows Select (product, productLabel) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX dc: SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } OPTIONAL { ?review bsbm:reviewFor . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } } ; { time 0.03% fanout 1 input 1 rows wait time 0% of exec real time, fanout 13 QF { time 0.85% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_31_21_t18.O) inlined P = ##label , S = #/Product16456388 G = #/bsbm.org time 0.034% fanout 1 input 1 rows outer { Subquery 35 { wait time 0% of exec real time, fanout 36 QF { time 0.82% fanout 36 input 1 rows RDF_QUAD_POGS 36 rows(ordering.G, s_21_8_t0.S) P = #/product , O = #/Product16456388 G = #/bsbm.org time 0.086% fanout 1 input 36 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.072% fanout 0 input 36 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t0.S) } wait time 0% of exec real time, fanout 0.444444 QF { time 27% fanout 0.444444 input 36 rows RDF_QUAD 0.59 rows(ordering.G, ordering.O, s_21_8_t6.S) P = #/validTo , S = q_s_21_8_t0.S , O > O > , G = #/bsbm.org time 6.9% fanout 1 input 16 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t2.S, s_21_8_t2.O) inlined P = #/vendor , S = k_q_s_21_8_t0.S G = #/bsbm.org time 7.6% fanout 1 input 16 rows RDF_QUAD unq 5.8e-07 rows (s_21_8_t5.S, s_21_8_t5.O) inlined P = #/publisher , S = k_q_s_21_8_t0.S , O = cast , G = #/bsbm.org time 0.55% fanout 0 input 16 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t2.O, ordering.G, ordering.O) } wait time 0% of exec real time, fanout 0.0625 QF { time 1.8% fanout 0.0625 input 16 rows RDF_QUAD_POGS unq 0.05 rows (s_21_8_t4.S) P = #/country , O = ##DE , S = q_s_21_8_t2.O , G = #/bsbm.org time 0.045% fanout 0 input 1 rows qf select node output: (qf_set_no) } wait time 0% of exec real time, fanout 1 QF { time 0.76% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t1.O) inlined P = #/price , S = q_s_21_8_t0.S G = #/bsbm.org time 0.068% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t1.O) } wait time 0% of exec real time, fanout 1 QF { time 0.61% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t3.O) inlined P = ##label , S = q_s_21_8_t2.O G = #/bsbm.org time 0.047% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t3.O) } time 0.058% fanout 0 input 1 rows Precode: 0: offer := := artm s_21_8_t0.S 4: price := := artm s_21_8_t1.O 8: vendor := := artm s_21_8_t2.O 12: vendorTitle := := artm s_21_8_t3.O 16: BReturn 0 Subquery Select(offer, price, vendor, vendorTitle) } time 0.051% fanout 1 input 1 rows end of outer} set_ctr out: (set_no, price, vendorTitle, offer, vendor) shadow: ( , price, vendorTitle, offer, vendor) time 0.032% fanout 1 input 1 rows outer { Subquery 155 { wait time 0% of exec real time, fanout 13 QF { time 0.62% fanout 13 input 1 rows RDF_QUAD_POGS 13 rows(ordering.G, t19.S) P = #/reviewFor , O = #/Product16456388 G = #/bsbm.org time 0.043% fanout 1 input 13 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.055% fanout 0 input 13 rows qf select node output: (qf_set_no, ordering.G, t19.S) } wait time 0% of exec real time, fanout 1 QF { time 11% fanout 1 input 13 rows RDF_QUAD 1 rows(ordering.G, t20.S, t20.O) inlined P = ##reviewer , S = q_t19.S G = #/bsbm.org time 4.7% fanout 1 input 13 rows RDF_QUAD 1.1 rows(ordering.G, t22.S, t22.O) inlined P = #/title , S = k_t20.S G = #/bsbm.org time 2.7% fanout 1 input 13 rows outer { time 4% fanout 0.615385 input 13 rows RDF_QUAD 1.1 rows(ordering.G, t23.O) inlined P = #/rating1 , S = k_t22.S G = #/bsbm.org time 0.24% fanout 1.25 input 8 rows end of outer} set_ctr out: (t23.O, ordering.G) shadow: (t23.O, ordering.G) time 0.63% fanout 1 input 13 rows outer { time 3.7% fanout 0.538462 input 13 rows RDF_QUAD 1.1 rows(ordering.G, t25.O) inlined P = #/rating2 , S = k_t22.S G = #/bsbm.org time 0.24% fanout 1.42857 input 7 rows end of outer} set_ctr out: (ordering.G, t25.O) shadow: (ordering.G, t25.O) time 0.78% fanout 0 input 13 rows qf select node output: (qf_set_no, ordering.G, t25.O, ordering.G, t23.O, ordering.G, t22.S, t22.O, ordering.G, t20.O) } wait time 0% of exec real time, fanout 1 QF { time 7.8% fanout 1 input 13 rows RDF_QUAD 1.2 rows(ordering.G, t21.O, t21.S) inlined P = #/name , S = q_t20.O G = #/bsbm.org time 0.42% fanout 0 input 13 rows qf select node output: (qf_set_no, ordering.G, t21.O, t21.S) } time 0.098% fanout 0 input 13 rows Precode: 0: review := := artm t22.S 4: revName := := artm t21.O 8: reviewer := := artm t21.S 12: revTitle := := artm t22.O 16: rating1 := := artm t23.O 20: rating2 := := artm t25.O 24: BReturn 0 Subquery Select(review, revName, reviewer, revTitle, rating1, rating2) } time 0.095% fanout 1 input 13 rows end of outer} set_ctr out: (review, rating2, rating1, revName, revTitle, set_no, reviewer) shadow: (review, rating2, rating1, revName, revTitle, , reviewer) time 0.22% fanout 0 input 13 rows qf select node output: (qf_set_no, rating2, rating1, revTitle, reviewer, revName, review, vendorTitle, vendor, price, offer, ordering.G, s_31_21_t18.O) } time 15% fanout 0 input 13 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 revName -> __RO2SQ -> revName reviewer -> __ID2In -> reviewer revTitle -> __RO2SQ -> revTitle review -> __ID2In -> review vendorTitle -> __RO2SQ -> vendorTitle vendor -> __ID2In -> vendor price -> __RO2SQ -> price offer -> __ID2In -> offer s_31_21_t18.O -> __RO2SQ -> productLabel } 2: BReturn 0 Select (productLabel, offer, price, vendor, vendorTitle, review, revTitle, reviewer, revName, rating1, rating2) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX dc: SELECT ?productLabel ?offer ?price ?vendor ?vendorTitle ?review ?revTitle ?reviewer ?revName ?rating1 ?rating2 WHERE { rdfs:label ?productLabel . OPTIONAL { ?offer bsbm:product . ?offer bsbm:price ?price . ?offer bsbm:vendor ?vendor . ?vendor rdfs:label ?vendorTitle . ?vendor bsbm:country . ?offer dc:publisher ?vendor . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } OPTIONAL { ?review bsbm:reviewFor . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?revName . ?review dc:title ?revTitle . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } } } } ; { time 0.029% fanout 1 input 1 rows wait time 0% of exec real time, fanout 16 QF { time 0.85% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_31_21_t18.O) inlined P = ##label , S = #/Product8699946 G = #/bsbm.org time 0.054% fanout 1 input 1 rows outer { Subquery 35 { wait time 0% of exec real time, fanout 28 QF { time 0.97% fanout 28 input 1 rows RDF_QUAD_POGS 28 rows(ordering.G, s_21_8_t0.S) P = #/product , O = #/Product8699946 G = #/bsbm.org time 0.073% fanout 1 input 28 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.11% fanout 0 input 28 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t0.S) } wait time 0% of exec real time, fanout 0.5 QF { time 17% fanout 0.5 input 28 rows RDF_QUAD 0.59 rows(ordering.G, ordering.O, s_21_8_t6.S) P = #/validTo , S = q_s_21_8_t0.S , O > O > , G = #/bsbm.org time 6.6% fanout 1 input 14 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t2.S, s_21_8_t2.O) inlined P = #/vendor , S = k_q_s_21_8_t0.S G = #/bsbm.org time 7.3% fanout 1 input 14 rows RDF_QUAD unq 5.8e-07 rows (s_21_8_t5.S, s_21_8_t5.O) inlined P = #/publisher , S = k_q_s_21_8_t0.S , O = cast , G = #/bsbm.org time 0.63% fanout 0 input 14 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t2.O, ordering.G, ordering.O) } wait time 0% of exec real time, fanout 0.0714286 QF { time 1.8% fanout 0.0714286 input 14 rows RDF_QUAD_POGS unq 0.05 rows (s_21_8_t4.S) P = #/country , O = ##DE , S = q_s_21_8_t2.O , G = #/bsbm.org time 0.062% fanout 0 input 1 rows qf select node output: (qf_set_no) } wait time 0% of exec real time, fanout 1 QF { time 1.2% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t1.O) inlined P = #/price , S = q_s_21_8_t0.S G = #/bsbm.org time 0.075% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t1.O) } wait time 0% of exec real time, fanout 1 QF { time 0.89% fanout 1 input 1 rows RDF_QUAD 1 rows(ordering.G, s_21_8_t3.O) inlined P = ##label , S = q_s_21_8_t2.O G = #/bsbm.org time 0.075% fanout 0 input 1 rows qf select node output: (qf_set_no, ordering.G, s_21_8_t3.O) } time 0.098% fanout 0 input 1 rows Precode: 0: offer := := artm s_21_8_t0.S 4: price := := artm s_21_8_t1.O 8: vendor := := artm s_21_8_t2.O 12: vendorTitle := := artm s_21_8_t3.O 16: BReturn 0 Subquery Select(offer, price, vendor, vendorTitle) } time 0.07% fanout 1 input 1 rows end of outer} set_ctr out: (set_no, vendor, price, vendorTitle, offer) shadow: ( , vendor, price, vendorTitle, offer) time 0.049% fanout 1 input 1 rows outer { Subquery 155 { wait time 0% of exec real time, fanout 16 QF { time 1% fanout 16 input 1 rows RDF_QUAD_POGS 16 rows(ordering.G, t19.S) P = #/reviewFor , O = #/Product8699946 G = #/bsbm.org time 0.057% fanout 1 input 16 rows END Node After test: 0: if ( 0 = 1 ) then 5 else 4 unkn 5 4: BReturn 1 5: BReturn 0 time 0.087% fanout 0 input 16 rows qf select node output: (qf_set_no, ordering.G, t19.S) } wait time 0% of exec real time, fanout 1 QF { time 9.3% fanout 1 input 16 rows RDF_QUAD 1 rows(ordering.G, t20.S, t20.O) inlined P = ##reviewer , S = q_t19.S G = #/bsbm.org time 7.2% fanout 1 input 16 rows RDF_QUAD 1.1 rows(ordering.G, t22.S, t22.O) inlined P = #/title , S = k_t20.S G = #/bsbm.org time 2.9% fanout 1 input 16 rows outer { time 5.9% fanout 0.75 input 16 rows RDF_QUAD 1.1 rows(ordering.G, t23.O) inlined P = #/rating1 , S = k_t22.S G = #/bsbm.org time 0.61% fanout 1.08333 input 12 rows end of outer} set_ctr out: (t23.O, ordering.G) shadow: (t23.O, ordering.G) time 0.81% fanout 1 input 16 rows outer { time 6% fanout 0.8125 input 16 rows RDF_QUAD 1.1 rows(ordering.G, t25.O) inlined P = #/rating2 , S = k_t22.S G = #/bsbm.org time 0.44% fanout 1 input 13 rows end of outer} set_ctr out: (ordering.G, t25.O) shadow: (ordering.G, t25.O) time 1.1% fanout 0 input 16 rows qf select node output: (qf_set_no, ordering.G, t25.O, ordering.G, t23.O, ordering.G, t22.S, t22.O, ordering.G, t20.O) } wait time 0% of exec real time, fanout 1 QF { time 9.4% fanout 1 input 16 rows RDF_QUAD 1.2 rows(ordering.G, t21.O, t21.S) inlined P = #/name , S = q_t20.O G = #/bsbm.org time 0.53% fanout 0 input 16 rows qf select node output: (qf_set_no, ordering.G, t21.O, t21.S) } time 0.13% fanout 0 input 16 rows Precode: 0: review := := artm t22.S 4: revName := := artm t21.O 8: reviewer := := artm t21.S 12: revTitle := := artm t22.O 16: rating1 := := artm t23.O 20: rating2 := := artm t25.O 24: BReturn 0 Subquery Select(review, revName, reviewer, revTitle, rating1, rating2) } time 0.1% fanout 1 input 16 rows end of outer} set_ctr out: (rating1, rating2, review, revName, reviewer, set_no, revTitle) shadow: (rating1, rating2, review, revName, reviewer, , revTitle) time 0.31% fanout 0 input 16 rows qf select node output: (qf_set_no, rating2, rating1, revTitle, reviewer, revName, review, vendorTitle, vendor, price, offer, ordering.G, s_31_21_t18.O) } time 16% fanout 0 input 16 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 revName -> __RO2SQ -> revName reviewer -> __ID2In -> reviewer revTitle -> __RO2SQ -> revTitle review -> __ID2In -> review vendorTitle -> __RO2SQ -> vendorTitle vendor -> __ID2In -> vendor price -> __RO2SQ -> price offer -> __ID2In -> offer s_31_21_t18.O -> __RO2SQ -> productLabel } 2: BReturn 0 Select (productLabel, offer, price, vendor, vendorTitle, review, revTitle, reviewer, revName, rating1, rating2) } sparql {define input:default-graph-uri PREFIX bsbm: PREFIX dc: PREFIX rev: PREFIX foaf: SELECT ?title ?text ?reviewDate ?reviewer ?reviewerName ?rating1 ?rating2 ?rating3 ?rating4 WHERE { ?review bsbm:reviewFor . ?review dc:title ?title . ?review rev:text ?text . FILTER langMatches( lang(?text), "EN" ) ?review bsbm:reviewDate ?reviewDate . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?reviewerName . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } OPTIONAL { ?review bsbm:rating3 ?rating3 . } OPTIONAL { ?review bsbm:rating4 ?rating4 . } } ORDER BY DESC(?reviewDate) LIMIT 20 } ; { time 0.035% fanout 1 input 1 rows Subquery 27 { time 0.97% fanout 1 input 1 rows { fork wait time 63% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.9% fanout 6 input 1 rows RDF_QUAD_POGS 6 rows(t3.S) P = #/reviewFor , O = #/Product26998942 G = #/bsbm.org time 2.7% fanout 0.333333 input 6 rows Stage 2 time 4.2% fanout 1 input 6 rows RDF_QUAD 0.99 rows(t5.O, t5.S) inlined P = ##text , S = q_t3.S G = #/bsbm.org time 47% fanout 0.5 input 6 rows END Node After test: 0: QNode { time 0% fanout 0 input 0 rows dpipe t5.O -> __RO2SQ -> __ro2sq } 2: DB.DBA.RDF_LANGUAGE_OF_OBJ := Call DB.DBA.RDF_LANGUAGE_OF_OBJ (__ro2sq) 9: DB.DBA.RDF_LANGMATCHES := Call DB.DBA.RDF_LANGMATCHES (DB.DBA.RDF_LANGUAGE_OF_OBJ, ) 16: if ( 0 = DB.DBA.RDF_LANGMATCHES) then 21 else 20 unkn 21 20: BReturn 1 21: BReturn 0 time 2.2% fanout 1 input 3 rows RDF_QUAD 1 rows(t6.S, t6.O) inlined P = #/reviewDate , S = k_q_t3.S G = #/bsbm.org time 2.4% fanout 1 input 3 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t6.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 RDF_QUAD 1.1 rows(t4.S, t4.O) inlined P = #/title , S = k_q_t3.S G = #/bsbm.org time 1.5% fanout 1 input 3 rows RDF_QUAD 1 rows(t7.O) inlined P = ##reviewer , S = k_q_t3.S G = #/bsbm.org time 4.5% fanout 1 input 3 rows outer { time 1.1% fanout 0.333333 input 3 rows RDF_QUAD 1.1 rows(t10.O) inlined P = #/rating1 , S = k_q_t3.S G = #/bsbm.org time 0.045% fanout 1 input 1 rows end of outer} set_ctr out: (t10.O) shadow: (t10.O) time 0.097% fanout 1 input 3 rows outer { time 1.2% fanout 1 input 3 rows RDF_QUAD 1.1 rows(t12.O) inlined P = #/rating2 , S = k_q_t3.S G = #/bsbm.org time 0.12% fanout 1 input 3 rows end of outer} set_ctr out: (t12.O) shadow: (t12.O) time 1.5% fanout 1 input 3 rows outer { time 1.2% fanout 0.666667 input 3 rows RDF_QUAD 1.2 rows(t16.O) inlined P = #/rating4 , S = k_q_t3.S G = #/bsbm.org time 0.077% fanout 1 input 2 rows end of outer} set_ctr out: (t16.O) shadow: (t16.O) time 0.099% fanout 1 input 3 rows outer { time 1.2% fanout 1 input 3 rows RDF_QUAD 1.2 rows(t14.O) inlined P = #/rating3 , S = k_q_t3.S G = #/bsbm.org time 0.12% fanout 1 input 3 rows end of outer} set_ctr out: (t14.O) shadow: (t14.O) time 2.9% fanout 0.333333 input 3 rows Stage 3 time 1.8% fanout 1 input 3 rows RDF_QUAD 1.2 rows(t8.O) inlined P = #/name , S = q_t7.O G = #/bsbm.org time 0.67% fanout 0 input 3 rows Sort (__ro2sq) -> (t4.O, t5.O, t7.O, t8.O, t10.O, t12.O, t14.O, t16.O) time 0.015% fanout 0 input 0 rows ssa iterator time 0.72% fanout 1.5 input 2 rows top order by read (t4.O, t5.O, __ro2sq, q_t7.O, t8.O, t10.O, t12.O, t14.O, t16.O) time 0.19% fanout 0 input 3 rows qf select node output: (t8.O, t14.O, t16.O, t12.O, t10.O, q_t7.O, t4.O, __ro2sq, t5.O, set_no) } } time 20% fanout 3 input 1 rows cl fref read output: (t8.O, t14.O, t16.O, t12.O, t10.O, t7.O, t4.O, __ro2sq, t5.O, set_no) order: 9 7 desc After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe t16.O -> __RO2SQ -> __ro2sq t14.O -> __RO2SQ -> __ro2sq t12.O -> __RO2SQ -> __ro2sq t10.O -> __RO2SQ -> __ro2sq t8.O -> __RO2SQ -> __ro2sq t7.O -> __ID2In -> __id2in t5.O -> __RO2SQ -> __ro2sq t4.O -> __RO2SQ -> __ro2sq } 2: reviewDate := := artm __ro2sq 6: title := := artm __ro2sq 10: text := := artm __ro2sq 14: reviewer := := artm __id2in 18: reviewerName := := artm __ro2sq 22: rating1 := := artm __ro2sq 26: rating2 := := artm __ro2sq 30: rating3 := := artm __ro2sq 34: rating4 := := artm __ro2sq 38: BReturn 0 time 0.013% fanout 0 input 3 rows Subquery Select(title, text, reviewDate, reviewer, reviewerName, rating1, rating2, rating3, rating4) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating4 -> __RO2SQ -> rating4 rating3 -> __RO2SQ -> rating3 rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 reviewerName -> __RO2SQ -> reviewerName reviewer -> __RO2SQ -> reviewer reviewDate -> __RO2SQ -> reviewDate text -> __RO2SQ -> text title -> __RO2SQ -> title } 2: BReturn 0 time 0.014% fanout 0 input 3 rows Select (title, text, reviewDate, reviewer, reviewerName, rating1, rating2, rating3, rating4) } sparql {define input:default-graph-uri PREFIX rev: DESCRIBE ?x WHERE { rev:reviewer ?x } } ; { time 0.083% fanout 1 input 1 rows time 0.36% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector () 5: $29 "vector" := Call vector ( #/bsbm.org ) 10: $31 "vector" := Call vector (, 106 ) 15: BReturn 0 { fork wait time 15% of exec real time, fanout 1 QF { time 2.5% fanout 1 input 1 rows RDF_QUAD 1 rows(s_6_1_t0.O) inlined P = ##reviewer , S = #/Review281265890 G = #/bsbm.org time 0.19% fanout 0 input 1 rows qf select node output: (qf_set_no, s_6_1_t0.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_6_1_t0.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo) 7: if ($47 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $47 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_INIT ($48 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_ACC ($48 "user_aggr_env", vector) 29: BReturn 0 } time 97% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: DB.DBA.SPARQL_DESC_AGG_FIN := Call DB.DBA.SPARQL_DESC_AGG_FIN ($48 "user_aggr_env") 7: callret-0 := Call DB.DBA.SPARQL_DESC_DICT (DB.DBA.SPARQL_DESC_AGG_FIN, $27 "vector", $29 "vector", , , $31 "vector") 14: BReturn 0 time 0.036% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX rev: DESCRIBE ?x WHERE { rev:reviewer ?x } } ; { time 0.09% fanout 1 input 1 rows time 0.21% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector () 5: $29 "vector" := Call vector ( #/bsbm.org ) 10: $31 "vector" := Call vector (, 106 ) 15: BReturn 0 { fork wait time 7.5% of exec real time, fanout 1 QF { time 2.3% fanout 1 input 1 rows RDF_QUAD 1 rows(s_6_1_t0.O) inlined P = ##reviewer , S = #/Review23000876 G = #/bsbm.org time 0.18% fanout 0 input 1 rows qf select node output: (qf_set_no, s_6_1_t0.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_6_1_t0.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo) 7: if ($47 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $47 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_INIT ($48 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_ACC ($48 "user_aggr_env", vector) 29: BReturn 0 } time 97% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: DB.DBA.SPARQL_DESC_AGG_FIN := Call DB.DBA.SPARQL_DESC_AGG_FIN ($48 "user_aggr_env") 7: callret-0 := Call DB.DBA.SPARQL_DESC_DICT (DB.DBA.SPARQL_DESC_AGG_FIN, $27 "vector", $29 "vector", , , $31 "vector") 14: BReturn 0 time 0.043% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX bsbm: PREFIX dc: PREFIX rev: PREFIX foaf: SELECT ?title ?text ?reviewDate ?reviewer ?reviewerName ?rating1 ?rating2 ?rating3 ?rating4 WHERE { ?review bsbm:reviewFor . ?review dc:title ?title . ?review rev:text ?text . FILTER langMatches( lang(?text), "EN" ) ?review bsbm:reviewDate ?reviewDate . ?review rev:reviewer ?reviewer . ?reviewer foaf:name ?reviewerName . OPTIONAL { ?review bsbm:rating1 ?rating1 . } OPTIONAL { ?review bsbm:rating2 ?rating2 . } OPTIONAL { ?review bsbm:rating3 ?rating3 . } OPTIONAL { ?review bsbm:rating4 ?rating4 . } } ORDER BY DESC(?reviewDate) LIMIT 20 } ; { time 0.023% fanout 1 input 1 rows Subquery 27 { time 0.97% fanout 1 input 1 rows { fork wait time 36% of exec real time, fanout 0 QF { time 0% fanout 0 input 0 rows Stage 1 time 0.79% fanout 10 input 1 rows RDF_QUAD_POGS 10 rows(t3.S) P = #/reviewFor , O = #/Product9833118 G = #/bsbm.org time 3.2% fanout 0.6 input 10 rows Stage 2 time 5% fanout 1 input 10 rows RDF_QUAD 0.99 rows(t5.O, t5.S) inlined P = ##text , S = q_t3.S G = #/bsbm.org time 50% fanout 0.4 input 10 rows END Node After test: 0: QNode { time 0% fanout 0 input 0 rows dpipe t5.O -> __RO2SQ -> __ro2sq } 2: DB.DBA.RDF_LANGUAGE_OF_OBJ := Call DB.DBA.RDF_LANGUAGE_OF_OBJ (__ro2sq) 9: DB.DBA.RDF_LANGMATCHES := Call DB.DBA.RDF_LANGMATCHES (DB.DBA.RDF_LANGUAGE_OF_OBJ, ) 16: if ( 0 = DB.DBA.RDF_LANGMATCHES) then 21 else 20 unkn 21 20: BReturn 1 21: BReturn 0 time 2.7% fanout 1 input 4 rows RDF_QUAD 1 rows(t6.S, t6.O) inlined P = #/reviewDate , S = k_q_t3.S G = #/bsbm.org time 2.6% fanout 1 input 4 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe t6.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 RDF_QUAD 1.1 rows(t4.S, t4.O) inlined P = #/title , S = k_q_t3.S G = #/bsbm.org time 1.7% fanout 1 input 4 rows RDF_QUAD 1 rows(t7.O) inlined P = ##reviewer , S = k_q_t3.S G = #/bsbm.org time 2.3% fanout 1 input 4 rows outer { time 1.2% fanout 0.75 input 4 rows RDF_QUAD 1.1 rows(t10.O) inlined P = #/rating1 , S = k_q_t3.S G = #/bsbm.org time 0.1% fanout 1 input 3 rows end of outer} set_ctr out: (t10.O) shadow: (t10.O) time 0.11% fanout 1 input 4 rows outer { time 1.3% fanout 1 input 4 rows RDF_QUAD 1.1 rows(t12.O) inlined P = #/rating2 , S = k_q_t3.S G = #/bsbm.org time 0.12% fanout 1 input 4 rows end of outer} set_ctr out: (t12.O) shadow: (t12.O) time 1.3% fanout 1 input 4 rows outer { time 1.5% fanout 0.75 input 4 rows RDF_QUAD 1.2 rows(t16.O) inlined P = #/rating4 , S = k_q_t3.S G = #/bsbm.org time 0.075% fanout 1 input 3 rows end of outer} set_ctr out: (t16.O) shadow: (t16.O) time 0.096% fanout 1 input 4 rows outer { time 1.5% fanout 1 input 4 rows RDF_QUAD 1.2 rows(t14.O) inlined P = #/rating3 , S = k_q_t3.S G = #/bsbm.org time 0.12% fanout 1 input 4 rows end of outer} set_ctr out: (t14.O) shadow: (t14.O) time 3.2% fanout 0.5 input 4 rows Stage 3 time 2.1% fanout 1 input 4 rows RDF_QUAD 1.2 rows(t8.O) inlined P = #/name , S = q_t7.O G = #/bsbm.org time 0.74% fanout 0 input 4 rows Sort (__ro2sq) -> (t4.O, t5.O, t7.O, t8.O, t10.O, t12.O, t14.O, t16.O) time 0.014% fanout 0 input 0 rows ssa iterator time 0.9% fanout 1 input 4 rows top order by read (t4.O, t5.O, __ro2sq, q_t7.O, t8.O, t10.O, t12.O, t14.O, t16.O) time 0.31% fanout 0 input 4 rows qf select node output: (t8.O, t14.O, t16.O, t12.O, t10.O, q_t7.O, t4.O, __ro2sq, t5.O, set_no) } } time 16% fanout 4 input 1 rows cl fref read output: (t8.O, t14.O, t16.O, t12.O, t10.O, t7.O, t4.O, __ro2sq, t5.O, set_no) order: 9 7 desc After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe t16.O -> __RO2SQ -> __ro2sq t14.O -> __RO2SQ -> __ro2sq t12.O -> __RO2SQ -> __ro2sq t10.O -> __RO2SQ -> __ro2sq t8.O -> __RO2SQ -> __ro2sq t7.O -> __ID2In -> __id2in t5.O -> __RO2SQ -> __ro2sq t4.O -> __RO2SQ -> __ro2sq } 2: reviewDate := := artm __ro2sq 6: title := := artm __ro2sq 10: text := := artm __ro2sq 14: reviewer := := artm __id2in 18: reviewerName := := artm __ro2sq 22: rating1 := := artm __ro2sq 26: rating2 := := artm __ro2sq 30: rating3 := := artm __ro2sq 34: rating4 := := artm __ro2sq 38: BReturn 0 time 0.012% fanout 0 input 4 rows Subquery Select(title, text, reviewDate, reviewer, reviewerName, rating1, rating2, rating3, rating4) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe rating4 -> __RO2SQ -> rating4 rating3 -> __RO2SQ -> rating3 rating2 -> __RO2SQ -> rating2 rating1 -> __RO2SQ -> rating1 reviewerName -> __RO2SQ -> reviewerName reviewer -> __RO2SQ -> reviewer reviewDate -> __RO2SQ -> reviewDate text -> __RO2SQ -> text title -> __RO2SQ -> title } 2: BReturn 0 time 0.0096% fanout 0 input 4 rows Select (title, text, reviewDate, reviewer, reviewerName, rating1, rating2, rating3, rating4) } sparql {define input:default-graph-uri PREFIX rev: DESCRIBE ?x WHERE { rev:reviewer ?x } } ; { time 0.1% fanout 1 input 1 rows time 0.4% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector () 5: $29 "vector" := Call vector ( #/bsbm.org ) 10: $31 "vector" := Call vector (, 106 ) 15: BReturn 0 { fork wait time 0% of exec real time, fanout 1 QF { time 2.5% fanout 1 input 1 rows RDF_QUAD 1 rows(s_6_1_t0.O) inlined P = ##reviewer , S = #/Review157599813 G = #/bsbm.org time 0.2% fanout 0 input 1 rows qf select node output: (qf_set_no, s_6_1_t0.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_6_1_t0.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo) 7: if ($47 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $47 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_INIT ($48 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_ACC ($48 "user_aggr_env", vector) 29: BReturn 0 } time 97% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: DB.DBA.SPARQL_DESC_AGG_FIN := Call DB.DBA.SPARQL_DESC_AGG_FIN ($48 "user_aggr_env") 7: callret-0 := Call DB.DBA.SPARQL_DESC_DICT (DB.DBA.SPARQL_DESC_AGG_FIN, $27 "vector", $29 "vector", , , $31 "vector") 14: BReturn 0 time 0.043% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX rev: DESCRIBE ?x WHERE { rev:reviewer ?x } } ; { time 0.091% fanout 1 input 1 rows time 0.37% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector () 5: $29 "vector" := Call vector ( #/bsbm.org ) 10: $31 "vector" := Call vector (, 106 ) 15: BReturn 0 { fork wait time 13% of exec real time, fanout 1 QF { time 3.3% fanout 1 input 1 rows RDF_QUAD 1 rows(s_6_1_t0.O) inlined P = ##reviewer , S = #/Review130629396 G = #/bsbm.org time 0.22% fanout 0 input 1 rows qf select node output: (qf_set_no, s_6_1_t0.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_6_1_t0.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo) 7: if ($47 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $47 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_INIT ($48 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_DESC_AGG_ACC ($48 "user_aggr_env", vector) 29: BReturn 0 } time 96% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: DB.DBA.SPARQL_DESC_AGG_FIN := Call DB.DBA.SPARQL_DESC_AGG_FIN ($48 "user_aggr_env") 7: callret-0 := Call DB.DBA.SPARQL_DESC_DICT (DB.DBA.SPARQL_DESC_AGG_FIN, $27 "vector", $29 "vector", , , $31 "vector") 14: BReturn 0 time 0.04% fanout 0 input 1 rows Select (callret-0) } sparql {define input:default-graph-uri PREFIX bsbm: PREFIX xsd: PREFIX dc: SELECT DISTINCT ?offer ?price WHERE { ?offer bsbm:product . ?offer bsbm:vendor ?vendor . ?offer dc:publisher ?vendor . ?vendor bsbm:country . ?offer bsbm:deliveryDays ?deliveryDays . FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } ORDER BY ?price LIMIT 10 } ; { time 0.052% fanout 1 input 1 rows Subquery 27 { time 0.046% fanout 1 input 1 rows { fork wait time 6.2% of exec real time, fanout 2 QF { time 0.31% fanout 0 input 0 rows Stage 1 time 1.7% fanout 26 input 1 rows RDF_QUAD_POGS 26 rows(s_20_7_t0.S) P = #/product , O = #/Product11184069 G = #/bsbm.org time 28% fanout 0.153846 input 26 rows Stage 2 time 21% fanout 0.461538 input 26 rows RDF_QUAD 0.49 rows(s_20_7_t4.S) P = #/deliveryDays , S = q_s_20_7_t0.S , O <= 3 O <= 3 , G = #/bsbm.org time 9.9% fanout 1 input 12 rows RDF_QUAD 1 rows(s_20_7_t1.S, s_20_7_t1.O) inlined P = #/vendor , S = k_q_s_20_7_t0.S G = #/bsbm.org time 9.7% fanout 1 input 12 rows RDF_QUAD unq 5.8e-07 rows (s_20_7_t2.O, s_20_7_t2.S) inlined P = #/publisher , S = k_q_s_20_7_t0.S , O = cast , G = #/bsbm.org time 10% fanout 0.5 input 12 rows RDF_QUAD 0.59 rows(s_20_7_t6.S) P = #/validTo , S = k_q_s_20_7_t0.S , O > O > , G = #/bsbm.org time 6% fanout 1 input 6 rows Stage 3 time 4.2% fanout 0.333333 input 6 rows RDF_QUAD_POGS unq 0.4 rows () P = #/country , O = ##US , S = q_s_20_7_t1.O , G = #/bsbm.org time 3.3% fanout 1 input 2 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_20_7_t0.S -> __ID2In -> __id2in } 2: BReturn 0 Stage 4 time 2.3% fanout 1 input 2 rows RDF_QUAD 1 rows(s_20_7_t5.O) inlined P = #/price , S = q_q_q_s_20_7_t0.S G = #/bsbm.org time 0.27% fanout 0 input 2 rows qf select node output: (qf_set_no, s_20_7_t5.O, __id2in, s_20_7_t0.S) } time 1.6% fanout 1 input 2 rows Distinct (__id2in, s_20_7_t5.O) time 0.95% fanout 0 input 2 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_20_7_t5.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_20_7_t0.S, __id2in) } time 0.19% fanout 2 input 1 rows top order by read (s_20_7_t0.S, __ro2sq, __id2in) After code: 0: offer := := artm __id2in 4: price := := artm __ro2sq 8: BReturn 0 time 0.018% fanout 0 input 2 rows Subquery Select(offer, price) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe price -> __RO2SQ -> price offer -> __RO2SQ -> offer } 2: BReturn 0 time 0.02% fanout 0 input 2 rows Select (offer, price) } sparql {define input:default-graph-uri PREFIX bsbm: PREFIX xsd: PREFIX dc: SELECT DISTINCT ?offer ?price WHERE { ?offer bsbm:product . ?offer bsbm:vendor ?vendor . ?offer dc:publisher ?vendor . ?vendor bsbm:country . ?offer bsbm:deliveryDays ?deliveryDays . FILTER (?deliveryDays <= 3) ?offer bsbm:price ?price . ?offer bsbm:validTo ?date . FILTER (?date > "2008-06-20T00:00:00"^^ ) } ORDER BY ?price LIMIT 10 } ; { time 0.081% fanout 1 input 1 rows Subquery 27 { time 0.068% fanout 1 input 1 rows { fork wait time 4% of exec real time, fanout 1 QF { time 0.49% fanout 0 input 0 rows Stage 1 time 2.4% fanout 12 input 1 rows RDF_QUAD_POGS 12 rows(s_20_7_t0.S) P = #/product , O = #/Product2819428 G = #/bsbm.org time 25% fanout 0.166667 input 12 rows Stage 2 time 17% fanout 0.5 input 12 rows RDF_QUAD 0.49 rows(s_20_7_t4.S) P = #/deliveryDays , S = q_s_20_7_t0.S , O <= 3 O <= 3 , G = #/bsbm.org time 7.5% fanout 1 input 6 rows RDF_QUAD 1 rows(s_20_7_t1.S, s_20_7_t1.O) inlined P = #/vendor , S = k_q_s_20_7_t0.S G = #/bsbm.org time 7.9% fanout 1 input 6 rows RDF_QUAD unq 5.8e-07 rows (s_20_7_t2.O, s_20_7_t2.S) inlined P = #/publisher , S = k_q_s_20_7_t0.S , O = cast , G = #/bsbm.org time 20% fanout 0.666667 input 6 rows Stage 3 time 8.7% fanout 0.166667 input 6 rows RDF_QUAD_POGS unq 0.4 rows () P = #/country , O = ##US , S = q_s_20_7_t1.O , G = #/bsbm.org time 2.5% fanout 1 input 1 rows Stage 4 time 1.7% fanout 1 input 1 rows RDF_QUAD 0.59 rows(s_20_7_t6.S) P = #/validTo , S = q_q_q_s_20_7_t0.S , O > O > , G = #/bsbm.org time 2.9% fanout 1 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_20_7_t0.S -> __ID2In -> __id2in } 2: BReturn 0 RDF_QUAD 1 rows(s_20_7_t5.O) inlined P = #/price , S = k_q_q_q_s_20_7_t0.S G = #/bsbm.org time 0.22% fanout 0 input 1 rows qf select node output: (qf_set_no, s_20_7_t5.O, __id2in, s_20_7_t0.S) } time 1.3% fanout 1 input 1 rows Distinct (__id2in, s_20_7_t5.O) time 1.5% fanout 0 input 1 rows Precode: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_20_7_t5.O -> __RO2SQ -> __ro2sq } 2: BReturn 0 Sort (__ro2sq) -> (s_20_7_t0.S, __id2in) } time 0.22% fanout 1 input 1 rows top order by read (s_20_7_t0.S, __ro2sq, __id2in) After code: 0: offer := := artm __id2in 4: price := := artm __ro2sq 8: BReturn 0 time 0.029% fanout 0 input 1 rows Subquery Select(offer, price) } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe price -> __RO2SQ -> price offer -> __RO2SQ -> offer } 2: BReturn 0 time 0.032% fanout 0 input 1 rows Select (offer, price) } sparql {define input:default-graph-uri SELECT ?property ?hasValue ?isValueOf WHERE { { ?property ?hasValue } UNION { ?isValueOf ?property } } } ; { time 0.61% fanout 1 input 1 rows Subquery 27 { Union { wait time 21% of exec real time, fanout 10 QF { time 12% fanout 10 input 1 rows RDF_QUAD_SP 10 rows(s_4_1_t0-u6.P) inlined S = #/Offer550481074 time 72% fanout 1 input 10 rows RDF_QUAD 0.35 rows(ordering.G, s_4_1_t0-u6.O) inlined P = k_s_4_1_t0-u6.P , S = #/Offer550481074 G = #/bsbm.org time 2% fanout 0 input 10 rows qf select node output: (qf_set_no, ordering.G, s_4_1_t0-u6.O, s_4_1_t0-u6.P) } time 1.2% fanout 0 input 10 rows Precode: 0: property := := artm s_4_1_t0-u6.P 4: hasValue := := artm s_4_1_t0-u6.O 8: isValueOf := := artm 12: BReturn 0 Subquery Select(property, hasValue, isValueOf) } { wait time 9.6% of exec real time, fanout 0 QF { time 12% fanout 0 input 1 rows RDF_QUAD_OP 0.19 rows(s_6_3_t1.P) inlined O = #/Offer550481074 time 0% fanout 0 input 0 rows RDF_QUAD_POGS 0.39 rows(ordering.G, s_6_3_t1.S) P = k_s_6_3_t1.P , O = #/Offer550481074 G = #/bsbm.org time 0% fanout 0 input 0 rows qf select node output: (qf_set_no, ordering.G, s_6_3_t1.S, s_6_3_t1.P) } time 0% fanout 0 input 0 rows Precode: 0: property := := artm s_6_3_t1.P 4: hasValue := := artm 8: isValueOf := := artm s_6_3_t1.S 12: BReturn 0 Subquery Select(property, hasValue, isValueOf) } } After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe isValueOf -> __ID2In -> isValueOf hasValue -> __RO2SQ -> hasValue property -> __ID2In -> property } 2: BReturn 0 time 0.24% fanout 0 input 10 rows Select (property, hasValue, isValueOf) } sparql {define input:default-graph-uri PREFIX rdfs: PREFIX rev: PREFIX foaf: PREFIX bsbm: PREFIX bsbm-export: PREFIX dc: CONSTRUCT { bsbm-export:product ?productURI . bsbm-export:productlabel ?productlabel . bsbm-export:vendor ?vendorname . bsbm-export:vendorhomepage ?vendorhomepage . bsbm-export:offerURL ?offerURL . bsbm-export:price ?price . bsbm-export:deliveryDays ?deliveryDays . bsbm-export:validuntil ?validTo } WHERE { bsbm:product ?productURI . ?productURI rdfs:label ?productlabel . bsbm:vendor ?vendorURI . ?vendorURI rdfs:label ?vendorname . ?vendorURI foaf:homepage ?vendorhomepage . bsbm:offerWebpage ?offerURL . bsbm:price ?price . bsbm:deliveryDays ?deliveryDays . bsbm:validTo ?validTo } } ; { time 0.34% fanout 1 input 1 rows time 4.1% fanout 1 input 1 rows Precode: 0: $27 "vector" := Call vector ( 3 , #/Offer448015511 , 3 , #/product , 1 , 7 ) 5: $29 "vector" := Call vector ( 3 , #/Offer448015511 , 3 , #/productlabel , 1 , 6 ) 10: $31 "vector" := Call vector ( 3 , #/Offer448015511 , 3 , #/vendor , 1 , 5 ) 15: $33 "vector" := Call vector ( 3 , #/Offer448015511 , 3 , #/vendorhomepage , 1 , 4 ) 20: $35 "vector" := Call vector ( 3 , #/Offer448015511 , 3 , #/offerURL , 1 , 3 ) 25: $37 "vector" := Call vector ( 3 , #/Offer448015511 , 3 , #/price , 1 , 2 ) 30: $39 "vector" := Call vector ( 3 , #/Offer448015511 , 3 , #/deliveryDays , 1 , 1 ) 35: $41 "vector" := Call vector ( 3 , #/Offer448015511 , 3 , #/validuntil , 1 , 0 ) 40: $43 "vector" := Call vector ($27 "vector", $29 "vector", $31 "vector", $33 "vector", $35 "vector", $37 "vector", $39 "vector", $41 "vector") 45: $45 "vector" := Call vector () 50: BReturn 0 { fork wait time 62% of exec real time, fanout 1 QF { time 0% fanout 0 input 0 rows Stage 1 time 11% fanout 1 input 1 rows RDF_QUAD 0.94 rows(s_26_26_t16.O) inlined P = #/validTo , S = #/Offer448015511 G = #/bsbm.org time 0.99% fanout 1 input 1 rows END Node After test: 0: if ( 0 = 1 ) then 21 else 4 unkn 21 4: if ( 0 = 1 ) then 21 else 8 unkn 21 8: if ( 0 = 1 ) then 21 else 12 unkn 21 12: if ( 0 = 1 ) then 21 else 16 unkn 21 16: if ( 0 = 1 ) then 21 else 20 unkn 21 20: BReturn 1 21: BReturn 0 time 4.9% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t15.O) inlined P = #/deliveryDays , S = #/Offer448015511 G = #/bsbm.org time 6.3% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t14.O) inlined P = #/price , S = #/Offer448015511 G = #/bsbm.org time 4.4% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t13.O) inlined P = #/offerWebpage , S = #/Offer448015511 G = #/bsbm.org time 4.5% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t10.O) inlined P = #/vendor , S = #/Offer448015511 G = #/bsbm.org time 10% fanout 0 input 1 rows Stage 2 time 8.6% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t11.S, s_26_26_t11.O) inlined P = ##label , S = q_s_26_26_t10.O G = #/bsbm.org time 5.1% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t12.O) inlined P = #/homepage , S = k_q_s_26_26_t10.O G = #/bsbm.org time 10% fanout 0 input 1 rows Stage 3 time 8.5% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t8.O) inlined P = #/product , S = #/Offer448015511 G = #/bsbm.org time 8.6% fanout 1 input 1 rows Stage 4 time 6.8% fanout 1 input 1 rows RDF_QUAD 1 rows(s_26_26_t9.O) inlined P = ##label , S = q_s_26_26_t8.O G = #/bsbm.org time 1.6% fanout 0 input 1 rows qf select node output: (qf_set_no, s_26_26_t9.O, s_26_26_t8.O, s_26_26_t12.O, s_26_26_t11.O, s_26_26_t13.O, s_26_26_t14.O, s_26_26_t15.O, s_26_26_t16.O) } END Node After code: 0: QNode { time 0% fanout 0 input 0 rows dpipe s_26_26_t9.O -> __RO2LO -> __ro2lo s_26_26_t16.O -> __RO2LO -> __ro2lo s_26_26_t15.O -> __RO2LO -> __ro2lo s_26_26_t14.O -> __RO2LO -> __ro2lo s_26_26_t13.O -> __RO2LO -> __ro2lo s_26_26_t12.O -> __RO2LO -> __ro2lo s_26_26_t11.O -> __RO2LO -> __ro2lo s_26_26_t8.O -> __RO2LO -> __ro2lo } 2: vector := Call vector (__ro2lo, __ro2lo, __ro2lo, __ro2lo, __ro2lo, __ro2lo, __ro2lo, __ro2lo) 7: if ($132 "user_aggr_notfirst" = 1 ) then 22 else 11 unkn 11 11: $132 "user_aggr_notfirst" := := artm 1 15: user_aggr_ret := Call DB.DBA.SPARQL_CONSTRUCT_INIT ($133 "user_aggr_env") 22: user_aggr_ret := Call DB.DBA.SPARQL_CONSTRUCT_ACC ($133 "user_aggr_env", $43 "vector", vector, $45 "vector", 1 ) 29: BReturn 0 } time 4% fanout 1 input 1 rows skip node 1 set_ctr After code: 0: callret-0 := Call DB.DBA.SPARQL_CONSTRUCT_FIN ($133 "user_aggr_env") 7: BReturn 0 time 0.13% fanout 0 input 1 rows Select (callret-0) } 50 Rows. -- 112 msec. SQL> SQL> SQL> SQL>