DAWG Testcases
- Document Editor
- Lee Feigenbaum – invited expert
- Version:
$Revision: 1.6 1008/code>
Copyright © 2004 W3C® (MIT,
ERCIM,
Keio), All Rights Reserved. W3C
liability,
trademark, and document
use rules apply.
Abstract. This document will list the tests used to clarify the SPARQL Query Language for RDF. This document is a product of the Data Access Working Group.
All test materials are licensed under the W3C Software License, reproduced below.
Status
Note: This document updates the original tests page. Please see the README for information on the test reorganization.
All new tests are in the data-r2/ subdirectory,
and an overview is available on this page. Tests in the data/
subdirectory should not be considered up-to-date, even if marked as
approved.
Source files
This document is automatically built from the manifest files. Relevant files are:
- Schema and documentation
-
- Archive of all test materials
-
- Syntax-test Manifests
-
- Evaluation-test Manifests
-
- Source Archives
- Not yet available
Contents
Syntax Tests
- syntax-basic-01.rq
- Approved
- syntax-basic-02.rq
- Approved
- syntax-basic-03.rq
- Approved
- syntax-basic-04.rq
- Approved
- syntax-basic-05.rq
- Approved
- syntax-basic-06.rq
- Approved
- syntax-bnodes-01.rq
- Approved
- syntax-bnodes-02.rq
- Approved
- syntax-bnodes-03.rq
- Approved
- syntax-bnodes-04.rq
- Approved
- syntax-bnodes-05.rq
- Approved
- syntax-expr-01.rq
- Approved
- syntax-expr-02.rq
- Approved
- syntax-expr-03.rq
- Approved
- syntax-expr-04.rq
- Approved
- syntax-expr-05.rq
- Approved
- syntax-forms-01.rq
- Approved
- syntax-forms-02.rq
- Approved
- syntax-limit-offset-01.rq
- Approved
- syntax-limit-offset-02.rq
- Approved
- syntax-limit-offset-03.rq
- Approved
- syntax-limit-offset-04.rq
- Approved
- syntax-lists-01.rq
- Approved
- syntax-lists-02.rq
- Approved
- syntax-lists-03.rq
- Approved
- syntax-lists-04.rq
- Approved
- syntax-lists-05.rq
- Approved
- syntax-lit-01.rq
- Approved
- syntax-lit-02.rq
- Approved
- syntax-lit-03.rq
- Approved
- syntax-lit-04.rq
- Approved
- syntax-lit-05.rq
- Approved
- syntax-lit-06.rq
- Approved
- syntax-lit-07.rq
- Approved
- syntax-lit-08.rq
- Approved
- syntax-lit-09.rq
- Approved
- syntax-lit-10.rq
- Approved
- syntax-lit-11.rq
- Approved
- syntax-lit-12.rq
- Approved
- syntax-lit-13.rq
- Approved
- syntax-lit-14.rq
- Approved
- syntax-lit-15.rq
- Approved
- syntax-lit-16.rq
- Approved
- syntax-lit-17.rq
- Approved
- syntax-lit-18.rq
- Approved
- syntax-lit-19.rq
- Approved
- syntax-lit-20.rq
- Approved
- syntax-order-01.rq
- Approved
- syntax-order-02.rq
- Approved
- syntax-order-03.rq
- Approved
- syntax-order-04.rq
- Approved
- syntax-order-05.rq
- Approved
- syntax-order-06.rq
- Approved
- syntax-order-07.rq
- Approved
- syntax-pat-01.rq
- Approved
- syntax-pat-02.rq
- Approved
- syntax-pat-03.rq
- Approved
- syntax-pat-04.rq
- Approved
- syntax-qname-01.rq
- Approved
- syntax-qname-02.rq
- Approved
- syntax-qname-03.rq
- Approved
- syntax-qname-04.rq
- Approved
- syntax-qname-05.rq
- Approved
- syntax-qname-06.rq
- Approved
- syntax-qname-07.rq
- Approved
- syntax-qname-08.rq
- Approved
- syntax-struct-01.rq
- Approved
- syntax-struct-02.rq
- Approved
- syntax-struct-03.rq
- Approved
- syntax-struct-05.rq
- Approved
- syntax-struct-06.rq
- Approved
- syntax-struct-07.rq
- Approved
- syntax-struct-08.rq
- Approved
- syntax-struct-09.rq
- Approved
- syntax-struct-10.rq
- Approved
- syntax-struct-11.rq
- Approved
- syntax-struct-12.rq
- Approved
- syntax-struct-13.rq
- Approved
- syntax-struct-14.rq
- Approved
- syntax-union-01.rq
- Approved
- syntax-union-02.rq
- Approved
- syntax-bnode-01.rq
- Approved
- syntax-bnode-02.rq
- Approved
- syntax-bnode-03.rq
- Approved
- syntax-dataset-01.rq
- Approved
- syntax-dataset-02.rq
- Approved
- syntax-dataset-03.rq
- Approved
- syntax-dataset-04.rq
- Approved
- syntax-esc-01.rq
- Approved
- syntax-esc-02.rq
- Approved
- syntax-esc-03.rq
- Approved
- syntax-esc-04.rq
- Approved
- syntax-esc-05.rq
- Approved
- syntax-form-ask-02.rq
- Approved
- syntax-form-construct01.rq
- Approved
- syntax-form-construct02.rq
- Approved
- syntax-form-construct03.rq
- Approved
- syntax-form-construct04.rq
- Approved
- syntax-form-construct06.rq
- Approved
- syntax-form-describe01.rq
- Approved
- syntax-form-describe02.rq
- Approved
- syntax-form-select-01.rq
- Approved
- syntax-form-select-02.rq
- Approved
- syntax-function-01.rq
- Approved
- syntax-function-02.rq
- Approved
- syntax-function-03.rq
- Approved
- syntax-function-04.rq
- Approved
- syntax-general-01.rq
- Approved
- syntax-general-02.rq
- Approved
- syntax-general-03.rq
- Approved
- syntax-general-04.rq
- Approved
- syntax-general-05.rq
- Approved
- syntax-general-06.rq
- Approved
- syntax-general-07.rq
- Approved
- syntax-general-08.rq
- Approved
- syntax-general-09.rq
- Approved
- syntax-general-10.rq
- Approved
- syntax-general-11.rq
- Approved
- syntax-general-12.rq
- Approved
- syntax-general-13.rq
- Approved
- syntax-general-14.rq
- Approved
- syntax-graph-01.rq
- Approved
- syntax-graph-02.rq
- Approved
- syntax-graph-03.rq
- Approved
- syntax-graph-04.rq
- Approved
- syntax-graph-05.rq
- Approved
- syntax-keywords-01.rq
- Approved
- syntax-keywords-02.rq
- Approved
- syntax-keywords-03.rq
- Approved
- syntax-lists-01.rq
- Approved
- syntax-lists-02.rq
- Approved
- syntax-lists-03.rq
- Approved
- syntax-lists-04.rq
- Approved
- syntax-lists-05.rq
- Approved
- syn-blabel-cross-filter
- Approved
- syn-blabel-cross-graph-bad - negative syntax test, should fail to parse
- Approved
- syn-blabel-cross-optional-bad - negative syntax test, should fail to parse
- Approved
- syn-blabel-cross-union-bad - negative syntax test, should fail to parse
- Approved
- syn-bad-bnode-dot.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-bnodes-missing-pvalues-01.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-bnodes-missing-pvalues-02.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-empty-optional-01.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-empty-optional-02.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-filter-missing-parens.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-lone-list.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-lone-node.rq - negative syntax test, should fail to parse
- Approved
- syn-01.rq
- Approved
- syn-02.rq
- Approved
- syn-03.rq
- Approved
- syn-04.rq
- Approved
- syn-05.rq
- Approved
- syn-06.rq
- Approved
- syn-07.rq
- Approved
- syn-08.rq
- Approved
- syn-bad-01.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-02.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-03.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-04.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-05.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-06.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-07.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-08.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-09.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-10.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-11.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-12.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-13.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-14.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-15.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-16.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-17.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-18.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-19.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-20.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-21.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-22.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-23.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-24.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-25.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-26.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-27.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-28.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-29.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-30.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-31.rq - negative syntax test, should fail to parse
- Approved
- syn-09.rq
- Approved
- syn-10.rq
- Approved
- syn-11.rq
- Approved
- syn-bad-34.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-35.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-36.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-37.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-38.rq - negative syntax test, should fail to parse
- Approved
- syn-bad-GRAPH-breaks-BGP - negative syntax test, should fail to parse
- Approved
- bad: re-used BNode label after GRAPH
- syn-bad-OPT-breaks-BGP - negative syntax test, should fail to parse
- Approved
- bad: re-used BNode label after OPTIONAL
- syn-bad-UNION-breaks-BGP - negative syntax test, should fail to parse
- Approved
- bad: re-used BNode label after UNION
- syn-leading-digits-in-prefixed-names.rq
- Approved
- syntax-reduced-01.rq
- Approved
- syntax-reduced-02.rq
- Approved
Evaluation Tests
- Filter-nested - 1
- Approved
- A FILTER is in scope for variables bound at the same level of the query tree
- Filter-nested - 2
- Approved
- A FILTER in a group { ... } cannot see variables bound outside that group
- Filter-placement - 1
- Approved
- FILTER placed after the triple pattern that contains the variable tested
- Filter-placement - 2
- Approved
- FILTERs are scoped to the nearest enclosing group - placement within that group does not matter
- Filter-placement - 3
- Approved
- FILTERs are scoped to the nearest enclosing group - placement within that group does not matter
- Filter-scope - 1
- Approved
- FILTERs in an OPTIONAL do not extend to variables bound outside of the LeftJoin(...) operation
- Join operator with OPTs, BGPs, and UNIONs
- Approved
- Tests nested combination of Join with a BGP / OPT and a BGP / UNION
- Join operator with Graph and Union
- Approved
- Tests combination of Join operator with Graph on LHS and Union on RHS
- Join scope - 1
- Approved
- Variables have query scope.
- Nested Optionals - 1
- Approved
- Nested-optionals with a shared variable that does not appear in the middle pattern (a not well-formed query pattern as per "Semantics and Complexity" of SPARQL
- Nested Optionals - 2
- Approved
- OPTIONALs parse in a left-associative manner
- Optional-filter - 1
- Approved
- A FILTER inside an OPTIONAL can reference a variable bound in the required part of the OPTIONAL
- Optional-filter - 2 filters
- Approved
- FILTERs inside an OPTIONAL can refer to variables from both the required and optional parts of the construct.
- Optional-filter - scope of variable
- Approved
- FILTERs in an OPTIONAL do not extend to variables bound outside of the LeftJoin(...) operation
- ASK-1 (SPARQL XML results)
- Approved
- ASK-4 (SPARQL XML results)
- Approved
- ASK-7 (SPARQL XML results)
- Approved
- ASK-8 (SPARQL XML results)
- Approved
- Basic - Prefix/Base 1
- Approved
- Basic - Prefix/Base 2
- Approved
- Basic - Prefix/Base 3
- Approved
- Basic - Prefix/Base 4
- Approved
- Basic - Prefix/Base 5
- Approved
- Non-matching triple pattern
- Approved
- Patterns not in data don't match
- Basic - List 1
- Approved
- Basic - List 2
- Approved
- Basic - List 3
- Approved
- Basic - List 4
- Approved
- Prefix name 1
- Approved
- No local name - foo:
- Basic - Quotes 1
- Approved
- Basic - Quotes 2
- Approved
- Basic - Quotes 3
- Approved
- Basic - Quotes 4
- Approved
- Basic graph pattern - spoo
- Approved
- Test the :x :y :o1, :o2 construct
- Basic - Term 1
- Approved
- Basic - Term 2
- Approved
- Basic - Term 3
- Approved
- Basic - Term 4
- Approved
- Basic - Term 5
- Approved
- Basic - Term 6
- Approved
- Basic - Term 7
- Approved
- Basic - Term 8
- Approved
- Basic - Term 9
- Approved
- Basic - Var 1
- Approved
- Basic - Var 2
- Approved
- dawg-bnode-coreference
- Approved
- Query results must maintain bnode co-references in the dataset
- Test 'boolean effective value' - true
- Approved
- Non-zero numerics, non-empty strings, and the true boolean have an EBV of true
- Test 'boolean effective value' - false
- Approved
- Zero-valued numerics, the empty string, and the false boolean have an EBV of false
- Test 'boolean effective value' - &&
- Approved
- The && operator takes the EBV of its operands
- Test 'boolean effective value' - ||
- Approved
- The || operator takes the EBV of its operands
- Test 'boolean effective value' - optional
- Approved
- The EBV of an unbound value or a literal with an unknown datatype is a type error, which eliminates the solution in question
- Test 'boolean effective value' - unknown types
- Approved
- Negating a type error is still a type error
- Test literal 'true'
- Approved
- dawg-bound-query-001
- Approved
- BOUND test case.
- Cast to xsd:boolean
- Approved
- Cast to xsd:dateTime
- Approved
- Cast to xsd:double
- Approved
- Cast to xsd:decimal
- Approved
- Cast to xsd:float
- Approved
- Cast to xsd:integer
- Approved
- Cast to xsd:string
- Approved
- dawg-construct-identity
- Approved
- Graph equivalent result graph
- dawg-construct-subgraph
- Approved
- Result subgraph of original graph
- dawg-construct-reification-1
- Approved
- Reification of the default graph
- dawg-construct-reification-2
- Approved
- Reification of the default graph
- dawg-construct-optional
- Approved
- Reification of the default graph
- dataset-01
- Approved
- Data: default dataset / Query: default dataset
- dataset-02
- Approved
- Data: named dataset / Query: default dataset
- dataset-03
- Approved
- Data: named dataset / Query: named dataset dataset
- dataset-04
- Approved
- Data: named dataset / Query: default dataset
- dataset-05
- Approved
- Data: default and named / Query: default dataset
- dataset-06
- Approved
- Data: default and named / Query: named dataset
- dataset-07
- Approved
- Data: default and named / Query: all data by UNION
- dataset-08
- Approved
- Data: default and named / Query: common subjects
- dataset-09
- Data: default and named (bnodes) / Query: common subjects
- dataset-09b
- Approved
- Data: default and named (bnodes) / Query: common subjects
- dataset-10
- Data: default and named (same data, with bnodes) / Query: common subjects
- dataset-10b
- Approved
- Data: default and named (same data, with bnodes) / Query: common subjects
- dataset-11
- Approved
- Data: default and named (several) / Query: get everything
- dataset-12
- Data: default (several) and named (several) / Query: get everything
- dataset-12b
- Approved
- Data: default (several) and named (several) / Query: get everything
- Numbers: Distinct
- Approved
- Strings: Distinct
- Approved
- Nodes: Distinct
- Approved
- Opt: Distinct
- Approved
- All: Distinct
- Approved
- SELECT DISTINCT *
- Approved
- Numbers: No distinct
- Approved
- Strings: No distinct
- Approved
- Nodes: No distinct
- Approved
- Opt: No distinct
- Approved
- All: No distinct
- Approved
- datatype-1
- Approved
- datatype-2 : Literals with a datatype
- Approved
- updated from original test case: eliminated ordering from test
- datatype-3 : Literals with a datatype of xsd:string
- Approved
- updated from original test case: eliminated ordering from test
- isBlank-1
- Approved
- isIRI-1
- Approved
- isLiteral
- Approved
- isURI-1
- Approved
- lang-1 : Literals with a lang tag of some kind
- Approved
- updated from original test case: eliminated ordering from test
- lang-2 : Literals with a lang tag of ''
- Approved
- updated from original test case: eliminated ordering from test
- lang-3 : Graph matching with lang tag being a different case
- Approved
- updated from original test case: eliminated ordering from test
- LangMatches-1
- Approved
- langMatches(lang(?v), 'en-GB') matches 'abc'@en-gb
- LangMatches-2
- Approved
- langMatches(lang(?v), 'en') matches 'abc'@en, 'abc'@en-gb
- LangMatches-3
- Approved
- langMatches(lang(?v), '*') matches 'abc'@en, 'abc'@en-gb, 'abc'@fr
- LangMatches-4
- Approved
- ! langMatches(lang(?v), '*') matches 'abc'
- LangMatches-basic
- Approved
- the basic range 'de-de' does not match 'de-Latn-de'
- str-1
- Approved
- str-2
- Approved
- str-3
- Approved
- str-4
- Approved
- lang-case-insensitive-eq
- Approved
- 'xyz'@en = 'xyz'@EN
- lang-case-insensitive-ne
- Approved
- 'xyz'@en != 'xyz'@EN
- sameTerm-eq
- Approved
- sameTerm(?v1, ?v2) && ?v1 = ?v2
- sameTerm-not-eq
- Approved
- !sameTerm(?v1, ?v2) && ?v1 = ?v2
- sameTerm-simple
- Approved
- sameTerm(?v1, ?v2)
- Equality 1-1
- Approved
- = in FILTER expressions is value equality
- Equality 1-2
- Approved
- = in FILTER expressions is value equality
- Equality - 2 var - test equals
- Approved
- = in FILTER is value equality
- Equality - 2 var - test not equals
- Approved
- != in FILTER is value inequality
- Equality 1-3
- Approved
- Numerics are not value-equivalent to plain literals
- Equality 1-4
- Approved
- = compares plain literals and unknown types with the same lexical form as false
- Equality 1-5
- Approved
- = on IRI terms
- Equality 1-1 -- graph
- Approved
- Graph pattern matching matches exact terms, not values
- Equality 1-2 -- graph
- Approved
- Graph pattern matching matches exact terms, not values
- Equality 1-3 -- graph
- Approved
- Graph pattern matching matches exact terms, not values
- Equality 1-4 -- graph
- Approved
- Graph pattern matching matches exact terms, not values
- Equality 1-5 -- graph
- Approved
- Graph pattern matching matches exact terms, not values
- Greater-than or equals
- Approved
- >= in FILTER expressions
- Less-than or equals
- Approved
- <= in FILTER expressions
- Subtraction
- Approved
- A - B in FILTER expressions
- Multiplication
- Approved
- A * B in FILTER expressions
- Addition
- Approved
- A + B in FILTER expressions
- Unary Minus
- Approved
- -A in FILTER expressions
- Unary Plusn
- Approved
- +A in FILTER expressions
- graph-01
- Approved
- Data: default graph / Query: default graph
- graph-02
- Approved
- Data: named graph / Query: default graph
- graph-03
- Approved
- Data: named graph / Query: named graph graph
- graph-04
- Approved
- Data: named graph / Query: default graph
- graph-05
- Approved
- Data: default and named / Query: default graph
- graph-06
- Approved
- Data: default and named / Query: named graph
- graph-07
- Approved
- Data: default and named / Query: all data by UNION
- graph-08
- Approved
- Data: default and named / Query: common subjects
- graph-09
- Approved
- Data: default and named (bnodes) / Query: common subjects
- graph-10
- Data: default and named (same data, with bnodes) / Query: common subjects
- graph-10b
- Approved
- Data: default and named (same data, with bnodes) / Query: common subjects
- graph-11
- Approved
- Data: default and named (several) / Query: get everything
- kanji-01
- Approved
- kanji-02
- Approved
- normalization-01
- Approved
- normalization-02
- Approved
- Example 1 from http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JulSep/0096
- normalization-03
- Approved
- Example 2 from http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JulSep/0096
- date-1
- Added type : xsd:date '='
- date-2
- Approved
- Added type : xsd:date '!='
- date-3
- Approved
- Added type : xsd:date '>'
- date-4
- Approved
- xsd:date ORDER BY
- open-cmp-01
- Approved
- Find things that compare with < or >
- open-cmp-02
- Approved
- Find things that compare with <= and >
- open-eq-01
- Approved
- graph match - no lexical form in data (assumes no value matching)
- open-eq-02
- Approved
- graph match - unknown type
- open-eq-03
- Approved
- Filter(?v=1)
- open-eq-04
- Approved
- Filter(?v!=1)
- open-eq-05
- Approved
- FILTER(?v = unknown type)
- open-eq-06
- Approved
- FILTER(?v != unknown type)
- open-eq-07
- Approved
- Test of '='
- open-eq-08
- Approved
- Test of '!='
- open-eq-09
- Approved
- Test of '='
- open-eq-10
- Approved
- Test of '!='
- open-eq-11
- Approved
- test of '=' || '!='
- open-eq-12
- Approved
- find pairs that don't value-compare
- OPTIONAL-FILTER
- Approved
- FILTER inside an OPTIONAL does not block an entire solution
- OPTIONAL - Outer FILTER
- Approved
- FILTER outside an OPTIONAL tests bound and unbound variables
- OPTIONAL - Outer FILTER with BOUND
- Approved
- Use !bound to only run outer FILTERs against variables bound in an OPTIONAL
- OPTIONAL - Inner FILTER with negative EBV for outer variables
- Approved
- FILTER inside an OPTIONAL does not corrupt the entire solution
- dawg-optional-filter-005-not-simplified
- Double curly braces do NOT get simplified to single curly braces early on, before filters are scoped
- dawg-optional-filter-005-simplified
- Double curly braces get simplified to single curly braces early on, before filters are scoped
- One optional clause
- Approved
- One optional clause
- Two optional clauses
- Approved
- One optional clause
- Complex optional semantics: 1
- Approved
- Complex optional: LeftJoin(LeftJoin(BGP(..),{..}),Join(BGP(..),Union(..,..)))
- Complex optional semantics: 2
- Approved
- Complex optional: LeftJoin(Join(BGP(..),Graph(var,{..})),Union(..,..))
- Complex optional semantics: 3
- Approved
- Complex optional: LeftJoin(Join(BGP(..),Graph(var,{..})),LeftJoin(BGP(..),{..}))
- Complex optional semantics: 4
- Approved
- Complex optional: LeftJoin(Join(BGP(..),Union(..,..)),Join(BGP(..),Graph(varOrIRI,{..})))
- Union is not optional
- Approved
- Union is not optional
- SELECT REDUCED *
- Approved
- SELECT REDUCED ?x with strings
- Approved
- regex-query-001
- Approved
- Simple unanchored match test
- regex-query-002
- Approved
- Case insensitive unanchored match test
- regex-query-003
- Approved
- Use/mention test
- regex-query-004
- Approved
- str()+URI test
- Limit 1
- Approved
- Limit 2
- Approved
- Limit 3
- Approved
- Limit 4
- Approved
- Offset 1
- Approved
- Offset 2
- Approved
- Offset 3
- Approved
- Offset 4
- Approved
- Slice 1
- Approved
- Slice 2
- Approved
- Slice 3
- Approved
- Slice 4
- Approved
- Slice 5
- Approved
- sort-1
- Approved
- Alphabetic sort (ascending) on untyped literals
- sort-10
- Approved
- Alphabetic sort (descending) on datatyped (string) literals
- sort-2
- Approved
- Alphabetic sort (descending) on untyped literals
- sort-3
- Approved
- Sort on (possibly unbound) URIs
- sort-4
- Approved
- Sort on datatyped (integer) literals
- sort-5
- Approved
- Sort first on untyped literals (ascending), then on datatyped (integer) literals (descending
- sort-6
- Approved
- Sort on mixed result of uris and literals.
- sort-7
- Approved
- Sort on comparable mixed typed literals (integer and float)
- sort-8
- Approved
- Sort on several mixed values (bnode, uri, literal)
- sort-9
- Approved
- Alphabetic sort (ascending) on datatyped (string) literals
- Builtin sort
- Approved
- Sort by a builtin operator
- Function sort
- Approved
- Sort by function invocation
- Expression sort
- Approved
- Sort by a bracketted expression
- dawg-triple-pattern-001
- Approved
- Simple triple match
- dawg-triple-pattern-002
- Approved
- Simple triple match
- dawg-triple-pattern-003
- Approved
- Simple triple match - repeated variable
- dawg-triple-pattern-004
- Approved
- Simple triple match - two triples, common variable
- tP-double-double
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-double-float
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-double-decimal
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-float-float
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-float-decimal
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-decimal-decimal
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-integer-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-nonPositiveInteger-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-negativeInteger-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-long-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-int-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-short-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-byte-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-nonNegativeInteger-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-unsignedLong-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-unsignedInt-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-unsignedShort-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-unsignedByte-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-positiveInteger-short
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-short-double
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-short-float
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-short-decimal
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-short-short-fail
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-byte-short-fail
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-short-long-fail
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-short-int-fail
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-short-byte-fail
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-double-float-fail
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-double-decimal-fail
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
- tP-float-decimal-fail
- Approved
- Positive test: product of type promotion within the xsd:decimal type tree.
Syntax test
Query
data-r2/syntax-sparql1/syntax-basic-01.rq
SELECT *
WHERE { }
Syntax test
Query
data-r2/syntax-sparql1/syntax-basic-02.rq
SELECT * {}
Syntax test
Query
data-r2/syntax-sparql1/syntax-basic-03.rq
# No trailing dot
PREFIX : <http://example.org/ns#>
SELECT *
WHERE { ?x ?y ?z }
Syntax test
Query
data-r2/syntax-sparql1/syntax-basic-04.rq
# With trailing dot
SELECT *
WHERE { ?x ?y ?z . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-basic-05.rq
# Two triples : no trailing dot
SELECT *
WHERE { ?x ?y ?z . ?a ?b ?c }
Syntax test
Query
data-r2/syntax-sparql1/syntax-basic-06.rq
# Two triples : with trailing dot
SELECT *
WHERE { ?x ?y ?z . ?a ?b ?c . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-bnodes-01.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { [:p :q ] }
Syntax test
Query
data-r2/syntax-sparql1/syntax-bnodes-02.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { [] :p :q }
Syntax test
Query
data-r2/syntax-sparql1/syntax-bnodes-03.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { [ ?x ?y ] :p [ ?pa ?b ] }
Syntax test
Query
data-r2/syntax-sparql1/syntax-bnodes-04.rq
PREFIX : <http://example.org/ns#>
SELECT *
WHERE { [ :p :q ; ] }
Syntax test
Query
data-r2/syntax-sparql1/syntax-bnodes-05.rq
PREFIX : <http://example.org/ns#>
SELECT *
WHERE { _:a :p1 :q1 .
_:a :p2 :q2 .
}
Syntax test
Query
data-r2/syntax-sparql1/syntax-expr-01.rq
SELECT *
WHERE { ?s ?p ?o . FILTER (?o) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-expr-02.rq
SELECT *
WHERE { ?s ?p ?o . FILTER REGEX(?o, "foo") }
Syntax test
Query
data-r2/syntax-sparql1/syntax-expr-03.rq
SELECT *
WHERE { ?s ?p ?o . FILTER REGEX(?o, "foo", "i") }
Syntax test
Query
data-r2/syntax-sparql1/syntax-expr-04.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
WHERE { ?s ?p ?o . FILTER xsd:integer(?o) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-expr-05.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
WHERE { ?s ?p ?o . FILTER :myFunc(?s,?o) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-forms-01.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { ( [ ?x ?y ] ) :p ( [ ?pa ?b ] 57 ) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-forms-02.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { ( [] [] ) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-limit-offset-01.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY ?o
LIMIT 5
Syntax test
Query
data-r2/syntax-sparql1/syntax-limit-offset-02.rq
# LIMIT and OFFSET can be in either order
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY ?o
LIMIT 5
OFFSET 3
Syntax test
Query
data-r2/syntax-sparql1/syntax-limit-offset-03.rq
# LIMIT and OFFSET can be in either order
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY ?o
OFFSET 3
LIMIT 5
Syntax test
Query
data-r2/syntax-sparql1/syntax-limit-offset-04.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY ?o
OFFSET 3
Syntax test
Query
data-r2/syntax-sparql1/syntax-lists-01.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { ( ?x ) :p ?z }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lists-02.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { ?x :p ( ?z ) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lists-03.rq
SELECT * WHERE { ( ?z ) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lists-04.rq
SELECT * WHERE { ( ( ?z ) ) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lists-05.rq
SELECT * WHERE { ( ( ) ) }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-01.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p "x" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-02.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p 'x' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-03.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p "x\"y'z" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-04.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p 'x"y\'z' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-05.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p "x\"" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-06.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p 'x\'' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-07.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p 123 }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-08.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p 123. . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-09.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p """Long
""
Literal
""" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-10.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p '''Long
'' """
Literal''' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-11.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p """Long""\"Literal""" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-12.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p '''Long''\'Literal''' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-13.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p """Long\"""Literal""" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-14.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p '''Long\'''Literal''' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-15.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p '''Long '' Literal''' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-16.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p '''Long ' Literal''' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-17.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p '''Long''\\Literal with '\\ single quotes ''' }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-18.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p """Long "" Literal""" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-19.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p """Long " Literal""" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-lit-20.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT * WHERE { :x :p """Long""\\Literal with "\\ single quotes""" }
Syntax test
Query
data-r2/syntax-sparql1/syntax-order-01.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY ?o
Syntax test
Query
data-r2/syntax-sparql1/syntax-order-02.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY (?o+5)
Syntax test
Query
data-r2/syntax-sparql1/syntax-order-03.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY ASC(?o)
Syntax test
Query
data-r2/syntax-sparql1/syntax-order-04.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY DESC(?o)
Syntax test
Query
data-r2/syntax-sparql1/syntax-order-05.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY DESC(:func(?s, ?o))
Syntax test
Query
data-r2/syntax-sparql1/syntax-order-06.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY
DESC(?o+57) :func2(?o) ASC(?s)
Syntax test
Query
data-r2/syntax-sparql1/syntax-order-07.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?s ?p ?o }
ORDER BY str(?o)
Syntax test
Query
data-r2/syntax-sparql1/syntax-pat-01.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ }
Syntax test
Query
data-r2/syntax-sparql1/syntax-pat-02.rq
# No DOT after optional
PREFIX : <http://example.org/ns#>
SELECT *
{ ?a :b :c OPTIONAL{:x :y :z} :x ?y ?z }
Syntax test
Query
data-r2/syntax-sparql1/syntax-pat-03.rq
# No DOT between non-triples patterns
PREFIX : <http://example.org/ns#>
SELECT *
{ ?a :b :c
OPTIONAL{:x :y :z}
{ :x1 :y1 :z1 } UNION { :x2 :y2 :z2 }
}
Syntax test
Query
data-r2/syntax-sparql1/syntax-pat-04.rq
# No DOT between non-triples patterns
PREFIX : <http://example.org/ns#>
SELECT *
{
OPTIONAL{:x :y :z}
?a :b :c
{ :x1 :y1 :z1 } UNION { :x2 :y2 :z2 }
}
Syntax test
Query
data-r2/syntax-sparql1/syntax-qname-01.rq
PREFIX : <http://example.org/ns#>
SELECT *
{ ?x :p ?z }
Syntax test
Query
data-r2/syntax-sparql1/syntax-qname-02.rq
PREFIX : <http://example.org/ns#>
SELECT *
WHERE { :x :p :z . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-qname-03.rq
PREFIX : <http://example.org/ns#>
SELECT *
WHERE { :_1 :p.rdf :z.z . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-qname-04.rq
PREFIX : <http://example.org/ns#>
PREFIX a: <http://example.org/ns2#>
SELECT *
WHERE { : a: :a . : : : . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-qname-05.rq
PREFIX : <>
SELECT *
WHERE { : : : . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-qname-06.rq
PREFIX : <#>
SELECT *
WHERE { : : : . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-qname-07.rq
BASE <http://example.org/>
PREFIX : <#>
SELECT *
WHERE { : : : . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-qname-08.rq
BASE <http://example.org/>
PREFIX : <#>
PREFIX x.y: <x#>
SELECT *
WHERE { :a.b x.y: : . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-01.rq
# Operator
PREFIX : <http://example.org/ns#>
SELECT *
{ OPTIONAL { } }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-02.rq
# Operator
PREFIX : <http://example.org/ns#>
SELECT *
{ OPTIONAL { :a :b :c } }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-03.rq
# Triple, no DOT, operator
PREFIX : <http://example.org/ns#>
SELECT *
{ :p :q :r OPTIONAL { :a :b :c } }
Syntax test
Query