Ticket #78 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

FILTER does not recognize variables that occur after assigning a spatial construct to them using BIND

Reported by: stella Owned by: stella
Priority: major Milestone:
Component: evaluation Version: all
Keywords: FILTER, BIND, spatial construct Cc:

Description

The following query:

PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX strdf: <http://strdf.di.uoa.gr/ontology#>

SELECT ?intersection
where
{
?x1 geo:asWKT ?g1 .
?x2 geo:asWKT ?g2 .
BIND(strdf:intersection(?g1, ?g2) as ?intersection)
FILTER(strdf:area(?intersection) > 0.001)
}

does not work as expected because the FILTER does not recognize the variable ?intersection and as a result the strdf:area function fails due to ?intersection being null.

Change History

comment:1 Changed 3 years ago by stella

  • Owner changed from pyravlos-team to stella
  • Status changed from new to assigned

comment:2 Changed 3 years ago by stella

The same holds for functions in SELECT that contain variables that result from a BIND clause.

For example:

SELECT (strdf:area(?intersection) as ?area)
where
{
?x1 geo:asWKT ?g1 .
?x2 geo:asWKT ?g2 .
BIND(strdf:intersection(?g1, ?g2) as ?intersection)
}

comment:3 Changed 3 years ago by stella

  • Status changed from assigned to closed
  • Resolution set to fixed
Note: See TracTickets for help on using tickets.