database icon indicating copy to clipboard operation
database copied to clipboard

Nested Optionals cause RuntimeException: Named subquery results are not used by this query: %-bottom-up-1

Open fkleedorfer opened this issue 5 years ago • 0 comments

I'm getting this exception for this query and I suspect that it's a bug:

prefix ex: <http://example.com/>
SELECT  ?result ?score
WHERE 
  
  {
    
    OPTIONAL
          { ?result  ex:travelAction  ?a50fa3f3
              OPTIONAL
                { OPTIONAL
                    { ?a50fa3f3  a                    <http://schema.org/TravelAction>
                      BIND(1 AS ?v_0_0)
                    }
                  OPTIONAL
                    { ?a50fa3f3  <http://schema.org/fromLocation>  ?d4096e41
                        OPTIONAL
                          { OPTIONAL
                              { ?d4096e41  a                    <http://schema.org/Place>
                                BIND(1 AS ?v_0_1_0)
                              }
                            OPTIONAL
                              {  ?d4096e41  <http://schema.org/geo>  ?bbe0e23d
                                  OPTIONAL
                                    { OPTIONAL
                                        { ?bbe0e23d  a                    <http://schema.org/GeoCoordinates>
                                          BIND(1 AS ?v_0_1_1_0)
                                        }
                                      OPTIONAL
                                        { ?bbe0e23d  <http://schema.org/latitude>  "10.00000"
                                          BIND(1 AS ?v_0_1_1_1)
                                        }
                                      OPTIONAL
                                        { ?bbe0e23d  <http://schema.org/longitude>  "10.00000"
                                          BIND(1 AS ?v_0_1_1_2)
                                        }
                                      
                                    }
                                
                                BIND(1 AS ?v_0_1_1)
                              }
                            OPTIONAL
                              { ?d4096e41  <http://schema.org/name>  "Some place"
                                BIND(1 AS ?v_0_1_2)
                              }
                          }
                      
                      BIND(1 AS ?v_0_1)
                    }
                  OPTIONAL
                    {  ?a50fa3f3  <http://schema.org/toLocation>  ?43460a90
                        OPTIONAL
                          { OPTIONAL
                              { ?43460a90  a                    <http://schema.org/Place>
                                BIND(1 AS ?v_0_2_0)
                              }
                            OPTIONAL
                              { ?43460a90  <http://schema.org/geo>  ?c7c8bf0c
                                  OPTIONAL
                                    { OPTIONAL
                                        { ?c7c8bf0c  a                    <http://schema.org/GeoCoordinates>
                                          BIND(1 AS ?v_0_2_1_0)
                                        }
                                      OPTIONAL
                                        { ?c7c8bf0c  <http://schema.org/latitude>  "20.0000"
                                          BIND(1 AS ?v_0_2_1_1)
                                        }
                                      OPTIONAL
                                        { ?c7c8bf0c  <http://schema.org/longitude>  "20.0000"
                                          BIND(1 AS ?v_0_2_1_2)
                                        }
                                      
                                    }
                                
                                BIND(1 AS ?v_0_2_1)
                              }
                            OPTIONAL
                              { ?43460a90  <http://schema.org/name>  "Some other place"
                                BIND(1 AS ?v_0_2_2)
                              }
                          }
                      
                      BIND(1 AS ?v_0_2)
                    }
                }
            BIND(1 AS ?v_0)
          }
        ?result  a                     ex:Thing
      
      BIND(( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( if(bound(?v_0_1_1), ?v_0_1_1, 0) + if(bound(?v_0_1_2), ?v_0_1_2, 0) ) + if(bound(?v_0_2_1), ?v_0_2_1, 0) ) + if(bound(?v_0_1_0), ?v_0_1_0, 0) ) + if(bound(?v_0_2_0), ?v_0_2_0, 0) ) + if(bound(?v_0_0), ?v_0_0, 0) ) + if(bound(?v_0_2_2), ?v_0_2_2, 0) ) + if(bound(?v_0_1), ?v_0_1, 0) ) + if(bound(?v_0_2), ?v_0_2, 0) ) + if(bound(?v_0_2_1_3), ?v_0_2_1_3, 0) ) + if(bound(?v_0_2_1_2), ?v_0_2_1_2, 0) ) + if(bound(?v_0_2_1_1), ?v_0_2_1_1, 0) ) + if(bound(?v_0), ?v_0, 0) ) + if(bound(?v_0_2_1_0), ?v_0_2_1_0, 0) ) + if(bound(?v_0_1_1_0), ?v_0_1_1_0, 0) ) + if(bound(?v_0_1_1_1), ?v_0_1_1_1, 0) ) + if(bound(?v_0_1_1_2), ?v_0_1_1_2, 0) ) + if(bound(?v_0_1_1_3), ?v_0_1_1_3, 0) ) / 18 ) AS ?score)
    
    FILTER ( ?score > 0 )
  }

Exception:

ERROR: SPARQL-QUERY: queryStr=prefix hint: 
prefix ex: 
SELECT  ?result ?score
WHERE 
  
  {
    
    OPTIONAL
          { ?result  ex:travelAction  ?a50fa3f3
              OPTIONAL
                { OPTIONAL
                    { ?a50fa3f3  a                    
                      BIND(1 AS ?v_0_0)
                    }
                  OPTIONAL
                    { ?a50fa3f3    ?d4096e41
                        OPTIONAL
                          { OPTIONAL
                              { ?d4096e41  a                    
                                BIND(1 AS ?v_0_1_0)
                              }
                            OPTIONAL
                              {  ?d4096e41    ?bbe0e23d
                                  OPTIONAL
                                    { OPTIONAL
                                        { ?bbe0e23d  a                    
                                          BIND(1 AS ?v_0_1_1_0)
                                        }
                                      OPTIONAL
                                        { ?bbe0e23d    "10.00000"
                                          BIND(1 AS ?v_0_1_1_1)
                                        }
                                      OPTIONAL
                                        { ?bbe0e23d    "10.00000"
                                          BIND(1 AS ?v_0_1_1_2)
                                        }
                                      
                                    }
                                
                                BIND(1 AS ?v_0_1_1)
                              }
                            OPTIONAL
                              { ?d4096e41    "Some place"
                                BIND(1 AS ?v_0_1_2)
                              }
                          }
                      
                      BIND(1 AS ?v_0_1)
                    }
                  OPTIONAL
                    {  ?a50fa3f3    ?43460a90
                        OPTIONAL
                          { OPTIONAL
                              { ?43460a90  a                    
                                BIND(1 AS ?v_0_2_0)
                              }
                            OPTIONAL
                              { ?43460a90    ?c7c8bf0c
                                  OPTIONAL
                                    { OPTIONAL
                                        { ?c7c8bf0c  a                    
                                          BIND(1 AS ?v_0_2_1_0)
                                        }
                                      OPTIONAL
                                        { ?c7c8bf0c    "20.0000"
                                          BIND(1 AS ?v_0_2_1_1)
                                        }
                                      OPTIONAL
                                        { ?c7c8bf0c    "20.0000"
                                          BIND(1 AS ?v_0_2_1_2)
                                        }
                                      
                                    }
                                
                                BIND(1 AS ?v_0_2_1)
                              }
                            OPTIONAL
                              { ?43460a90    "Some other place"
                                BIND(1 AS ?v_0_2_2)
                              }
                          }
                      
                      BIND(1 AS ?v_0_2)
                    }
                }
            BIND(1 AS ?v_0)
          }
        ?result  a                     ex:Thing
      
      BIND(( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( if(bound(?v_0_1_1), ?v_0_1_1, 0) + if(bound(?v_0_1_2), ?v_0_1_2, 0) ) + if(bound(?v_0_2_1), ?v_0_2_1, 0) ) + if(bound(?v_0_1_0), ?v_0_1_0, 0) ) + if(bound(?v_0_2_0), ?v_0_2_0, 0) ) + if(bound(?v_0_0), ?v_0_0, 0) ) + if(bound(?v_0_2_2), ?v_0_2_2, 0) ) + if(bound(?v_0_1), ?v_0_1, 0) ) + if(bound(?v_0_2), ?v_0_2, 0) ) + if(bound(?v_0_2_1_3), ?v_0_2_1_3, 0) ) + if(bound(?v_0_2_1_2), ?v_0_2_1_2, 0) ) + if(bound(?v_0_2_1_1), ?v_0_2_1_1, 0) ) + if(bound(?v_0), ?v_0, 0) ) + if(bound(?v_0_2_1_0), ?v_0_2_1_0, 0) ) + if(bound(?v_0_1_1_0), ?v_0_1_1_0, 0) ) + if(bound(?v_0_1_1_1), ?v_0_1_1_1, 0) ) + if(bound(?v_0_1_1_2), ?v_0_1_1_2, 0) ) + if(bound(?v_0_1_1_3), ?v_0_1_1_3, 0) ) / 18 ) AS ?score)
    
    FILTER ( ?score > 0 )
  }
java.util.concurrent.ExecutionException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Named subquery results are not used by this query: %-bottom-up-1
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:281)
	at com.bigdata.rdf.sail.webapp.QueryServlet.doSparqlQuery(QueryServlet.java:653)
	at com.bigdata.rdf.sail.webapp.QueryServlet.doPost(QueryServlet.java:273)
	at com.bigdata.rdf.sail.webapp.RESTServlet.doPost(RESTServlet.java:269)
	at com.bigdata.rdf.sail.webapp.MultiTenancyServlet.doPost(MultiTenancyServlet.java:193)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769)
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
	at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
	at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
	at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
	at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
	at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
	at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
	at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
	at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
	at org.eclipse.jetty.server.Server.handle(Server.java:497)
	at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
	at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
	at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: Named subquery results are not used by this query: %-bottom-up-1
	at java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.util.concurrent.FutureTask.get(FutureTask.java:192)
	at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:864)
	at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:670)
	at com.bigdata.rdf.task.ApiTaskForIndexManager.call(ApiTaskForIndexManager.java:68)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	... 1 more
Caused by: java.lang.RuntimeException: Named subquery results are not used by this query: %-bottom-up-1
	at com.bigdata.rdf.sparql.ast.optimizers.ASTNamedSubqueryOptimizer.assertEachNamedSubqueryIsUsed(ASTNamedSubqueryOptimizer.java:307)
	at com.bigdata.rdf.sparql.ast.optimizers.ASTNamedSubqueryOptimizer.optimize(ASTNamedSubqueryOptimizer.java:125)
	at com.bigdata.rdf.sparql.ast.optimizers.ASTOptimizerList.optimize(ASTOptimizerList.java:126)
	at com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility.convert(AST2BOpUtility.java:267)
	at com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper.optimizeQuery(ASTEvalHelper.java:426)
	at com.bigdata.rdf.sparql.ast.eval.ASTEvalHelper.evaluateTupleQuery(ASTEvalHelper.java:211)
	at com.bigdata.rdf.sail.BigdataSailTupleQuery.evaluate(BigdataSailTupleQuery.java:79)
	at com.bigdata.rdf.sail.BigdataSailTupleQuery.evaluate(BigdataSailTupleQuery.java:61)
	at org.openrdf.repository.sail.SailTupleQuery.evaluate(SailTupleQuery.java:75)
	at com.bigdata.rdf.sail.webapp.BigdataRDFContext$TupleQueryTask.doQuery(BigdataRDFContext.java:1713)
	at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.innerCall(BigdataRDFContext.java:1569)
	at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.call(BigdataRDFContext.java:1534)
	at com.bigdata.rdf.sail.webapp.BigdataRDFContext$AbstractQueryTask.call(BigdataRDFContext.java:747)
	... 4 more

Blazegraph Status:

Build Version=2.1.4
Build Git Commit=738d05f08cffd319233a4bfbb0ec2a858e260f9c

Build Git Branch=refs/heads/BLAZEGRAPH_RELEASE_2_1_4

Accepted query count=942290

Running query count=0

Show queries, query details.


/GeoSpatial/bigMinCalculationTimeMS=539
/GeoSpatial/filterCalculationTimeMS=765838
/GeoSpatial/geoSpatialSearchRequests=3564
/GeoSpatial/geoSpatialServiceCallSubRangeTasks=3564
/GeoSpatial/geoSpatialServiceCallTasks=3564
/GeoSpatial/rangeCheckCalculationTimeMS=108512
/GeoSpatial/zOrderIndexHitRatio=0.9990886458541299
/GeoSpatial/zOrderIndexHits=57198894
/GeoSpatial/zOrderIndexMisses=52176
/GeoSpatial/zOrderIndexScannedValues=57251070
/blockedWorkQueueCount=0
/blockedWorkQueueRunningTotal=1267701
/bufferedChunkMessageBytesOnNativeHeap=0
/bufferedChunkMessageCount=-34840402
/deadlineQueueSize=0
/operatorActiveCount=0
/operatorHaltCount=30327906
/operatorStartCount=30327906
/operatorTasksPerQuery=20.47862796548711
/queriesPerSecond=71.12621217286329
/queryDoneCount=1480954
/queryErrorCount=0
/queryStartCount=1480954

fkleedorfer avatar Mar 10 '20 10:03 fkleedorfer