Hello, I Have one query, that gives me 10000 results (maximum for my config)
#WRONG_QUERY
PREFIX crm2: <http://sp7.ru/ontology/>PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX crm2:<http://sp7.ru/ontology/>
PREFIX sysont:<http://ns.ontowiki.net/SysOnt/>
PREFIX owconf:<http://localhost/OntoWiki/Config/>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
SELECT *
FROM <http://sp7.ru/>
WHERE {
OPTIONAL {
?gridRelatedUri crm2:logo ?logo.
?logo crm2:thumbnail ?logoThumbnail.
?logoThumbnail rdfs:label ?logoThumbnailLabel.
}
OPTIONAL {
?gridRelatedUri crm2:legalAddress ?legalAddress.
?legalAddress crm2:city ?legalAddressCity.
?legalAddressCity rdfs:label ?legalAddressCityLabel.
}
?gridRelatedUri rdfs:label ?labelFull.
OPTIONAL {
?gridRelatedUri crm2:shortName ?shortName.
?shortName rdfs:label ?shortLabel.
}
BIND(COALESCE(?shortLabel, ?labelFull) as ?label)
FILTER (?gridRelatedUri = <http://sp7.ru/ontology/eile_1097746232682_rus>)
}
The fact is that returns any available value in ?legalAddressCity without filtration by ?gridRelatedUri
But, if swap the first 2 optionals, it works great:
#RIGHT_QUERY
PREFIX crm2: <http://sp7.ru/ontology/>PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX crm2:<http://sp7.ru/ontology/>
PREFIX sysont:<http://ns.ontowiki.net/SysOnt/>
PREFIX owconf:<http://localhost/OntoWiki/Config/>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
SELECT *
FROM <http://sp7.ru/>
WHERE {
OPTIONAL {
?gridRelatedUri crm2:legalAddress ?legalAddress.
?legalAddress crm2:city ?legalAddressCity.
?legalAddressCity rdfs:label ?legalAddressCityLabel.
}
OPTIONAL {
?gridRelatedUri crm2:logo ?logo.
?logo crm2:thumbnail ?logoThumbnail.
?logoThumbnail rdfs:label ?logoThumbnailLabel.
}
?gridRelatedUri rdfs:label ?labelFull.
OPTIONAL {
?gridRelatedUri crm2:shortName ?shortName.
?shortName rdfs:label ?shortLabel.
}
BIND(COALESCE(?shortLabel, ?labelFull) as ?label)
FILTER (?gridRelatedUri = <http://sp7.ru/ontology/eile_1097746232682_rus>)
}
Now it gives only 3 results. It’s the right results, because I’ve checked relations for crm2eile_1097746232682_rus.
Why is this happening? Deep variables can lost FILTER in some cases? What cases?
If i use custom value instead filter - it works fine:
PREFIX crm2: <http://sp7.ru/ontology/>PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>
PREFIX owl:<http://www.w3.org/2002/07/owl#>
PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>
PREFIX crm2:<http://sp7.ru/ontology/>
PREFIX sysont:<http://ns.ontowiki.net/SysOnt/>
PREFIX owconf:<http://localhost/OntoWiki/Config/>
PREFIX skos:<http://www.w3.org/2004/02/skos/core#>
SELECT *
FROM <http://sp7.ru/>
WHERE {
OPTIONAL {
<http://sp7.ru/ontology/eile_1097746232682_rus> crm2:logo ?logo.
?logo crm2:thumbnail ?logoThumbnail.
?logoThumbnail rdfs:label ?logoThumbnailLabel.
}
OPTIONAL {
<http://sp7.ru/ontology/eile_1097746232682_rus> crm2:legalAddress ?legalAddress.
?legalAddress crm2:city ?legalAddressCity.
?legalAddressCity rdfs:label ?legalAddressCityLabel.
}
<http://sp7.ru/ontology/eile_1097746232682_rus> rdfs:label ?labelFull.
OPTIONAL {
<http://sp7.ru/ontology/eile_1097746232682_rus> crm2:shortName ?shortName.
?shortName rdfs:label ?shortLabel.
}
BIND(COALESCE(?shortLabel, ?labelFull) as ?label)
}
SPARQL_TRANSLATE for #WRONG_QUERY:
SELECT __bft( 'http://sp7.ru/ontology/eile_1097746232682_rus' , 1) AS "gridRelatedUri",
__id2in ( "s_30_15"."logo") AS "logo",
__id2in ( "s_30_15"."logoThumbnail") AS "logoThumbnail",
__ro2sq ( "s_30_15"."logoThumbnailLabel") AS "logoThumbnailLabel",
__id2in ( "s_30_15"."legalAddress") AS "legalAddress",
__id2in ( "s_30_15"."legalAddressCity") AS "legalAddressCity",
__ro2sq ( "s_30_15"."legalAddressCityLabel") AS "legalAddressCityLabel",
__ro2sq ( "s_30_15"."labelFull") AS "labelFull",
__id2in ( "s_30_15"."shortName") AS "shortName",
__ro2sq ( "s_30_15"."shortLabel") AS "shortLabel",
__ro2sq ( "s_30_15"."label") AS "label"
FROM (
SELECT "s_30_14_t9"."S" AS "gridRelatedUri",
"s_30_13"."logo" AS "logo",
"s_30_13"."logoThumbnail" AS "logoThumbnail",
"s_30_13"."logoThumbnailLabel" AS "logoThumbnailLabel",
"s_23_7"."legalAddress" AS "legalAddress",
"s_23_7"."legalAddressCity" AS "legalAddressCity",
"s_23_7"."legalAddressCityLabel" AS "legalAddressCityLabel",
"s_30_14_t9"."O" AS "labelFull",
"s_28_11"."shortName" AS "shortName",
"s_28_11"."shortLabel" AS "shortLabel",
coalesce ( "s_28_11"."shortLabel", "s_30_14_t9"."O") AS "label"
FROM (
SELECT "s_18_3"."logoThumbnailLabel" AS "logoThumbnailLabel",
"s_18_3"."logoThumbnail" AS "logoThumbnail",
"s_18_3"."logo" AS "logo",
"s_18_3"."gridRelatedUri" AS "gridRelatedUri"
FROM
(SELECT 1 AS __stub) AS "lojstub-s_30_13" LEFT OUTER JOIN (
SELECT "s_18_3_t0"."S" AS "gridRelatedUri",
"s_18_3_t0"."O" AS "logo",
"s_18_3_t1"."O" AS "logoThumbnail",
"s_18_3_t2"."O" AS "logoThumbnailLabel"
FROM DB.DBA.RDF_QUAD AS "s_18_3_t0"
INNER JOIN DB.DBA.RDF_QUAD AS "s_18_3_t1"
ON (
"s_18_3_t0"."O" = "s_18_3_t1"."S")
INNER JOIN DB.DBA.RDF_QUAD AS "s_18_3_t2"
ON (
"s_18_3_t1"."O" = "s_18_3_t2"."S")
WHERE
"s_18_3_t0"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_18_3_t0"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/logo' , 1))
AND
"s_18_3_t1"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_18_3_t1"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/thumbnail' , 1))
AND
"s_18_3_t2"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_18_3_t2"."P" = __i2idn ( __bft( 'http://www.w3.org/2000/01/rdf-schema#label' , 1))) AS "s_18_3"
ON (1)) AS "s_30_13"
LEFT OUTER JOIN (
SELECT "s_23_7_t3"."S" AS "gridRelatedUri",
"s_23_7_t3"."O" AS "legalAddress",
"s_23_7_t4"."O" AS "legalAddressCity",
"s_23_7_t5"."O" AS "legalAddressCityLabel"
FROM DB.DBA.RDF_QUAD AS "s_23_7_t3"
INNER JOIN DB.DBA.RDF_QUAD AS "s_23_7_t4"
ON (
"s_23_7_t3"."O" = "s_23_7_t4"."S")
INNER JOIN DB.DBA.RDF_QUAD AS "s_23_7_t5"
ON (
"s_23_7_t4"."O" = "s_23_7_t5"."S")
WHERE
"s_23_7_t3"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_23_7_t3"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/legalAddress' , 1))
AND
"s_23_7_t4"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_23_7_t4"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/city' , 1))
AND
"s_23_7_t5"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_23_7_t5"."P" = __i2idn ( __bft( 'http://www.w3.org/2000/01/rdf-schema#label' , 1))) AS "s_23_7"
ON (
( "s_30_13"."gridRelatedUri" IS NULL OR ( "s_30_13"."gridRelatedUri" = "s_23_7"."gridRelatedUri" ) ))
INNER JOIN DB.DBA.RDF_QUAD AS "s_30_14_t9"
ON (
"s_30_14_t9"."S" = "s_30_13"."gridRelatedUri")
LEFT OUTER JOIN (
SELECT "s_28_11_t6"."S" AS "gridRelatedUri",
"s_28_11_t6"."O" AS "shortName",
"s_28_11_t7"."O" AS "shortLabel"
FROM DB.DBA.RDF_QUAD AS "s_28_11_t6"
INNER JOIN DB.DBA.RDF_QUAD AS "s_28_11_t7"
ON (
"s_28_11_t6"."O" = "s_28_11_t7"."S")
WHERE
"s_28_11_t6"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_28_11_t6"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/shortName' , 1))
AND
"s_28_11_t7"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_28_11_t7"."P" = __i2idn ( __bft( 'http://www.w3.org/2000/01/rdf-schema#label' , 1))) AS "s_28_11"
ON (
"s_30_14_t9"."S" = "s_28_11"."gridRelatedUri"
AND
( "s_30_13"."gridRelatedUri" IS NULL OR ( "s_30_13"."gridRelatedUri" = "s_28_11"."gridRelatedUri" ) ))
WHERE
"s_30_14_t9"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_30_14_t9"."P" = __i2idn ( __bft( 'http://www.w3.org/2000/01/rdf-schema#label' , 1))
OPTION (QUIETCAST)
) AS "s_30_15"
WHERE
( "s_30_15"."gridRelatedUri" = __i2idn ( __bft( 'http://sp7.ru/ontology/eile_1097746232682_rus' , 1)))
OPTION (QUIETCAST)
1 Rows. -- 3 msec.
SPARQL_TRANSLATE for #RIGHT_QUERY:
SELECT __bft( 'http://sp7.ru/ontology/eile_1097746232682_rus' , 1) AS "gridRelatedUri",
__id2in ( "s_30_15"."legalAddress") AS "legalAddress",
__id2in ( "s_30_15"."legalAddressCity") AS "legalAddressCity",
__ro2sq ( "s_30_15"."legalAddressCityLabel") AS "legalAddressCityLabel",
__id2in ( "s_30_15"."logo") AS "logo",
__id2in ( "s_30_15"."logoThumbnail") AS "logoThumbnail",
__ro2sq ( "s_30_15"."logoThumbnailLabel") AS "logoThumbnailLabel",
__ro2sq ( "s_30_15"."labelFull") AS "labelFull",
__id2in ( "s_30_15"."shortName") AS "shortName",
__ro2sq ( "s_30_15"."shortLabel") AS "shortLabel",
__ro2sq ( "s_30_15"."label") AS "label"
FROM (
SELECT "s_30_14_t9"."S" AS "gridRelatedUri",
"s_30_13"."legalAddress" AS "legalAddress",
"s_30_13"."legalAddressCity" AS "legalAddressCity",
"s_30_13"."legalAddressCityLabel" AS "legalAddressCityLabel",
"s_23_7"."logo" AS "logo",
"s_23_7"."logoThumbnail" AS "logoThumbnail",
"s_23_7"."logoThumbnailLabel" AS "logoThumbnailLabel",
"s_30_14_t9"."O" AS "labelFull",
"s_28_11"."shortName" AS "shortName",
"s_28_11"."shortLabel" AS "shortLabel",
coalesce ( "s_28_11"."shortLabel", "s_30_14_t9"."O") AS "label"
FROM (
SELECT "s_17_3"."legalAddressCityLabel" AS "legalAddressCityLabel",
"s_17_3"."legalAddressCity" AS "legalAddressCity",
"s_17_3"."legalAddress" AS "legalAddress",
"s_17_3"."gridRelatedUri" AS "gridRelatedUri"
FROM
(SELECT 1 AS __stub) AS "lojstub-s_30_13" LEFT OUTER JOIN (
SELECT "s_17_3_t0"."S" AS "gridRelatedUri",
"s_17_3_t0"."O" AS "legalAddress",
"s_17_3_t1"."O" AS "legalAddressCity",
"s_17_3_t2"."O" AS "legalAddressCityLabel"
FROM DB.DBA.RDF_QUAD AS "s_17_3_t0"
INNER JOIN DB.DBA.RDF_QUAD AS "s_17_3_t1"
ON (
"s_17_3_t0"."O" = "s_17_3_t1"."S")
INNER JOIN DB.DBA.RDF_QUAD AS "s_17_3_t2"
ON (
"s_17_3_t1"."O" = "s_17_3_t2"."S")
WHERE
"s_17_3_t0"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_17_3_t0"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/legalAddress' , 1))
AND
"s_17_3_t1"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_17_3_t1"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/city' , 1))
AND
"s_17_3_t2"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_17_3_t2"."P" = __i2idn ( __bft( 'http://www.w3.org/2000/01/rdf-schema#label' , 1))) AS "s_17_3"
ON (1)) AS "s_30_13"
LEFT OUTER JOIN (
SELECT "s_23_7_t3"."S" AS "gridRelatedUri",
"s_23_7_t3"."O" AS "logo",
"s_23_7_t4"."O" AS "logoThumbnail",
"s_23_7_t5"."O" AS "logoThumbnailLabel"
FROM DB.DBA.RDF_QUAD AS "s_23_7_t3"
INNER JOIN DB.DBA.RDF_QUAD AS "s_23_7_t4"
ON (
"s_23_7_t3"."O" = "s_23_7_t4"."S")
INNER JOIN DB.DBA.RDF_QUAD AS "s_23_7_t5"
ON (
"s_23_7_t4"."O" = "s_23_7_t5"."S")
WHERE
"s_23_7_t3"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_23_7_t3"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/logo' , 1))
AND
"s_23_7_t4"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_23_7_t4"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/thumbnail' , 1))
AND
"s_23_7_t5"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_23_7_t5"."P" = __i2idn ( __bft( 'http://www.w3.org/2000/01/rdf-schema#label' , 1))) AS "s_23_7"
ON (
( "s_30_13"."gridRelatedUri" IS NULL OR ( "s_30_13"."gridRelatedUri" = "s_23_7"."gridRelatedUri" ) ))
INNER JOIN DB.DBA.RDF_QUAD AS "s_30_14_t9"
ON (
"s_30_14_t9"."S" = "s_30_13"."gridRelatedUri")
LEFT OUTER JOIN (
SELECT "s_28_11_t6"."S" AS "gridRelatedUri",
"s_28_11_t6"."O" AS "shortName",
"s_28_11_t7"."O" AS "shortLabel"
FROM DB.DBA.RDF_QUAD AS "s_28_11_t6"
INNER JOIN DB.DBA.RDF_QUAD AS "s_28_11_t7"
ON (
"s_28_11_t6"."O" = "s_28_11_t7"."S")
WHERE
"s_28_11_t6"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_28_11_t6"."P" = __i2idn ( __bft( 'http://sp7.ru/ontology/shortName' , 1))
AND
"s_28_11_t7"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_28_11_t7"."P" = __i2idn ( __bft( 'http://www.w3.org/2000/01/rdf-schema#label' , 1))) AS "s_28_11"
ON (
"s_30_14_t9"."S" = "s_28_11"."gridRelatedUri"
AND
( "s_30_13"."gridRelatedUri" IS NULL OR ( "s_30_13"."gridRelatedUri" = "s_28_11"."gridRelatedUri" ) ))
WHERE
"s_30_14_t9"."G" = __i2idn ( __bft( 'http://sp7.ru/' , 1))
AND
"s_30_14_t9"."P" = __i2idn ( __bft( 'http://www.w3.org/2000/01/rdf-schema#label' , 1))
OPTION (QUIETCAST)
) AS "s_30_15"
WHERE
( "s_30_15"."gridRelatedUri" = __i2idn ( __bft( 'http://sp7.ru/ontology/eile_1097746232682_rus' , 1)))
OPTION (QUIETCAST)
1 Rows. -- 2 msec.
Maybe this line crashes the query? Why?
ON (
( "s_30_13"."gridRelatedUri" IS NULL OR ( "s_30_13"."gridRelatedUri" = "s_23_7"."gridRelatedUri" ) ))
Explain for #WRONG_QUERY:
{
RDF_QUAD 2 rows(t26.S, t26.O)
inlined P = ##label , S = #/eile_1097746232682_rus G = #/
Precode:
0: labelFull := Call __ro2sq (t26.O)
5: BReturn 0
outer {
Subquery 33
{
RDF_QUAD 1 rows(t19.O, t19.S)
inlined P = #/logo , S = k_t26.S G = #/
RDF_QUAD 1 rows(t20.O)
inlined P = #/thumbnail , S = k_t19.O G = #/
RDF_QUAD 1 rows(t21.O)
inlined P = ##label , S = k_t20.O G = #/
After code:
0: gridRelatedUri := := artm t19.S
4: logo := := artm t19.O
8: logoThumbnail := := artm t20.O
12: logoThumbnailLabel := := artm t21.O
16: BReturn 0
Subquery Select(gridRelatedUri, logo, logoThumbnail, logoThumbnailLabel)
}
end of outer}
set_ctr
out: (gridRelatedUri, logoThumbnailLabel, logoThumbnail, logo, set_no)
shadow: ( <none> , <none> , <none> , <none> , <none> )
Precode:
0: logo := Call __id2in (logo)
5: logoThumbnail := Call __id2in (logoThumbnail)
10: logoThumbnailLabel := Call __ro2sq (logoThumbnailLabel)
15: BReturn 0
Subquery 72
{
Precode:
0: __stub := := artm 1
4: BReturn 0
END Node
Subquery Select(__stub)
}
outer {
Subquery 83
{
RDF_QUAD 0.7 rows(t28.S, t28.O)
inlined P = #/shortName , S = k_t26.S G = #/
END Node
After test:
0: if (gridRelatedUri IS NULL 0 ) then 8 else 4 unkn 4
4: if (gridRelatedUri = t28.S) then 8 else 9 unkn 9
8: BReturn 1
9: BReturn 0
RDF_QUAD 1 rows(t29.O)
inlined P = ##label , S = k_t28.O G = #/
After code:
0: gridRelatedUri := := artm t28.S
4: shortName := := artm t28.O
8: shortLabel := := artm t29.O
12: BReturn 0
Subquery Select(gridRelatedUri, shortName, shortLabel)
}
end of outer}
set_ctr
out: (gridRelatedUri, shortLabel, shortName, set_no)
shadow: ( <none> , <none> , <none> , <none> )
Precode:
0: shortName := Call __id2in (shortName)
5: shortLabel := Call __ro2sq (shortLabel)
10: if (shortLabel IS NULL <DB_NULL>) then 19 else 14 unkn 19
14: coalesce_ret := := artm shortLabel
18: Jump 32 (level=0)
19: if (t26.O IS NULL <DB_NULL>) then 28 else 23 unkn 28
23: coalesce_ret := := artm t26.O
27: Jump 32 (level=0)
28: coalesce_ret := := artm <DB_NULL>
32: label := Call __ro2sq (coalesce_ret)
37: BReturn 0
outer {
Subquery 120
{
RDF_QUAD_POGS 7.2e+06 rows(t23.S, t23.O)
inlined P = #/legalAddress G = #/
END Node
After test:
0: if (gridRelatedUri IS NULL 0 ) then 8 else 4 unkn 4
4: if (gridRelatedUri = t23.S) then 8 else 9 unkn 9
8: BReturn 1
9: BReturn 0
RDF_QUAD 1 rows(t24.O)
inlined P = #/city , S = k_t23.O G = #/
RDF_QUAD 1 rows(t25.O)
inlined P = ##label , S = k_t24.O G = #/
After code:
0: gridRelatedUri := := artm t23.S
4: legalAddress := := artm t23.O
8: legalAddressCity := := artm t24.O
12: legalAddressCityLabel := := artm t25.O
16: BReturn 0
Subquery Select(gridRelatedUri, legalAddress, legalAddressCity, legalAddressCityLabel)
}
end of outer}
set_ctr
out: (legalAddressCityLabel, gridRelatedUri, set_no, legalAddress, legalAddressCity)
shadow: ( <none> , <none> , <none> , <none> , <none> )
After code:
0: legalAddress := Call __id2in (legalAddress)
5: legalAddressCity := Call __id2in (legalAddressCity)
10: legalAddressCityLabel := Call __ro2sq (legalAddressCityLabel)
15: BReturn 0
Select (<tag 182 flag 1 c http://sp7.ru/ontology/eile_1097746232682_rus>, logo, logoThumbnail, logoThumbnailLabel, legalAddress, legalAddressCity, legalAddressCityLabel, labelFull, shortName, shortLabel, label)
}
118 Rows. -- 15 msec.
EXPLAIN FOR #RIGHT_QUERY:
{
Subquery 27
{
Precode:
0: $28 "__stub" := := artm 1
4: BReturn 0
END Node
Subquery Select($28 "__stub")
}
RDF_QUAD 2 rows(t26.S, t26.O)
inlined P = ##label , S = #/eile_1097746232682_rus G = #/
outer {
Subquery 42
{
RDF_QUAD 1 rows(t19.O, t19.S)
inlined P = #/legalAddress , S = k_t26.S G = #/
RDF_QUAD 1 rows(t20.O)
inlined P = #/city , S = k_t19.O G = #/
RDF_QUAD 1 rows(t21.O)
inlined P = ##label , S = k_t20.O G = #/
After code:
0: gridRelatedUri := := artm t19.S
4: legalAddress := := artm t19.O
8: legalAddressCity := := artm t20.O
12: legalAddressCityLabel := := artm t21.O
16: BReturn 0
Subquery Select(gridRelatedUri, legalAddress, legalAddressCity, legalAddressCityLabel)
}
end of outer}
set_ctr
out: (legalAddressCityLabel, legalAddress, legalAddressCity, set_no, gridRelatedUri)
shadow: ( <none> , <none> , <none> , <none> , <none> )
outer {
Subquery 75
{
RDF_QUAD 0.7 rows(t28.S, t28.O)
inlined P = #/shortName , S = k_t26.S G = #/
END Node
After test:
0: if (gridRelatedUri IS NULL 0 ) then 8 else 4 unkn 4
4: if (gridRelatedUri = t28.S) then 8 else 9 unkn 9
8: BReturn 1
9: BReturn 0
RDF_QUAD 1 rows(t29.O)
inlined P = ##label , S = k_t28.O G = #/
After code:
0: gridRelatedUri := := artm t28.S
4: shortName := := artm t28.O
8: shortLabel := := artm t29.O
12: BReturn 0
Subquery Select(gridRelatedUri, shortName, shortLabel)
}
end of outer}
set_ctr
out: (shortLabel, shortName, gridRelatedUri, set_no)
shadow: ( <none> , <none> , <none> , <none> )
Precode:
0: labelFull := Call __ro2sq (t26.O)
5: legalAddressCityLabel := Call __ro2sq (legalAddressCityLabel)
10: legalAddressCity := Call __id2in (legalAddressCity)
15: legalAddress := Call __id2in (legalAddress)
20: shortName := Call __id2in (shortName)
25: shortLabel := Call __ro2sq (shortLabel)
30: if (shortLabel IS NULL <DB_NULL>) then 39 else 34 unkn 39
34: coalesce_ret := := artm shortLabel
38: Jump 52 (level=0)
39: if (t26.O IS NULL <DB_NULL>) then 48 else 43 unkn 48
43: coalesce_ret := := artm t26.O
47: Jump 52 (level=0)
48: coalesce_ret := := artm <DB_NULL>
52: label := Call __ro2sq (coalesce_ret)
57: BReturn 0
outer {
Subquery 120
{
RDF_QUAD_POGS 2.8e+04 rows(t23.S, t23.O)
inlined P = #/logo G = #/
END Node
After test:
0: if (gridRelatedUri IS NULL 0 ) then 8 else 4 unkn 4
4: if (gridRelatedUri = t23.S) then 8 else 9 unkn 9
8: BReturn 1
9: BReturn 0
RDF_QUAD 1 rows(t24.O)
inlined P = #/thumbnail , S = k_t23.O G = #/
RDF_QUAD 1 rows(t25.O)
inlined P = ##label , S = k_t24.O G = #/
After code:
0: gridRelatedUri := := artm t23.S
4: logo := := artm t23.O
8: logoThumbnail := := artm t24.O
12: logoThumbnailLabel := := artm t25.O
16: BReturn 0
Subquery Select(gridRelatedUri, logo, logoThumbnail, logoThumbnailLabel)
}
end of outer}
set_ctr
out: (gridRelatedUri, logoThumbnail, logo, set_no, logoThumbnailLabel)
shadow: ( <none> , <none> , <none> , <none> , <none> )
After code:
0: logo := Call __id2in (logo)
5: logoThumbnail := Call __id2in (logoThumbnail)
10: logoThumbnailLabel := Call __ro2sq (logoThumbnailLabel)
15: BReturn 0
Select (<tag 182 flag 1 c http://sp7.ru/ontology/eile_1097746232682_rus>, legalAddress, legalAddressCity, legalAddressCityLabel, logo, logoThumbnail, logoThumbnailLabel, labelFull, shortName, shortLabel, label)
}
112 Rows. -- 7 msec.
We have the dynamic query project, where users can generate queries on the fly with our tools. Please help me understand the nature of this behavior. And how can i detect and modify those queries “on the fly”