What this page is all about
The goal of this web page is to provide a collection of SPARQL query collections with their associated data sets as well as the results of different query engines running the queries.
We started to collect the queries and their data sets since we realized that even though many people speak about the necessity of SPARQL optimization there aren't any clear benchmarks for it.
So if you have:
- A set of SPARQL queries and its associated data sets
- Some results of your SPARQL query processor using one of the data sets
Please share it with us to post it on this page. This way we can all help each other to make SPARQL query processing more efficient.
In order to contact us please Email to either Christoph Kiefer or Abraham Bernstein.
Current content of this page
- Queries and Data sets
- Results
- ARQ and OptARQ on Olaf Hartig's queries (coming soon)
Olaf Hartig's Queries
Taken from his diploma thesis at http://www2.informatik.hu-berlin.de/~hartig/diplomarbeit/Diplomarbeit.pdf
Note that these queries are intended to be run on the Lehigh University Benchmark (LUBM) data-base.
Query 1
SELECT
?s ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent . }
{ ?s ub:name ?n . }
}
Query 2
SELECT
?s ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent . }
{ ?s ub:takesCourse ?c . }
}
Query 3
SELECT
?n ?c
WHERE
{
{ ?s ub:takesCourse ?c . }
{ ?s ub:name ?n . }
}
Query 4
SELECT
?s ?c
WHERE
{
{ ?s ub:name ?n . }
{ ?s ub:name ?n . }
}
Query 5
SELECT
?n ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent . }
{ ?s ub:takesCourse ?c . }
{ ?s ub:name ?n . }
}
Query 6
SELECT
*
WHERE
{
{ ?t ub:teacherOf ?c . }
{ ?t ub:emailAddress ?e . }
{ ?s ub:takesCourse ?c . }
{ ?s rdf:type ub:GraduateStudent . }
{ ?s ub:name ?n . }
}
Query 7
SELECT
?s ?n ?c
WHERE
{
{
?s rdf:type ub:GraduateStudent .
OPTIONAL { ?s ub:name ?n . }
}
{ ?s ub:takesCourse ?c . }
}
Query 8
SELECT
?s ?n ?c
WHERE
{
{
?s rdf:type ub:GraduateStudent .
OPTIONAL { ?s ub:takesCourse ?c . }
}
{ ?s ub:name ?n . }
}
Query 9
SELECT
*
WHERE
{
{
?t ub:teacherOf ?c .
OPTIONAL { ?t ub:emailAddress ?e . }
}
?s ub:takesCourse ?c .
{
?s rdf:type ub:GraduateStudent .
OPTIONAL { ?s ub:name ?n . }
}
}
Query 10
SELECT
*
WHERE
{
{ ?s ?t ub:GraduateStudent . }
{ ?s ub:name ?n . }
}
Query 11
SELECT
*
WHERE
{
{ ?s ?t ub:GraduateStudent . }
{ ?s ub:takesCourse ?c . }
}
Query 12
SELECT
*
WHERE
{
{
?s ?t ub:GraduateStudent .
OPTIONAL { ?s ub:name ?n . }
}
{ ?s ub:takesCourse ?c . }
}
Query 13
SELECT
*
WHERE
{
{
?s ?t ub:GraduateStudent .
OPTIONAL { ?s ub:takesCourse ?c . }
}
{ ?s ub:name ?n . }
}
Query 14
SELECT
*
WHERE
{
{
?s rdf:type ub:GraduateStudent .
OPTIONAL { ?s ub:name ?n . }
}
?s ?tc ?c .
{
?t ub:teacherOf ?c .
OPTIONAL { ?t ub:emailAddress ?e . }
}
}
Query 15
SELECT
*
WHERE
{
{ ?s rdf:type ub:GraduateStudent . }
{ ?s ub:name ?n . }
{ ?s ?tc ?c . }
{ ?t ub:teacherOf ?c . }
{ ?t ub:emailAddress ?e . }
}
Query 16
SELECT
?s ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent . }
{ ?s ub:name ?n .
FILTER regex( ?n, "1" )
}
}
Query 17
SELECT
?s ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent . }
{ ?s ub:takesCourse ?c .
FILTER regex( str(?c), "2" )
}
}
Query 18
SELECT
?n ?c
WHERE
{
{ ?s ub:takesCourse ?c . }
{ ?s ub:name ?n . }
FILTER regex( str(?c), "2" )
FILTER regex( ?n, "1" )
}
Query 19
SELECT
?n ?c
WHERE
{
{
?s ub:takesCourse ?c .
FILTER regex( str(?c), "2" )
}
{
?s ub:name ?n .
FILTER regex( ?n, "1" )
}
}
Query 20
SELECT
?n ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent . }
{
?s ub:takesCourse ?c .
FILTER regex( str(?c), "2" )
}
{
?s ub:name ?n .
FILTER regex( ?n, "1" )
}
}
Query 21
SELECT
?n ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent . }
{ ?s ub:takesCourse ?c . }
{ ?s ub:name ?n . }
FILTER regex( str(?c), "2" )
FILTER regex( ?n, "1" )
}
Query 22
SELECT
?n ?c
WHERE
{
{
?s rdf:type ub:GraduateStudent .
?s ub:takesCourse ?c .
FILTER regex( str(?c), "2" )
}
{
?s ub:name ?n .
FILTER regex( ?n, "1" )
}
}
Query 23
SELECT
?n ?c
WHERE
{
{
?s rdf:type ub:GraduateStudent .
FILTER ( ! regex( str(?s), "2" ) )
}
{
?s ub:takesCourse ?c .
FILTER regex( str(?s), "2" )
}
?s ub:name ?n .
}
Query 24
SELECT
?s ?n ?c
WHERE
{
?s rdf:type ub:GraduateStudent .
?s ub:takesCourse ?c .
OPTIONAL { ?s ub:name ?n . }
FILTER regex( str(?c), "2" )
}
Query 25
SELECT
?s ?n ?c
WHERE
{
?s rdf:type ub:GraduateStudent .
?s ub:name ?n .
OPTIONAL { ?s ub:takesCourse ?c . }
FILTER regex( ?n, "1" )
}
Query 26
SELECT
*
WHERE
{
{ ?s ?t ub:GraduateStudent . }
{
?s ub:name ?n .
FILTER regex( ?n, "1" )
}
}
Query 27
SELECT
*
WHERE
{
{ ?s ?t ub:GraduateStudent . }
{
?s ub:takesCourse ?c .
FILTER regex( str(?c), "2" )
}
}
Query 28
SELECT
*
WHERE
{
?s ?t ub:GraduateStudent .
?s ub:takesCourse ?c .
OPTIONAL { ?s ub:name ?n . }
FILTER regex( str(?c), "2" )
}
Query 29
SELECT
*
WHERE
{
?s ?t ub:GraduateStudent .
?s ub:name ?n .
OPTIONAL { ?s ub:takesCourse ?c . }
FILTER regex( ?n, "1" )
}
Query 30
SELECT
?s
WHERE
{
{ ?s rdf:type ub:GraduateStudent }
UNION
{ ?s rdf:type ub:UndergraduateStudent }
?s ub:name ?n .
}
Query 31
SELECT
?s
WHERE
{
?s ub:name ?n .
{ ?s rdf:type ub:GraduateStudent }
UNION
{ ?s rdf:type ub:UndergraduateStudent }
}
Query 32
SELECT
?s ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent }
UNION
{ ?s rdf:type ub:UndergraduateStudent }
?s ub:takesCourse ?c .
}
Query 33
SELECT
?s ?c
WHERE
{
?s ub:takesCourse ?c .
{ ?s rdf:type ub:GraduateStudent }
UNION
{ ?s rdf:type ub:UndergraduateStudent }
}
Query 34
SELECT
?s ?c
WHERE
{
{ ?s rdf:type ub:GraduateStudent }
UNION
{ ?s rdf:type ub:UndergraduateStudent }
?s ub:takesCourse ?c
OPTIONAL { ?s ub:name ?n }
}
Query 35
SELECT
?s ?c
WHERE
{
?s ub:takesCourse ?c
OPTIONAL { ?s ub:name ?n }
{ ?s rdf:type ub:GraduateStudent }
UNION
{ ?s rdf:type ub:UndergraduateStudent }
}
Query 36
SELECT
?s
WHERE
{
{ ?s ?t ub:GraduateStudent }
UNION
{ ?s ?t ub:UndergraduateStudent }
?s ub:name ?n .
}
Query 37
SELECT
?s
WHERE
{
?s ub:name ?n .
{ ?s ?t ub:GraduateStudent }
UNION
{ ?s ?t ub:UndergraduateStudent }
}
Query 38
SELECT
?s ?c
WHERE
{
{ ?s ?t ub:GraduateStudent }
UNION
{ ?s ?t ub:UndergraduateStudent }
?s ub:takesCourse ?c .
}
Query 39
SELECT
?s ?c
WHERE
{
?s ub:takesCourse ?c .
{ ?s ?t ub:GraduateStudent }
UNION
{ ?s ?t ub:UndergraduateStudent }
}
Query 40
SELECT
?s ?c
WHERE
{
{ ?s ?t ub:GraduateStudent }
UNION
{ ?s ?t ub:UndergraduateStudent }
?s ub:takesCourse ?c
OPTIONAL { ?s ub:name ?n }
}
Query 41
SELECT
?s ?c
WHERE
{
?s ub:takesCourse ?c
OPTIONAL { ?s ub:name ?n }
{ ?s ?t ub:GraduateStudent }
UNION
{ ?s ?t ub:UndergraduateStudent }
}