DAWG Test Suite for SPOCQ

by James

ARQ proposed a standard textual notation for abstract SPARQL algebra expressions, which it calls ‘symbolic SPARQL expressions’ (SSEs). The documentation describes expressions which are compatible with Lisp’s S-expressions and, given appropriate reader and printer support, can serve as the externalization for a model of abstract SPARQL algebra expressions represented as simple lists.

This approach has proven invaluable to the development of Dydra’s SPOCQ query engine. In the early phases, expositions in the literature on SPARQL 1.0 semantics made it relatively easy to implement the query processor in terms of a small collection of Lisp macros which constituted an operational semantics for SPARQL.

As the work progressed towards support for SPARQL 1.1, this abstract algebra model and the SSE notation made it easier to comprehend the intent of the W3C specification and to verify the query processor’s performance against the Data Access Working Group’s evolving test suite.

In order to document this aspect of our implementation, we have translated the query expressions from the original SPARQL form into SSEs and present them here for reference. We also record and publish our latest DAWG conformance test results here:

SPARQL 1.0

algebra

ask

basic

bnode-coreference

boolean-effective-value

bound

cast

construct

dataset

distinct

expr-builtin

expr-equals

expr-ops

graph

i18n

open-world

optional

optional-filter

reduced

regex

solution-seq

sort

syntax-sparql1

syntax-sparql2

syntax-sparql3

syntax-sparql4

syntax-sparql5

triple-match

type-promotion

SPARQL 1.1

aggregates

basic-update

bind

bindings

clear

construct

delete

delete-data

delete-insert

delete-where

drop

entailment

functions

grouping

json-res

negation

project-expression

property-path

subquery

syntax-query

syntax-update-1

blog comments powered by Disqus