Hi All,
I seem to have an issue similar to this on Ontop 5.2.0-SNAPSHOT (pulled 3/14/2024).
I have a simple SQL Server view ("vw") with 115 columns ("Col1"..."Col115")... approximately 100,000 rows.
I defined an R2RML mapping to define a composite key template (.../col1={col1},col2={col2}) - both integers. The other columns are varchar(255). I provide Ontop both the R2RML and OWL ontology for the table.
When I execute a SPARQL query to select all values from the view (no optionals), the resulting SQL query seems to have a join for every column (~115) and takes 5-10 minutes to execute.
Can you point me to any tips or hints on how I could get Ontop to optimize this query better?
Thanks for the help.
Thomas Taylor
SPARQL:
SELECT (?vw_col1 as ?Col1) (?vw_col2 as ?Col2) ... (?vw_col115 as ?Col115)
WHERE ( ?cls_vw a <urn://rdb/vw> ;
<urn://rdb/vw#Col1> ?vw_col1 ;
<urn://rdb/vw#Col2> ?vw_col2 ;
...
<urn://rdb/vw#Col115> ?vw_col115;
SQL:
SELECT DISTINCT
v2."Col3" AS "Col31m213",
v3."Col4" AS "Col41m245",
v4."Col5" AS "Col51m169",
...
v115."Col115" AS "Col1151m202"
FROM
"vw" v1,
"vw" v2,
...
"vw" v115
WHERE
v2."Col3" IS NOT NULL
AND v3."Col4" IS NOT NULL
...
AND v1."Col1" = v2."Col1" AND v1."Col2" = v2."Col2"
AND v1."Col1" = v3."Col1" AND v1."Col2" = v3."Col2"
...
AND v1."Col1" = v115."Col1" AND v115."Col2" = v2."Col2"