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

PipelinedHashIndexAndSolutionSetJoinOp messes up SERVICE + MINUS

    XMLWordPrintable

    Details

      Description

      When running this query with LIMIT, MINUS does not seem to apply properly:

      SELECT DISTINCT ?item WHERE {
        hint:Query hint:optimizer "None".
        SERVICE wikibase:mwapi {
          bd:serviceParam wikibase:api "Search";
                          wikibase:endpoint "www.wikidata.org";
                          mwapi:srsearch "zika haswbstatement:P31=Q13442814".
          ?title wikibase:apiOutput mwapi:title.
        }
        BIND(IRI(CONCAT(STR(wd:), ?title)) AS ?item)
        MINUS { ?item wdt:P921 wd:Q202864. }
      } 
      # will work fine without LIMIT
      LIMIT 10000
      

      The difference is that without LIMIT, the query uses JVMSolutionSetHashJoinOp to perform the join, while with LIMIT it uses PipelinedHashIndexAndSolutionSetJoinOp (per usePipelinedHashJoin in AST2Bop.addSubgroup). That last one seems to not do the MINUS correctly.

      See more discussion in: https://github.com/blazegraph/database/issues/107

        Attachments

          Activity

            People

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

              Dates

              Created:
              Updated:
              Resolved: