semagrow / semagrow

A SPARQL query federator of heterogeneous data sources

Home Page:https://semagrow.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Limit operator disappears in subqueries

antru6 opened this issue · comments

In some cases, the limit operator in inner subqueries miraculously disappears.
Example:

PREFIX ex: <http://example.org/>

SELECT * WHERE {
  {
    SELECT * WHERE {
      ex:1 ex:p ?o .
    }
    ORDER BY ASC(?o)
    LIMIT 1
  }
  ?s ex:q ?o 
}

The resulting plan is of the following form:

BindJoin
  SourceQuery (source = http://endpoint_1/sparql)
    Order
      OrderElem (ASC)
        Var (name=o)
        StatementPattern
          Var (name=_const_e443a916_uri, value=http://example.org/1, anonymous)
          Var (name=_const_30c2a947_uri, value=http://example.org/p, anonymous)
          Var (name=o)
  SourceQuery (source = http://endpoint_2/sparql)
    StatementPattern
      Var (name=s)
      Var (name=_const_2a49b376_uri, value=http://example.org/q, anonymous)
      Var (name=o)