For the last couple of weeks, I’ve still been working on my research project of integrating spatial filters into RDF3X triple store. In particular, I’ve been working on the server side of the project, which takes queries from the client side, analyze and execute them, and return result back to the client. For my convenience of referencing the project, I decided to call it “GeoStore”, instead of “Spatial Function Triple Store Integration” (Ins’t that easier?).

The following are the spatial filters types I implement in the system and some descriptions.

Filter Name Syntax Name Args Description
Window within 5 Filters results to a rectangular region
Range within 4 Filters results to within a distance from a point
NearBy nearby 4 Filters results to k nearest to a point

Window Filter

Syntax

within(?var, xmin, ymin, xmax, ymax)

Parameters

?var query variable to be filteredxminNumericx coordinate of lower-left corner of the rectangle

</tr>
Param Type Description
xmin Numeric x coordinate of lower-left corner of the rectangle
ymin Numeric y coordinate of lower-left corner of the rectangle
xmax Numeric x coordinate of upper-right corner of the rectangle
ymax Numeric y coordinate of upper-right corner of the rectangle

Window Query Filter Window Query Filter

Range Filter

Syntax

within(?var, x, y, rangeMeters)

Parameters

?var query variable to be filteredxNumericx coordinate of center

</tr>
Param Type Description
x Numeric x coordinate of center
y Numeric y coordinate of center
rangeMeters Numeric radius in meters

Range Query Filter Range Query Filter

NearBy Filter

Syntax

nearby(?var, x, y, limit)

Parameters

?var query variable to be filteredxNumericx coordinate of point

Param Type Description
x Numeric x coordinate of point
y Numeric y coordinate of point
limit Integer number of nearest records to return