Uploaded image for project: 'Blazegraph (by SYSTAP)'
  1. Blazegraph (by SYSTAP)
  2. BLZG-8547

NotMaterializedException when sending UNION results to a service

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Medium
    • Resolution: Unresolved
    • Affects Version/s: BLAZEGRAPH_2_1_4
    • Fix Version/s: None
    • Component/s: Wikidata Query Service
    • Labels:
      None

      Description

      I get NotMaterializedException when results of a UNION, one branch of which overrides the label variable, are processed by WDQS' label service. Simplest reproduction query:

      SELECT ?xLabel WHERE {
        { BIND(wd:Q1 AS ?x). } UNION
        { BIND("none"@en AS ?xLabel). }
        SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
      }
      

      This produces:

      Caused by: java.util.concurrent.ExecutionException: org.openrdf.query.QueryEvaluationException: com.bigdata.rdf.internal.NotMaterializedException: TermId(1728L)
      	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: org.openrdf.query.QueryEvaluationException: com.bigdata.rdf.internal.NotMaterializedException: TermId(1728L)
      	at com.bigdata.rdf.sail.Bigdata2Sesame2BindingSetIterator.hasNext(Bigdata2Sesame2BindingSetIterator.java:188)
      	at info.aduna.iteration.IterationWrapper.hasNext(IterationWrapper.java:68)
      	at org.openrdf.query.QueryResults.report(QueryResults.java:155)
      	at org.openrdf.repository.sail.SailTupleQuery.evaluate(SailTupleQuery.java:76)
      	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
      Caused by: com.bigdata.rdf.internal.NotMaterializedException: TermId(1728L)
      	at com.bigdata.rdf.internal.impl.AbstractIV.getValue(AbstractIV.java:993)
      	at com.bigdata.rdf.sail.Bigdata2Sesame2BindingSetIterator.getBindingSet(Bigdata2Sesame2BindingSetIterator.java:298)
      	at com.bigdata.rdf.sail.Bigdata2Sesame2BindingSetIterator.hasNext(Bigdata2Sesame2BindingSetIterator.java:140)
      	... 11 more
      

      I thought maybe it's label service doing something wrong, but debugging shows LabelService receives two binding sets and in the second binding set it does not add anything, and xLabel is already bound, but for some reason it's not materialized. Should LabelService do something additional in this case or should Blazegraph handle it?

        Attachments

          Activity

            People

            Assignee:
            beebs Brad Bebee
            Reporter:
            stasmalyshev stasmalyshev
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Dates

              Created:
              Updated: