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
data-r2/syntax-sparql1/syntax-struct-05.rq
# Triple, DOT, operator
PREFIX : <http://example.org/ns#>
SELECT *
{ :p :q :r . OPTIONAL { :a :b :c } }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-06.rq
# Triple, DOT, operator, DOT
PREFIX : <http://example.org/ns#>
SELECT *
{ :p :q :r . OPTIONAL { :a :b :c } . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-07.rq
# Operator, no DOT
PREFIX : <http://example.org/ns#>
SELECT *
{ OPTIONAL { :a :b :c } }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-08.rq
# Operator, DOT
PREFIX : <http://example.org/ns#>
SELECT *
{ OPTIONAL { :a :b :c } . }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-09.rq
# Operator, triple
PREFIX : <http://example.org/ns#>
SELECT *
{ OPTIONAL { :a :b :c } ?x ?y ?z }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-10.rq
# Operator, DOT triple
PREFIX : <http://example.org/ns#>
SELECT *
{ OPTIONAL { :a :b :c } . ?x ?y ?z }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-11.rq
# Triple, semi, operator
PREFIX : <http://example.org/ns#>
SELECT *
{ :p :q :r ; OPTIONAL { :a :b :c } }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-12.rq
# Triple, semi, DOT, operator
PREFIX : <http://example.org/ns#>
SELECT *
{ :p :q :r ; . OPTIONAL { :a :b :c } }
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-13.rq
# Two elements in the group
PREFIX : <http://example.org/ns#>
SELECT *
{ :p :q :r . OPTIONAL { :a :b :c }
:p :q :r . OPTIONAL { :a :b :c }
}
Syntax test
Query
data-r2/syntax-sparql1/syntax-struct-14.rq
# Two elements in the group
PREFIX : <http://example.org/ns#>
SELECT *
{ :p :q :r OPTIONAL { :a :b :c }
:p :q :r OPTIONAL { :a :b :c }
}
Syntax test
Query
data-r2/syntax-sparql1/syntax-union-01.rq
PREFIX : <http://example.org/ns#>
SELECT *
{
{ ?s ?p ?o } UNION { ?a ?b ?c }
}
Syntax test
Query
data-r2/syntax-sparql1/syntax-union-02.rq
PREFIX : <http://example.org/ns#>
SELECT *
{
{ ?s ?p ?o } UNION { ?a ?b ?c } UNION { ?r ?s ?t }
}
Syntax test
Query
data-r2/syntax-sparql2/syntax-bnode-01.rq
PREFIX : <http://example.org/>
SELECT * WHERE { [] :p [] }
Syntax test
Query
data-r2/syntax-sparql2/syntax-bnode-02.rq
PREFIX : <http://example.org/>
# Tab
SELECT * WHERE { [ ] :p [
] }
Syntax test
Query
data-r2/syntax-sparql2/syntax-bnode-03.rq
PREFIX : <http://example.org/>
SELECT * WHERE { [ :p :q
] }
Syntax test
Query
data-r2/syntax-sparql2/syntax-dataset-01.rq
PREFIX : <http://example.org/>
SELECT ?x
FROM <http://example.org/graph>
WHERE {}
Syntax test
Query
data-r2/syntax-sparql2/syntax-dataset-02.rq
PREFIX : <http://example.org/>
SELECT ?x
FROM NAMED <http://example.org/graph1>
WHERE {}
Syntax test
Query
data-r2/syntax-sparql2/syntax-dataset-03.rq
PREFIX : <http://example.org/>
SELECT ?x
FROM NAMED :graph1
FROM NAMED :graph2
WHERE {}
Syntax test
Query
data-r2/syntax-sparql2/syntax-dataset-04.rq
PREFIX : <http://example.org/>
SELECT ?x
FROM :g1
FROM :g2
FROM NAMED :graph1
FROM NAMED :graph2
WHERE {}
Syntax test
Query
data-r2/syntax-sparql2/syntax-esc-01.rq
SELECT *
WHERE { <x> <p> "\t" }
Syntax test
Query
data-r2/syntax-sparql2/syntax-esc-02.rq
SELECT *
WHERE { <x> <p> "x\t" }
Syntax test
Query
data-r2/syntax-sparql2/syntax-esc-03.rq
SELECT *
WHERE { <x> <p> "\tx" }
Syntax test
Query
data-r2/syntax-sparql2/syntax-esc-04.rq
PREFIX : <http://example/>
SELECT *
WHERE { <\u0078> :\u0070 ?xx\u0078 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-esc-05.rq
PREFIX : <http://example/>
SELECT *
# Comments can contain \ u
# <\u0078> :\u0070 ?xx\u0078
WHERE { <\u0078> :\u0070 ?xx\u0078 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-ask-02.rq
ASK {}
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-construct01.rq
CONSTRUCT { ?s <p1> <o> . ?s <p2> ?o } WHERE {?s ?p ?o}
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-construct02.rq
CONSTRUCT { ?s <p1> <o> . ?s <p2> ?o .} WHERE {?s ?p ?o}
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-construct03.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
CONSTRUCT { [] rdf:subject ?s ;
rdf:predicate ?p ;
rdf:object ?o }
WHERE {?s ?p ?o}
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-construct04.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
CONSTRUCT { [] rdf:subject ?s ;
rdf:predicate ?p ;
rdf:object ?o . }
WHERE {?s ?p ?o}
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-construct06.rq
CONSTRUCT {} WHERE {}
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-describe01.rq
DESCRIBE <u>
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-describe02.rq
DESCRIBE <u> ?u WHERE { <x> <q> ?u . }
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-select-01.rq
SELECT * WHERE { }
Syntax test
Query
data-r2/syntax-sparql2/syntax-form-select-02.rq
SELECT * { }
Syntax test
Query
data-r2/syntax-sparql2/syntax-function-01.rq
PREFIX q: <http://example.org/>
SELECT * WHERE { FILTER (q:name()) }
Syntax test
Query
data-r2/syntax-sparql2/syntax-function-02.rq
PREFIX q: <http://example.org/>
SELECT * WHERE { FILTER (q:name( )) }
Syntax test
Query
data-r2/syntax-sparql2/syntax-function-03.rq
PREFIX q: <http://example.org/>
SELECT * WHERE { FILTER (q:name(
)) }
Syntax test
Query
data-r2/syntax-sparql2/syntax-function-04.rq
PREFIX q: <http://example.org/>
SELECT * WHERE { FILTER (q:name(1
)) . FILTER (q:name(1,2)) . FILTER (q:name(1
,2))}
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-01.rq
SELECT * WHERE { <a><b><c> }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-02.rq
SELECT * WHERE { <a><b>_:x }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-03.rq
SELECT * WHERE { <a><b>1 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-04.rq
SELECT * WHERE { <a><b>+11 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-05.rq
SELECT * WHERE { <a><b>-1 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-06.rq
SELECT * WHERE { <a><b>1.0 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-07.rq
SELECT * WHERE { <a><b>+1.0 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-08.rq
SELECT * WHERE { <a><b>-1.0 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-09.rq
SELECT * WHERE { <a><b>1.0e0 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-10.rq
SELECT * WHERE { <a><b>+1.0e+1 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-11.rq
SELECT * WHERE { <a><b>-1.0e-1 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-12.rq
# Legal, if unusual, IRIs
SELECT * WHERE { <a> <b> <?z> }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-13.rq
# Legal, if unusual, IRIs
BASE <http://example/page.html>
SELECT * WHERE { <a> <b> <#x> }
Syntax test
Query
data-r2/syntax-sparql2/syntax-general-14.rq
# Legal, if unusual, IRIs
BASE <http://example/page.html?query>
SELECT * WHERE { <a> <b> <¶m=value> }
Syntax test
Query
data-r2/syntax-sparql2/syntax-graph-01.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
GRAPH ?g { }
}
Syntax test
Query
data-r2/syntax-sparql2/syntax-graph-02.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
GRAPH :a { }
}
Syntax test
Query
data-r2/syntax-sparql2/syntax-graph-03.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
GRAPH ?g { :x :b ?a }
}
Syntax test
Query
data-r2/syntax-sparql2/syntax-graph-04.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
:x :p :z
GRAPH ?g { :x :b ?a }
}
Syntax test
Query
data-r2/syntax-sparql2/syntax-graph-05.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
:x :p :z
GRAPH ?g { :x :b ?a . GRAPH ?g2 { :x :p ?x } }
}
Syntax test
Query
data-r2/syntax-sparql2/syntax-keywords-01.rq
# use keyword FILTER as a namespace prefix
PREFIX FILTER: <http://example.org/ns#>
SELECT *
WHERE { ?x FILTER:foo ?z FILTER (?z) }
Syntax test
Query
data-r2/syntax-sparql2/syntax-keywords-02.rq
# use keyword FILTER as a local name
PREFIX : <http://example.org/ns#>
SELECT *
WHERE { ?x :FILTER ?z FILTER (?z) }
Syntax test
Query
data-r2/syntax-sparql2/syntax-keywords-03.rq
# use keyword UNION as a namespace prefix
PREFIX UNION: <http://example.org/ns#>
SELECT *
WHERE { ?x UNION:foo ?z }
Syntax test
Query
data-r2/syntax-sparql2/syntax-lists-01.rq
PREFIX : <http://example.org/>
SELECT * WHERE { () :p 1 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-lists-02.rq
PREFIX : <http://example.org/>
SELECT * WHERE { ( ) :p 1 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-lists-03.rq
PREFIX : <http://example.org/>
SELECT * WHERE { (
) :p 1 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-lists-04.rq
PREFIX : <http://example.org/>
SELECT * WHERE { ( 1 2
) :p 1 }
Syntax test
Query
data-r2/syntax-sparql2/syntax-lists-05.rq
PREFIX : <http://example.org/>
SELECT * WHERE { ( 1 2
) }
Syntax test
Query
data-r2/syntax-sparql3/syn-blabel-cross-filter.rq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# BNode label used across a FILTER.
PREFIX : <http://xmlns.com/foaf/0.1/>
ASK { _:who :homepage ?homepage
FILTER REGEX(?homepage, "^http://example.org/")
_:who :schoolHomepage ?schoolPage }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-blabel-cross-graph-bad.rq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# BNode label used across a GRAPH.
PREFIX : <http://xmlns.com/foaf/0.1/>
ASK { _:who :homepage ?homepage
GRAPH ?g { ?someone :made ?homepage }
_:who :schoolHomepage ?schoolPage }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-blabel-cross-optional-bad.rq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# BNode label used across an OPTIONAL.
# This isn't necessarily a *syntax* test, but references to bnode labels
# may not span basic graph patterns.
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
ASK { _:who foaf:homepage ?homepage
OPTIONAL { ?someone foaf:made ?homepage }
_:who foaf:schoolHomepage ?schoolPage }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-blabel-cross-union-bad.rq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# BNode label used across a UNION.
# This isn't necessarily a *syntax* test, but references to bnode labels
# may not span basic graph patterns.
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
ASK { _:who foaf:homepage ?homepage
{ ?someone foaf:made ?homepage }
UNION
{ ?homepage foaf:maker ?someone }
_:who foaf:schoolHomepage ?schoolPage }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-bnode-dot.rq
# NegativeSyntax/bnode-dot.rq
SELECT * WHERE {[] . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-bnodes-missing-pvalues-01.rq
# NegativeSyntax/bnodes-missing-pvalues.rq
PREFIX : <http://example/ns#>
SELECT * WHERE { [,] :p [;] . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-bnodes-missing-pvalues-02.rq
# NegativeSyntax/bnodes-missing-pvalues-02.rq
SELECT * WHERE {() . [,] . [,;] }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-empty-optional-01.rq
# NegativeSyntax/empty-optional.rq
SELECT * { OPTIONAL FILTER (?x) }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-empty-optional-02.rq
# NegativeSyntax/empty-optional-02.rq
SELECT * { OPTIONAL GRAPH ?v OPTIONAL FILTER (?x) }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-filter-missing-parens.rq
# NegativeSyntax/filter-missing-parens.rq
SELECT * { ?s ?p ?o FILTER ?x }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-lone-list.rq
# NegativeSyntax/lone-list.rq
SELECT * WHERE { () }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-lone-node.rq
# NegativeSyntax/lone-node.rq
SELECT * WHERE {<a>}
Syntax test
Query
data-r2/syntax-sparql3/syn-01.rq
# Dot after triple
SELECT * WHERE
{ ?s ?p ?o . }
Syntax test
Query
data-r2/syntax-sparql3/syn-02.rq
# No dot after triple
SELECT * WHERE
{ ?s ?p ?o }
Syntax test
Query
data-r2/syntax-sparql3/syn-03.rq
SELECT * WHERE
{ ?s ?p ?o . ?s ?p ?o . }
Syntax test
Query
data-r2/syntax-sparql3/syn-04.rq
# No dot
SELECT * WHERE
{ ?s ?p ?o . ?s ?p ?o }
Syntax test
Query
data-r2/syntax-sparql3/syn-05.rq
# DOT after non-triples
SELECT * WHERE
{ FILTER (?o>5) . }
Syntax test
Query
data-r2/syntax-sparql3/syn-06.rq
# DOT after non-triples
SELECT * WHERE
{ FILTER (?o>5) . ?s ?p ?o }
Syntax test
Query
data-r2/syntax-sparql3/syn-07.rq
# Trailing ;
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p :o ; FILTER(?x) }
Syntax test
Query
data-r2/syntax-sparql3/syn-08.rq
# Broken ;
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p :o ; . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-01.rq
# More a test that bad syntax tests work!
PREFIX ex: <http://example/ns#>
SELECT *
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-02.rq
# Missing DOT, 2 triples
PREFIX : <http://example/ns#>
SELECT *
{ :s1 :p1 :o1 :s2 :p2 :o2 . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-03.rq
# Missing DOT between triples
PREFIX : <http://example/ns#>
SELECT *
{ :s1 :p1 :o1 :s2 :p2 :o2 . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-04.rq
# Missing DOT after ; between triples
PREFIX : <http://example/ns#>
SELECT *
{ :s1 :p1 :o1 ; :s2 :p2 :o2 . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-05.rq
# DOT, no triples
SELECT * WHERE
{ . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-06.rq
# DOT, no triples
SELECT * WHERE
{ . . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-07.rq
# DOT, then triples
SELECT * WHERE
{ . ?s ?p ?o }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-08.rq
# Multiple DOTs
SELECT * WHERE
{ ?s ?p ?o . . }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-09.rq
# Multiple DOTs
SELECT * WHERE
{ ?s ?p ?o .. }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-10.rq
# Multiple DOTs
SELECT * WHERE
{ ?s ?p ?o . . ?s1 ?p1 ?o1 }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-11.rq
# Multiple DOTs
SELECT * WHERE
{ ?s ?p ?o .. ?s1 ?p1 ?o1 }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-12.rq
# Multiple DOTs
SELECT * WHERE
{ ?s ?p ?o . . ?s1 ?p1 ?o1 }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-13.rq
# Multiple DOTs
SELECT * WHERE
{ ?s ?p ?o . ?s1 ?p1 ?o1 .. }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-14.rq
# DOT, no triples
SELECT * WHERE
{ . FILTER(?x) }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-15.rq
# Broken ;
SELECT * WHERE
{ ; FILTER(?x) }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-16.rq
# Broken ;
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s ; :p :o }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-17.rq
# Broken ;
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p ; }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-18.rq
# Broken ;
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p ; FILTER(?x) }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-19.rq
# Broken ;
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p :o . ; }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-20.rq
# Broken ,
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s , :p :o }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-21.rq
# Broken ,
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p , :o }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-22.rq
# Broken ,
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p , }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-23.rq
# Broken , can't trail
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p :o , }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-24.rq
# Broken , (should be ;)
PREFIX : <http://example/ns#>
SELECT * WHERE
{ :s :p1 :o1 , :p2 :o2}
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-25.rq
CONSTRUCT
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-26.rq
# Tokenizing matters.
# "longest token rule" means this isn't a "<" and "&&"
PREFIX : <http://example/ns#>
SELECT * WHERE
{ FILTER (?x<?a&&?b>?y) }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-27.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { :x [] :q }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-28.rq
PREFIX : <http://example.org/ns#>
SELECT * WHERE { :x _:a :q }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-29.rq
# Syntactic blank node in a filter.
SELECT * WHERE { <a><b>_:x FILTER(_:x) }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-30.rq
# Syntactic blank node in a filter.
SELECT * WHERE { <a><b>_:x FILTER(_:x < 3) }
Negative syntax test
Query
data-r2/syntax-sparql3/syn-bad-31.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
GRAPH [] { }
}
Syntax test
Query
data-r2/syntax-sparql4/syn-09.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
_:a ?p ?v . _:a ?q 1
}
Syntax test
Query
data-r2/syntax-sparql4/syn-10.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
{ _:a ?p ?v . _:a ?q _:a } UNION { _:b ?q _:c }
}
Syntax test
Query
data-r2/syntax-sparql4/syn-11.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
_:a ?p ?v . FILTER(true) . [] ?q _:a
}
Negative syntax test
Query
data-r2/syntax-sparql4/syn-bad-34.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
_:a ?p ?v . { _:a ?q 1 }
}
Negative syntax test
Query
data-r2/syntax-sparql4/syn-bad-35.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
{ _:a ?p ?v . } _:a ?q 1
}
Negative syntax test
Query
data-r2/syntax-sparql4/syn-bad-36.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
{ _:a ?p ?v . } UNION { _:a ?q 1 }
}
Negative syntax test
Query
data-r2/syntax-sparql4/syn-bad-37.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
{ _:a ?p ?v . } _:a ?q 1
}
Negative syntax test
Query
data-r2/syntax-sparql4/syn-bad-38.rq
PREFIX : <http://example.org/>
SELECT *
WHERE
{
_:a ?p ?v . OPTIONAL {_:a ?q 1 }
}
Negative syntax test
bad: re-used BNode label after GRAPH
Query
data-r2/syntax-sparql4/syn-bad-GRAPH-breaks-BGP.rq
# bad: re-used BNode label after GRAPH
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example.org/>
SELECT *
WHERE
{
_:a ?p ?v . GRAPH ?g { ?s ?p ?v } _:a ?q 1
}
Negative syntax test
bad: re-used BNode label after OPTIONAL
Query
data-r2/syntax-sparql4/syn-bad-OPT-breaks-BGP.rq
# bad: re-used BNode label after OPTIONAL
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example.org/>
SELECT *
WHERE
{
_:a ?p ?v . OPTIONAL { ?s ?p ?v } _:a ?q 1
}
Negative syntax test
bad: re-used BNode label after UNION
Query
data-r2/syntax-sparql4/syn-bad-UNION-breaks-BGP.rq
# bad: re-used BNode label after UNION
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# This isn't necessarily a *syntax* test, but references to bnode labels
# may not span basic graph patterns.
PREFIX : <http://example.org/>
SELECT *
WHERE
{
_:a ?p ?v1 { ?s <p1> ?o } UNION { ?s <p2> ?o } _:a ?p ?v2
}
Syntax test
Query
data-r2/syntax-sparql4/syn-leading-digits-in-prefixed-names.rq
PREFIX dob: <http://placetime.com/interval/gregorian/1977-01-18T04:00:00Z/P>
PREFIX time: <http://www.ai.sri.com/daml/ontologies/time/Time.daml#>
PREFIX dc: <http://purl.org/dc/elements/1.1/>
SELECT ?desc
WHERE {
dob:1D a time:ProperInterval;
dc:description ?desc.
}
Syntax test
Query
data-r2/syntax-sparql5/syntax-reduced-01.rq
SELECT REDUCED * WHERE { ?x ?y ?z }
Syntax test
Query
data-r2/syntax-sparql5/syntax-reduced-02.rq
SELECT REDUCED ?x ?y WHERE { ?x ?y ?z }
Query evaluation test
A FILTER is in scope for variables bound at the same level of the query tree
Default Graph
data-r2/algebra/data-1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/filter-nested-1.rq
PREFIX : <http://example/>
SELECT ?v
{ :x :p ?v . FILTER(?v = 1) }
Results
data-r2/algebra/filter-nested-1.srx
Query evaluation test
A FILTER in a group { ... } cannot see variables bound outside that group
Default Graph
data-r2/algebra/data-1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/filter-nested-2.rq
PREFIX : <http://example/>
SELECT ?v
{ :x :p ?v . { FILTER(?v = 1) } }
Results
data-r2/algebra/filter-nested-2.srx
Query evaluation test
FILTER placed after the triple pattern that contains the variable tested
Default Graph
data-r2/algebra/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:x :p "2"^^xsd:integer .
:x :p "3"^^xsd:integer .
:x :p "4"^^xsd:integer .
:x :q "1"^^xsd:integer .
:x :q "2"^^xsd:integer .
:x :q "3"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/filter-placement-1.rq
PREFIX : <http://example/>
SELECT ?v
{
?s :p ?v .
FILTER (?v = 2)
}
Results
data-r2/algebra/filter-placement-1.srx
Query evaluation test
FILTERs are scoped to the nearest enclosing group - placement within that group does not matter
Default Graph
data-r2/algebra/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:x :p "2"^^xsd:integer .
:x :p "3"^^xsd:integer .
:x :p "4"^^xsd:integer .
:x :q "1"^^xsd:integer .
:x :q "2"^^xsd:integer .
:x :q "3"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/filter-placement-2.rq
PREFIX : <http://example/>
SELECT ?v
{
FILTER (?v = 2)
?s :p ?v .
}
Results
data-r2/algebra/filter-placement-2.srx
Query evaluation test
FILTERs are scoped to the nearest enclosing group - placement within that group does not matter
Default Graph
data-r2/algebra/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:x :p "2"^^xsd:integer .
:x :p "3"^^xsd:integer .
:x :p "4"^^xsd:integer .
:x :q "1"^^xsd:integer .
:x :q "2"^^xsd:integer .
:x :q "3"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/filter-placement-3.rq
PREFIX : <http://example/>
SELECT ?v ?w
{
FILTER (?v = 2)
FILTER (?w = 3)
?s :p ?v .
?s :q ?w .
}
Results
data-r2/algebra/filter-placement-3.srx
Query evaluation test
FILTERs in an OPTIONAL do not extend to variables bound outside of the LeftJoin(...) operation
Default Graph
data-r2/algebra/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:x :p "2"^^xsd:integer .
:x :p "3"^^xsd:integer .
:x :p "4"^^xsd:integer .
:x :q "1"^^xsd:integer .
:x :q "2"^^xsd:integer .
:x :q "3"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/filter-scope-1.rq
PREFIX : <http://example/>
SELECT *
{
:x :p ?v .
{ :x :q ?w
OPTIONAL { :x :p ?v2 FILTER(?v = 1) }
}
}
Results
data-r2/algebra/filter-scope-1.srx
Query evaluation test
Tests nested combination of Join with a BGP / OPT and a BGP / UNION
Default Graph
data-r2/algebra/join-combo-graph-2.ttl
@prefix : <http://example/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x1 :r "4"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x2 :r "10"^^xsd:integer .
:x2 :x "1"^^xsd:integer .
:x3 :q "3"^^xsd:integer .
:x3 :q "4"^^xsd:integer .
:x3 :s "1"^^xsd:integer .
:x3 :t :s .
:p a rdf:Property .
:x1 :z :p .
Named Graphs
Query
data-r2/algebra/join-combo-1.rq
PREFIX : <http://example/>
SELECT ?a ?y ?d ?z
{
?a :p ?c OPTIONAL { ?a :r ?d }.
?a ?p 1 { ?p a ?y } UNION { ?a ?z ?p }
}
Results
data-r2/algebra/join-combo-1.srx
Query evaluation test
Tests combination of Join operator with Graph on LHS and Union on RHS
Default Graph
data-r2/algebra/join-combo-graph-2.ttl
@prefix : <http://example/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x1 :r "4"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x2 :r "10"^^xsd:integer .
:x2 :x "1"^^xsd:integer .
:x3 :q "3"^^xsd:integer .
:x3 :q "4"^^xsd:integer .
:x3 :s "1"^^xsd:integer .
:x3 :t :s .
:p a rdf:Property .
:x1 :z :p .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/algebra/join-combo-graph-1.ttl
@prefix : <http://example/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x1 :r "4"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x2 :r "10"^^xsd:integer .
:x2 :x "1"^^xsd:integer .
:x3 :q "3"^^xsd:integer .
:x3 :q "4"^^xsd:integer .
:x3 :s "1"^^xsd:integer .
:x3 :t :s .
:p a rdf:Property .
:x1 :z :p .
Named Graphs
Query
data-r2/algebra/join-combo-2.rq
PREFIX : <http://example/>
SELECT ?x ?y ?z
{
GRAPH ?g { ?x ?p 1 } { ?x :p ?y } UNION { ?p a ?z }
}
Results
data-r2/algebra/join-combo-2.srx
Query evaluation test
Variables have query scope.
Default Graph
data-r2/algebra/var-scope-join-1.ttl
@prefix : <http://example/> .
_:B1 :name "paul" .
_:B1 :phone "777-3426".
_:B2 :name "john" .
_:B2 :email <mailto:john@acd.edu> .
_:B3 :name "george".
_:B3 :webPage <http://www.george.edu/> .
_:B4 :name "ringo".
_:B4 :email <mailto:ringo@acd.edu> .
_:B4 :webPage <http://www.starr.edu/> .
_:B4 :phone "888-4537".
Named Graphs
Query
data-r2/algebra/var-scope-join-1.rq
PREFIX : <http://example/>
SELECT *
{
?X :name "paul"
{?Y :name "george" . OPTIONAL { ?X :email ?Z } }
}
Results
data-r2/algebra/var-scope-join-1.srx
Query evaluation test
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
Default Graph
data-r2/algebra/two-nested-opt.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :q "3"^^xsd:integer .
:x3 :q "4"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/two-nested-opt.rq
PREFIX : <http://example/>
SELECT *
{
:x1 :p ?v .
OPTIONAL
{
:x3 :q ?w .
OPTIONAL { :x2 :p ?v }
}
}
Results
data-r2/algebra/two-nested-opt.srx
Query evaluation test
OPTIONALs parse in a left-associative manner
Default Graph
data-r2/algebra/two-nested-opt.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :q "3"^^xsd:integer .
:x3 :q "4"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/two-nested-opt-alt.rq
PREFIX : <http://example/>
## The nested optional example, rewritten to a form that is the same
## for the SPARQL algebra and the declarative semantics.
SELECT *
{
:x1 :p ?v .
OPTIONAL { :x3 :q ?w }
OPTIONAL { :x3 :q ?w . :x2 :p ?v }
}
Results
data-r2/algebra/two-nested-opt-alt.srx
Query evaluation test
A FILTER inside an OPTIONAL can reference a variable bound in the required part of the OPTIONAL
Default Graph
data-r2/algebra/opt-filter-1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :q "3"^^xsd:integer .
:x3 :q "4"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/opt-filter-1.rq
PREFIX : <http://example/>
SELECT *
{
?x :p ?v .
OPTIONAL
{
?y :q ?w .
FILTER(?v=2)
}
}
Results
data-r2/algebra/opt-filter-1.srx
Query evaluation test
FILTERs inside an OPTIONAL can refer to variables from both the required and optional parts of the construct.
Default Graph
data-r2/algebra/opt-filter-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :q "3"^^xsd:integer .
:x3 :q "4"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/opt-filter-2.rq
PREFIX : <http://example/>
SELECT *
{
?x :p ?v .
OPTIONAL
{
?y :q ?w .
FILTER(?v=2)
FILTER(?w=3)
}
}
Results
data-r2/algebra/opt-filter-2.srx
Query evaluation test
FILTERs in an OPTIONAL do not extend to variables bound outside of the LeftJoin(...) operation
Default Graph
data-r2/algebra/opt-filter-3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :q "3"^^xsd:integer .
:x3 :q "4"^^xsd:integer .
Named Graphs
Query
data-r2/algebra/opt-filter-3.rq
PREFIX : <http://example/>
SELECT *
{
:x :p ?v .
{ :x :q ?w
# ?v is not in scope so ?v2 never set
OPTIONAL { :x :p ?v2 FILTER(?v = 1) }
}
}
Results
data-r2/algebra/opt-filter-3.srx
Query evaluation test
Default Graph
data-r2/ask/data.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:x :p "2"^^xsd:integer .
:x :p "3"^^xsd:integer .
:y :p :a .
:a :q :r .
Named Graphs
Query
data-r2/ask/ask-1.rq
PREFIX : <http://example/>
ASK { :x :p 1 }
Results
data-r2/ask/ask-1.srx
Query evaluation test
Default Graph
data-r2/ask/data.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:x :p "2"^^xsd:integer .
:x :p "3"^^xsd:integer .
:y :p :a .
:a :q :r .
Named Graphs
Query
data-r2/ask/ask-4.rq
PREFIX : <http://example/>
ASK { :x :p 99 }
Results
data-r2/ask/ask-4.srx
Query evaluation test
Default Graph
data-r2/ask/data.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:x :p "2"^^xsd:integer .
:x :p "3"^^xsd:integer .
:y :p :a .
:a :q :r .
Named Graphs
Query
data-r2/ask/ask-7.rq
PREFIX : <http://example/>
ASK { :x :p ?x }
Results
data-r2/ask/ask-7.srx
Query evaluation test
Default Graph
data-r2/ask/data.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:x :p "2"^^xsd:integer .
:x :p "3"^^xsd:integer .
:y :p :a .
:a :q :r .
Named Graphs
Query
data-r2/ask/ask-8.rq
PREFIX : <http://example/>
ASK { :x :p ?x . FILTER(?x = 99) }
Results
data-r2/ask/ask-8.srx
Query evaluation test
Default Graph
data-r2/basic/data-1.ttl
@prefix ns: <http://example.org/ns#> .
@prefix x: <http://example.org/x/> .
@prefix z: <http://example.org/x/#> .
x:x ns:p "d:x ns:p" .
x:x x:p "x:x x:p" .
z:x z:p "z:x z:p" .
Named Graphs
Query
data-r2/basic/base-prefix-1.rq
BASE <http://example.org/x/>
PREFIX : <>
SELECT * WHERE { :x ?p ?v }
Results
data-r2/basic/base-prefix-1.srx
Query evaluation test
Default Graph
data-r2/basic/data-1.ttl
@prefix ns: <http://example.org/ns#> .
@prefix x: <http://example.org/x/> .
@prefix z: <http://example.org/x/#> .
x:x ns:p "d:x ns:p" .
x:x x:p "x:x x:p" .
z:x z:p "z:x z:p" .
Named Graphs
Query
data-r2/basic/base-prefix-2.rq
BASE <http://example.org/x/>
PREFIX : <#>
SELECT * WHERE { :x ?p ?v }
Results
data-r2/basic/base-prefix-2.srx
Query evaluation test
Default Graph
data-r2/basic/data-1.ttl
@prefix ns: <http://example.org/ns#> .
@prefix x: <http://example.org/x/> .
@prefix z: <http://example.org/x/#> .
x:x ns:p "d:x ns:p" .
x:x x:p "x:x x:p" .
z:x z:p "z:x z:p" .
Named Graphs
Query
data-r2/basic/base-prefix-3.rq
PREFIX ns: <http://example.org/ns#>
PREFIX x: <http://example.org/x/>
SELECT * WHERE { x:x ns:p ?v }
Results
data-r2/basic/base-prefix-3.srx
Query evaluation test
Default Graph
data-r2/basic/data-1.ttl
@prefix ns: <http://example.org/ns#> .
@prefix x: <http://example.org/x/> .
@prefix z: <http://example.org/x/#> .
x:x ns:p "d:x ns:p" .
x:x x:p "x:x x:p" .
z:x z:p "z:x z:p" .
Named Graphs
Query
data-r2/basic/base-prefix-4.rq
BASE <http://example.org/x/>
SELECT * WHERE { <x> <p> ?v }
Results
data-r2/basic/base-prefix-4.srx
Query evaluation test
Default Graph
data-r2/basic/data-1.ttl
@prefix ns: <http://example.org/ns#> .
@prefix x: <http://example.org/x/> .
@prefix z: <http://example.org/x/#> .
x:x ns:p "d:x ns:p" .
x:x x:p "x:x x:p" .
z:x z:p "z:x z:p" .
Named Graphs
Query
data-r2/basic/base-prefix-5.rq
BASE <http://example.org/x/>
SELECT * WHERE { <#x> <#p> ?v }
Results
data-r2/basic/base-prefix-5.srx
Query evaluation test
Patterns not in data don't match
Default Graph
data-r2/basic/data-7.ttl
@prefix : <http://example.org/> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
:john a foaf:Person ;
foaf:name "John Smith" .
Named Graphs
Query
data-r2/basic/bgp-no-match.rq
PREFIX : <http://example.org/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?x
WHERE {
?x foaf:name "John Smith" ;
a foaf:Womble .
}
Results
data-r2/basic/bgp-no-match.srx
Query evaluation test
Default Graph
data-r2/basic/data-2.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :list0 () .
:x :list1 ("1"^^xsd:integer) .
:x :list2 ("11"^^xsd:integer "22"^^xsd:integer) .
:x :list3 ("111"^^xsd:integer "222"^^xsd:integer "333"^^xsd:integer) .
Named Graphs
Query
data-r2/basic/list-1.rq
PREFIX : <http://example.org/ns#>
SELECT ?p
{ :x ?p () . }
Results
data-r2/basic/list-1.srx
Query evaluation test
Default Graph
data-r2/basic/data-2.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :list0 () .
:x :list1 ("1"^^xsd:integer) .
:x :list2 ("11"^^xsd:integer "22"^^xsd:integer) .
:x :list3 ("111"^^xsd:integer "222"^^xsd:integer "333"^^xsd:integer) .
Named Graphs
Query
data-r2/basic/list-2.rq
PREFIX : <http://example.org/ns#>
SELECT ?p
{ :x ?p (1) . }
Results
data-r2/basic/list-2.srx
Query evaluation test
Default Graph
data-r2/basic/data-2.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :list0 () .
:x :list1 ("1"^^xsd:integer) .
:x :list2 ("11"^^xsd:integer "22"^^xsd:integer) .
:x :list3 ("111"^^xsd:integer "222"^^xsd:integer "333"^^xsd:integer) .
Named Graphs
Query
data-r2/basic/list-3.rq
PREFIX : <http://example.org/ns#>
SELECT ?p ?v
{ :x ?p (?v) . }
Results
data-r2/basic/list-3.srx
Query evaluation test
Default Graph
data-r2/basic/data-2.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :list0 () .
:x :list1 ("1"^^xsd:integer) .
:x :list2 ("11"^^xsd:integer "22"^^xsd:integer) .
:x :list3 ("111"^^xsd:integer "222"^^xsd:integer "333"^^xsd:integer) .
Named Graphs
Query
data-r2/basic/list-4.rq
PREFIX : <http://example.org/ns#>
SELECT ?p ?v ?w
{ :x ?p (?v ?w) . }
Results
data-r2/basic/list-4.srx
Query evaluation test
No local name - foo:
Default Graph
data-r2/basic/data-6.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p1 "1"^^xsd:integer .
:x :p1 "2"^^xsd:integer .
Named Graphs
Query
data-r2/basic/prefix-name-1.rq
PREFIX ex: <http://example.org/ns#x>
SELECT ?p {
ex: ?p 1 .
}
Results
data-r2/basic/prefix-name-1.srx
Query evaluation test
Default Graph
data-r2/basic/data-3.ttl
@prefix : <http://example.org/ns#> .
# This file uses UNIX line end conventions.
:x1 :p1 "x" .
:x2 :p2 """x
y""" .
:x3 :p3 """x
y"""^^:someType .
Named Graphs
Query
data-r2/basic/quotes-1.rq
PREFIX : <http://example.org/ns#>
SELECT ?x
{ ?x ?p '''x''' }
Results
data-r2/basic/quotes-1.srx
Query evaluation test
Default Graph
data-r2/basic/data-3.ttl
@prefix : <http://example.org/ns#> .
# This file uses UNIX line end conventions.
:x1 :p1 "x" .
:x2 :p2 """x
y""" .
:x3 :p3 """x
y"""^^:someType .
Named Graphs
Query
data-r2/basic/quotes-2.rq
PREFIX : <http://example.org/ns#>
SELECT ?x
{ ?x ?p """x""" }
Results
data-r2/basic/quotes-2.srx
Query evaluation test
Default Graph
data-r2/basic/data-3.ttl
@prefix : <http://example.org/ns#> .
# This file uses UNIX line end conventions.
:x1 :p1 "x" .
:x2 :p2 """x
y""" .
:x3 :p3 """x
y"""^^:someType .
Named Graphs
Query
data-r2/basic/quotes-3.rq
# This query uses UNIX line end conventions.
# It is in CVS in binary.
PREFIX : <http://example.org/ns#>
SELECT ?x
{ ?x ?p '''x
y'''
}
Results
data-r2/basic/quotes-3.srx
Query evaluation test
Default Graph
data-r2/basic/data-3.ttl
@prefix : <http://example.org/ns#> .
# This file uses UNIX line end conventions.
:x1 :p1 "x" .
:x2 :p2 """x
y""" .
:x3 :p3 """x
y"""^^:someType .
Named Graphs
Query
data-r2/basic/quotes-4.rq
# This query uses UNIX line end conventions.
# It is in CVS in binary.
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x
{ ?x ?p """x
y"""^^:someType
}
Results
data-r2/basic/quotes-4.srx
Query evaluation test
Test the :x :y :o1, :o2 construct
Default Graph
data-r2/basic/data-6.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p1 "1"^^xsd:integer .
:x :p1 "2"^^xsd:integer .
Named Graphs
Query
data-r2/basic/spoo-1.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p1 1, 2 .
}
Results
data-r2/basic/spoo-1.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-1.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT * { :x ?p true . }
Results
data-r2/basic/term-1.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-2.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT * { :x ?p false }
Results
data-r2/basic/term-2.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-3.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT * { :x a ?C . }
Results
data-r2/basic/term-3.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-4.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT * { :x ?p 123.0 }
Results
data-r2/basic/term-4.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-5.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT * { :x ?p 123.0. }
Results
data-r2/basic/term-5.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-6.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# DOT is part of the decimal.
SELECT * { :x ?p 456. }
Results
data-r2/basic/term-6.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-7.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# DOT is part of the decimal.
SELECT * { :x ?p 456. . }
Results
data-r2/basic/term-7.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-8.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# DOT is part of the decimal.
SELECT * { :x ?p +5 }
Results
data-r2/basic/term-8.srx
Query evaluation test
Default Graph
data-r2/basic/data-4.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
:x :p1 "true"^^xsd:boolean .
:x :p2 "false"^^xsd:boolean .
:x rdf:type :C .
:x :n1 "123.0"^^xsd:decimal .
:x :n2 "456."^^xsd:decimal .
:x :n3 "+5"^^xsd:integer .
:x :n4 "-18"^^xsd:integer .
Named Graphs
Query
data-r2/basic/term-9.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
# DOT is part of the decimal.
SELECT * { :x ?p -18 }
Results
data-r2/basic/term-9.srx
Query evaluation test
Default Graph
data-r2/basic/data-5.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p1 "1"^^xsd:integer .
:x :p2 "2"^^xsd:integer .
Named Graphs
Query
data-r2/basic/var-1.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT * { :x ?p $v }
Results
data-r2/basic/var-1.srx
Query evaluation test
Default Graph
data-r2/basic/data-5.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p1 "1"^^xsd:integer .
:x :p2 "2"^^xsd:integer .
Named Graphs
Query
data-r2/basic/var-2.rq
PREFIX : <http://example.org/ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT * { :x ?p $v . :x ?p ?v }
Results
data-r2/basic/var-2.srx
Query evaluation test
Query results must maintain bnode co-references in the dataset
Default Graph
data-r2/bnode-coreference/data.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
_:alice
rdf:type foaf:Person ;
foaf:name "Alice" ;
foaf:mbox <mailto:alice@work> ;
foaf:knows _:bob ;
.
_:bob
rdf:type foaf:Person ;
foaf:name "Bob" ;
foaf:knows _:alice ;
foaf:mbox <mailto:bob@work> ;
foaf:mbox <mailto:bob@home> ;
.
_:eve
rdf:type foaf:Person ;
foaf:name "Eve" ;
foaf:knows _:fred ;
.
_:fred
rdf:type foaf:Person ;
foaf:mbox <mailto:fred@edu> .
Named Graphs
Query
data-r2/bnode-coreference/query.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?x ?y
WHERE {
?x foaf:knows ?y .
}
Results
data-r2/bnode-coreference/result.ttl
Query evaluation test
Non-zero numerics, non-empty strings, and the true boolean have an EBV of true
Default Graph
data-r2/boolean-effective-value/data-1.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# These object values are true by the boolean effective value rule.
:x1 :p "1"^^xsd:integer .
:x2 :p "foo" .
:x3 :p "0.01"^^xsd:double .
:x4 :p "true"^^xsd:boolean .
# These are false
:y1 :p "0"^^xsd:integer .
:y2 :p "0.0"^^xsd:double .
:y3 :p "" .
:y4 :p "false"^^xsd:boolean .
Named Graphs
Query
data-r2/boolean-effective-value/query-bev-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/ns#>
SELECT ?a
WHERE
{ ?a :p ?v .
FILTER (?v) .
}
Results
data-r2/boolean-effective-value/result-bev-1.ttl
Query evaluation test
Zero-valued numerics, the empty string, and the false boolean have an EBV of false
Default Graph
data-r2/boolean-effective-value/data-1.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# These object values are true by the boolean effective value rule.
:x1 :p "1"^^xsd:integer .
:x2 :p "foo" .
:x3 :p "0.01"^^xsd:double .
:x4 :p "true"^^xsd:boolean .
# These are false
:y1 :p "0"^^xsd:integer .
:y2 :p "0.0"^^xsd:double .
:y3 :p "" .
:y4 :p "false"^^xsd:boolean .
Named Graphs
Query
data-r2/boolean-effective-value/query-bev-2.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/ns#>
SELECT ?a
WHERE
{ ?a :p ?v .
FILTER ( ! ?v ) .
}
Results
data-r2/boolean-effective-value/result-bev-2.ttl
Query evaluation test
The && operator takes the EBV of its operands
Default Graph
data-r2/boolean-effective-value/data-1.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# These object values are true by the boolean effective value rule.
:x1 :p "1"^^xsd:integer .
:x2 :p "foo" .
:x3 :p "0.01"^^xsd:double .
:x4 :p "true"^^xsd:boolean .
# These are false
:y1 :p "0"^^xsd:integer .
:y2 :p "0.0"^^xsd:double .
:y3 :p "" .
:y4 :p "false"^^xsd:boolean .
Named Graphs
Query
data-r2/boolean-effective-value/query-bev-3.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/ns#>
SELECT ?a
WHERE
{ ?a :p ?v .
FILTER ("true"^^xsd:boolean && ?v) .
}
Results
data-r2/boolean-effective-value/result-bev-3.ttl
Query evaluation test
The || operator takes the EBV of its operands
Default Graph
data-r2/boolean-effective-value/data-1.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# These object values are true by the boolean effective value rule.
:x1 :p "1"^^xsd:integer .
:x2 :p "foo" .
:x3 :p "0.01"^^xsd:double .
:x4 :p "true"^^xsd:boolean .
# These are false
:y1 :p "0"^^xsd:integer .
:y2 :p "0.0"^^xsd:double .
:y3 :p "" .
:y4 :p "false"^^xsd:boolean .
Named Graphs
Query
data-r2/boolean-effective-value/query-bev-4.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/ns#>
SELECT ?a
WHERE
{ ?a :p ?v .
FILTER ("false"^^xsd:boolean || ?v) .
}
Results
data-r2/boolean-effective-value/result-bev-4.ttl
Query evaluation test
The EBV of an unbound value or a literal with an unknown datatype is a type error, which eliminates the solution in question
Default Graph
data-r2/boolean-effective-value/data-2.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# These object values are true by the boolean effective value rule.
:x1 :p "1"^^xsd:integer .
:x2 :p "foo" .
:x3 :p "0.01"^^xsd:double .
:x4 :p "true"^^xsd:boolean .
# These are false
:y1 :p "0"^^xsd:integer .
:y2 :p "0.0"^^xsd:double .
:y3 :p "" .
:y4 :p "false"^^xsd:boolean .
# Optionals
:x1 :q "true"^^xsd:boolean .
:x2 :q "false"^^xsd:boolean .
:x3 :q "foo"^^:unknown .
Named Graphs
Query
data-r2/boolean-effective-value/query-bev-5.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/ns#>
SELECT ?a
WHERE
{ ?a :p ?v .
OPTIONAL
{ ?a :q ?w } .
FILTER (?w) .
}
Results
data-r2/boolean-effective-value/result-bev-5.ttl
Query evaluation test
Negating a type error is still a type error
Default Graph
data-r2/boolean-effective-value/data-2.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# These object values are true by the boolean effective value rule.
:x1 :p "1"^^xsd:integer .
:x2 :p "foo" .
:x3 :p "0.01"^^xsd:double .
:x4 :p "true"^^xsd:boolean .
# These are false
:y1 :p "0"^^xsd:integer .
:y2 :p "0.0"^^xsd:double .
:y3 :p "" .
:y4 :p "false"^^xsd:boolean .
# Optionals
:x1 :q "true"^^xsd:boolean .
:x2 :q "false"^^xsd:boolean .
:x3 :q "foo"^^:unknown .
Named Graphs
Query
data-r2/boolean-effective-value/query-bev-6.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/ns#>
SELECT ?a ?w
WHERE
{ ?a :p ?v .
OPTIONAL
{ ?a :q ?w } .
FILTER ( ! ?w ) .
}
Results
data-r2/boolean-effective-value/result-bev-6.ttl
Query evaluation test
Default Graph
data-r2/boolean-effective-value/data-1.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
# These object values are true by the boolean effective value rule.
:x1 :p "1"^^xsd:integer .
:x2 :p "foo" .
:x3 :p "0.01"^^xsd:double .
:x4 :p "true"^^xsd:boolean .
# These are false
:y1 :p "0"^^xsd:integer .
:y2 :p "0.0"^^xsd:double .
:y3 :p "" .
:y4 :p "false"^^xsd:boolean .
Named Graphs
Query
data-r2/boolean-effective-value/query-boolean-literal.rq
prefix : <http://example.org/ns#>
select ?x where {
?x :p "foo" .
FILTER (true) .
}
Results
data-r2/boolean-effective-value/result-boolean-literal.ttl
Query evaluation test
BOUND test case.
Default Graph
data-r2/bound/data.ttl
@prefix : <http://example.org/ns#> .
:a1 :b :c1 .
:c1 :d :e .
:a2 :b :c2 .
:c2 :b :f .
Named Graphs
Query
data-r2/bound/bound1.rq
PREFIX : <http://example.org/ns#>
SELECT ?a ?c
WHERE
{ ?a :b ?c .
OPTIONAL
{ ?c :d ?e } .
FILTER (! bound(?e))
}
Results
data-r2/bound/bound1-result.ttl
Query evaluation test
Default Graph
data-r2/cast/data.ttl
@prefix : <http://example.org/> .
:iri :p :z .
:str :p "string" .
:fltdbl :p "-10.2E3" .
:decimal :p "+33.3300" .
:int :p "13" .
:dT :p "2002-10-10T17:00:00Z" .
:bool :p "true" .
Named Graphs
Query
data-r2/cast/cast-bool.rq
PREFIX : <http://example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p ?v .
FILTER(datatype(xsd:boolean(?v)) = xsd:boolean) .
}
Results
data-r2/cast/cast-bool.srx
Query evaluation test
Default Graph
data-r2/cast/data.ttl
@prefix : <http://example.org/> .
:iri :p :z .
:str :p "string" .
:fltdbl :p "-10.2E3" .
:decimal :p "+33.3300" .
:int :p "13" .
:dT :p "2002-10-10T17:00:00Z" .
:bool :p "true" .
Named Graphs
Query
data-r2/cast/cast-dT.rq
PREFIX : <http://example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p ?v .
FILTER(datatype(xsd:dateTime(?v)) = xsd:dateTime) .
}
Results
data-r2/cast/cast-dT.srx
Query evaluation test
Default Graph
data-r2/cast/data.ttl
@prefix : <http://example.org/> .
:iri :p :z .
:str :p "string" .
:fltdbl :p "-10.2E3" .
:decimal :p "+33.3300" .
:int :p "13" .
:dT :p "2002-10-10T17:00:00Z" .
:bool :p "true" .
Named Graphs
Query
data-r2/cast/cast-dbl.rq
PREFIX : <http://example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p ?v .
FILTER(datatype(xsd:double(?v)) = xsd:double) .
}
Results
data-r2/cast/cast-dbl.srx
Query evaluation test
Default Graph
data-r2/cast/data.ttl
@prefix : <http://example.org/> .
:iri :p :z .
:str :p "string" .
:fltdbl :p "-10.2E3" .
:decimal :p "+33.3300" .
:int :p "13" .
:dT :p "2002-10-10T17:00:00Z" .
:bool :p "true" .
Named Graphs
Query
data-r2/cast/cast-dec.rq
PREFIX : <http://example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p ?v .
FILTER(datatype(xsd:decimal(?v)) = xsd:decimal) .
}
Results
data-r2/cast/cast-dec.srx
Query evaluation test
Default Graph
data-r2/cast/data.ttl
@prefix : <http://example.org/> .
:iri :p :z .
:str :p "string" .
:fltdbl :p "-10.2E3" .
:decimal :p "+33.3300" .
:int :p "13" .
:dT :p "2002-10-10T17:00:00Z" .
:bool :p "true" .
Named Graphs
Query
data-r2/cast/cast-flt.rq
PREFIX : <http://example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p ?v .
FILTER(datatype(xsd:float(?v)) = xsd:float) .
}
Results
data-r2/cast/cast-flt.srx
Query evaluation test
Default Graph
data-r2/cast/data.ttl
@prefix : <http://example.org/> .
:iri :p :z .
:str :p "string" .
:fltdbl :p "-10.2E3" .
:decimal :p "+33.3300" .
:int :p "13" .
:dT :p "2002-10-10T17:00:00Z" .
:bool :p "true" .
Named Graphs
Query
data-r2/cast/cast-int.rq
PREFIX : <http://example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p ?v .
FILTER(datatype(xsd:integer(?v)) = xsd:integer) .
}
Results
data-r2/cast/cast-int.srx
Query evaluation test
Default Graph
data-r2/cast/data.ttl
@prefix : <http://example.org/> .
:iri :p :z .
:str :p "string" .
:fltdbl :p "-10.2E3" .
:decimal :p "+33.3300" .
:int :p "13" .
:dT :p "2002-10-10T17:00:00Z" .
:bool :p "true" .
Named Graphs
Query
data-r2/cast/cast-str.rq
PREFIX : <http://example.org/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p ?v .
FILTER(datatype(xsd:string(?v)) = xsd:string) .
}
Results
data-r2/cast/cast-str.srx
Query evaluation test
Graph equivalent result graph
Default Graph
data-r2/construct/data-ident.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
_:alice
rdf:type foaf:Person ;
foaf:name "Alice" ;
foaf:mbox <mailto:alice@work> ;
foaf:knows _:bob ;
.
_:bob
rdf:type foaf:Person ;
foaf:name "Bob" ;
foaf:knows _:alice ;
foaf:mbox <mailto:bob@work> ;
foaf:mbox <mailto:bob@home> ;
.
Named Graphs
Query
data-r2/construct/query-ident.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT { ?s ?p ?o . }
WHERE {
?s ?p ?o .
}
Results
data-r2/construct/result-ident.ttl
Query evaluation test
Result subgraph of original graph
Default Graph
data-r2/construct/data-ident.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
_:alice
rdf:type foaf:Person ;
foaf:name "Alice" ;
foaf:mbox <mailto:alice@work> ;
foaf:knows _:bob ;
.
_:bob
rdf:type foaf:Person ;
foaf:name "Bob" ;
foaf:knows _:alice ;
foaf:mbox <mailto:bob@work> ;
foaf:mbox <mailto:bob@home> ;
.
Named Graphs
Query
data-r2/construct/query-subgraph.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT { ?s foaf:name ?o . }
WHERE {
?s foaf:name ?o .
}
Results
data-r2/construct/result-subgraph.ttl
Query evaluation test
Reification of the default graph
Default Graph
data-r2/construct/data-reif.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
_:alice
rdf:type foaf:Person ;
foaf:name "Alice" ;
foaf:mbox <mailto:alice@work> ;
foaf:knows _:bob ;
.
_:bob
rdf:type foaf:Person ;
foaf:name "Bob" ;
foaf:knows _:alice ;
foaf:mbox <mailto:bob@home> ;
.
Named Graphs
Query
data-r2/construct/query-reif-1.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT { [ rdf:subject ?s ;
rdf:predicate ?p ;
rdf:object ?o ] . }
WHERE {
?s ?p ?o .
}
Results
data-r2/construct/result-reif.ttl
Query evaluation test
Reification of the default graph
Default Graph
data-r2/construct/data-reif.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
_:alice
rdf:type foaf:Person ;
foaf:name "Alice" ;
foaf:mbox <mailto:alice@work> ;
foaf:knows _:bob ;
.
_:bob
rdf:type foaf:Person ;
foaf:name "Bob" ;
foaf:knows _:alice ;
foaf:mbox <mailto:bob@home> ;
.
Named Graphs
Query
data-r2/construct/query-reif-2.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
CONSTRUCT { _:a rdf:subject ?s ;
rdf:predicate ?p ;
rdf:object ?o . }
WHERE {
?s ?p ?o .
}
Results
data-r2/construct/result-reif.ttl
Query evaluation test
Reification of the default graph
Default Graph
data-r2/construct/data-opt.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p :a .
:x :p :b .
:x :p :c .
:x :p "1"^^xsd:integer .
:a :q "2"^^xsd:integer .
:a :r "2"^^xsd:integer .
:b :q "2"^^xsd:integer .
Named Graphs
Query
data-r2/construct/query-construct-optional.rq
PREFIX : <http://example/>
CONSTRUCT { ?x :p2 ?v }
WHERE
{
?x :p ?o .
OPTIONAL {?o :q ?v }
}
Results
data-r2/construct/result-construct-optional.ttl
Query evaluation test
Data: default dataset / Query: default dataset
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-01.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1.ttl>
{ ?s ?p ?o }
Results
data-r2/dataset/dataset-01.ttl
Query evaluation test
Data: named dataset / Query: default dataset
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-02.rq
PREFIX : <http://example/>
SELECT *
FROM NAMED <data-g1.ttl>
{ ?s ?p ?o }
Results
data-r2/dataset/dataset-02.ttl
Query evaluation test
Data: named dataset / Query: named dataset dataset
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-03.rq
PREFIX : <http://example/>
SELECT *
FROM NAMED <data-g1.ttl>
{
GRAPH ?g { ?s ?p ?o }
}
Results
data-r2/dataset/dataset-03.ttl
Query evaluation test
Data: named dataset / Query: default dataset
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-04.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1.ttl>
{
GRAPH ?g { ?s ?p ?o }
}
Results
data-r2/dataset/dataset-04.ttl
Query evaluation test
Data: default and named / Query: default dataset
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-05.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1.ttl>
FROM NAMED <data-g2.ttl>
{ ?s ?p ?o }
Results
data-r2/dataset/dataset-05.ttl
Query evaluation test
Data: default and named / Query: named dataset
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-06.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1.ttl>
FROM NAMED <data-g2.ttl>
{
GRAPH ?g { ?s ?p ?o }
}
Results
data-r2/dataset/dataset-06.ttl
Query evaluation test
Data: default and named / Query: all data by UNION
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-07.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1.ttl>
FROM NAMED <data-g2.ttl>
{
{ ?s ?p ?o }
UNION
{ GRAPH ?g { ?s ?p ?o } }
}
Results
data-r2/dataset/dataset-07.ttl
Query evaluation test
Data: default and named / Query: common subjects
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-08.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1.ttl>
FROM NAMED <data-g2.ttl>
{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/dataset/dataset-08.ttl
Query evaluation test
Data: default and named (bnodes) / Query: common subjects
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-09.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g3.ttl>
FROM NAMED <data-g3.ttl>{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/dataset/dataset-09.ttl
Query evaluation test
Data: default and named (bnodes) / Query: common subjects
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-09b.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g3-dup.ttl>
FROM NAMED <data-g3.ttl>{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/dataset/dataset-09.ttl
Query evaluation test
Data: default and named (same data, with bnodes) / Query: common subjects
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-10.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g3.ttl>
FROM NAMED <data-g3.ttl>
{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/dataset/dataset-10.ttl
Query evaluation test
Data: default and named (same data, with bnodes) / Query: common subjects
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-10b.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g3-dup.ttl>
FROM NAMED <data-g3.ttl>
{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/dataset/dataset-10.ttl
Query evaluation test
Data: default and named (several) / Query: get everything
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-11.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1.ttl>
FROM NAMED <data-g1.ttl>
FROM NAMED <data-g2.ttl>
FROM NAMED <data-g3.ttl>
FROM NAMED <data-g4.ttl>
{
{ ?s ?p ?o }
UNION
{ GRAPH ?g { ?s ?p ?o } }
}
Results
data-r2/dataset/dataset-11.ttl
Query evaluation test
Data: default (several) and named (several) / Query: get everything
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-12.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1.ttl>
FROM <data-g2.ttl>
FROM <data-g3.ttl>
FROM <data-g4.ttl>
FROM NAMED <data-g1.ttl>
FROM NAMED <data-g2.ttl>
FROM NAMED <data-g3.ttl>
FROM NAMED <data-g4.ttl>
{
{ ?s ?p ?o }
UNION
{ GRAPH ?g { ?s ?p ?o } }
}
Results
data-r2/dataset/dataset-12.ttl
Query evaluation test
Data: default (several) and named (several) / Query: get everything
Default Graph
Named Graphs
Query
data-r2/dataset/dataset-12b.rq
PREFIX : <http://example/>
SELECT *
FROM <data-g1-dup.ttl>
FROM <data-g2-dup.ttl>
FROM <data-g3-dup.ttl>
FROM <data-g4-dup.ttl>
FROM NAMED <data-g1.ttl>
FROM NAMED <data-g2.ttl>
FROM NAMED <data-g3.ttl>
FROM NAMED <data-g4.ttl>
{
{ ?s ?p ?o }
UNION
{ GRAPH ?g { ?s ?p ?o } }
}
Results
data-r2/dataset/dataset-12.ttl
Query evaluation test
Default Graph
data-r2/distinct/data-num.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p1 "1"^^xsd:integer .
:x1 :p2 "1"^^xsd:integer .
:x2 :p1 "1"^^xsd:integer .
:x2 :p2 "1"^^xsd:integer .
:x3 :p1 "01"^^xsd:integer .
:x3 :p2 "01"^^xsd:integer .
:x4 :p1 "+1"^^xsd:integer .
:x4 :p2 "+1"^^xsd:integer .
:y1 :p1 "1.0"^^xsd:decimal .
:y1 :p2 "1.0"^^xsd:decimal .
:y2 :p1 "+1.0"^^xsd:decimal .
:y2 :p2 "+1.0"^^xsd:decimal .
:y3 :p1 "01.0"^^xsd:decimal .
:y3 :p2 "01.0"^^xsd:decimal .
:z1 :p1 "1.0e0"^^xsd:double .
:z1 :p2 "1.0e0"^^xsd:double .
:z2 :p1 "1.0e0"^^xsd:double .
:z2 :p2 "1.0e0"^^xsd:double .
:z3 :p1 "1.3e0"^^xsd:double .
:z3 :p2 "1.3e0"^^xsd:double .
:z4 :p1 "1.3e0"^^xsd:double .
:z5 :p1 "1.3e0"^^xsd:float .
Named Graphs
Query
data-r2/distinct/distinct-1.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?v
{
?x ?p ?v .
}
Results
data-r2/distinct/distinct-num.srx
Query evaluation test
Default Graph
data-r2/distinct/data-str.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "abc" .
:x1 :q "abc" .
:x2 :p "abc"@en .
:x2 :q "abc"@en .
:x3 :p "ABC" .
:x3 :q "ABC" .
:x4 :p "ABC"@en .
:x4 :q "ABC"@en .
:x5 :p "abc"^^xsd:string .
:x5 :q "abc"^^xsd:string .
:x6 :p "ABC"^^xsd:string .
:x6 :q "ABC"^^xsd:string .
:x7 :p "" .
:x7 :q "" .
:x8 :p ""@en .
:x8 :q ""@en .
:x9 :p ""^^xsd:string .
:x9 :q ""^^xsd:string .
Named Graphs
Query
data-r2/distinct/distinct-1.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?v
{
?x ?p ?v .
}
Results
data-r2/distinct/distinct-str.srx
Query evaluation test
Default Graph
data-r2/distinct/data-node.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p1 :z1 .
:x1 :p1 _:a .
:x1 :p2 :z1 .
:x1 :p2 _:a .
Named Graphs
Query
data-r2/distinct/distinct-1.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?v
{
?x ?p ?v .
}
Results
data-r2/distinct/distinct-node.srx
Query evaluation test
Default Graph
data-r2/distinct/data-opt.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p1 :z1 .
:x1 :p1 :z2 .
:x1 :p1 _:a .
:x1 :p2 :z1 .
:x1 :p2 :z2 .
:x1 :p2 _:a .
:z1 :q :r .
_:a :q :s .
Named Graphs
Query
data-r2/distinct/distinct-2.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?v
{
:x1 ?p ?o
OPTIONAL { ?o :q ?v }
}
Results
data-r2/distinct/distinct-opt.srx
Query evaluation test
Default Graph
data-r2/distinct/data-all.ttl
## data-num.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p1 "1"^^xsd:integer .
:x1 :p2 "1"^^xsd:integer .
:x2 :p1 "1"^^xsd:integer .
:x2 :p2 "1"^^xsd:integer .
:x3 :p1 "01"^^xsd:integer .
:x3 :p2 "01"^^xsd:integer .
:x4 :p1 "+1"^^xsd:integer .
:x4 :p2 "+1"^^xsd:integer .
:y1 :p1 "1.0"^^xsd:decimal .
:y1 :p2 "1.0"^^xsd:decimal .
:y2 :p1 "+1.0"^^xsd:decimal .
:y2 :p2 "+1.0"^^xsd:decimal .
:y3 :p1 "01.0"^^xsd:decimal .
:y3 :p2 "01.0"^^xsd:decimal .
:z1 :p1 "1.0e0"^^xsd:double .
:z1 :p2 "1.0e0"^^xsd:double .
:z2 :p1 "1.0e0"^^xsd:double .
:z2 :p2 "1.0e0"^^xsd:double .
:z3 :p1 "1.3e0"^^xsd:double .
:z3 :p2 "1.3e0"^^xsd:double .
:z4 :p1 "1.3e0"^^xsd:double .
:z5 :p1 "1.3e0"^^xsd:float .
## data-str.ttl
:x1 :p "abc" .
:x1 :q "abc" .
:x2 :p "abc"@en .
:x2 :q "abc"@en .
:x3 :p "ABC" .
:x3 :q "ABC" .
:x4 :p "ABC"@en .
:x4 :q "ABC"@en .
:x5 :p "abc"^^xsd:string .
:x5 :q "abc"^^xsd:string .
:x6 :p "ABC"^^xsd:string .
:x6 :q "ABC"^^xsd:string .
:x7 :p "" .
:x7 :q "" .
:x8 :p ""@en .
:x8 :q ""@en .
:x9 :p ""^^xsd:string .
:x9 :q ""^^xsd:string .
## data-node.ttl
:x1 :p1 :z1 .
:x1 :p1 _:a .
:x1 :p2 :z1 .
:x1 :p2 _:a .
Named Graphs
Query
data-r2/distinct/distinct-1.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT ?v
{
?x ?p ?v .
}
Results
data-r2/distinct/distinct-all.srx
Query evaluation test
Default Graph
data-r2/distinct/data-star.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "abc" .
:x1 :q "abc" .
:x2 :p "abc" .
Named Graphs
Query
data-r2/distinct/distinct-star-1.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT DISTINCT *
WHERE {
{ ?s :p ?o } UNION { ?s :q ?o }
}
Results
data-r2/distinct/distinct-star-1.srx
Query evaluation test
Default Graph
data-r2/distinct/data-num.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p1 "1"^^xsd:integer .
:x1 :p2 "1"^^xsd:integer .
:x2 :p1 "1"^^xsd:integer .
:x2 :p2 "1"^^xsd:integer .
:x3 :p1 "01"^^xsd:integer .
:x3 :p2 "01"^^xsd:integer .
:x4 :p1 "+1"^^xsd:integer .
:x4 :p2 "+1"^^xsd:integer .
:y1 :p1 "1.0"^^xsd:decimal .
:y1 :p2 "1.0"^^xsd:decimal .
:y2 :p1 "+1.0"^^xsd:decimal .
:y2 :p2 "+1.0"^^xsd:decimal .
:y3 :p1 "01.0"^^xsd:decimal .
:y3 :p2 "01.0"^^xsd:decimal .
:z1 :p1 "1.0e0"^^xsd:double .
:z1 :p2 "1.0e0"^^xsd:double .
:z2 :p1 "1.0e0"^^xsd:double .
:z2 :p2 "1.0e0"^^xsd:double .
:z3 :p1 "1.3e0"^^xsd:double .
:z3 :p2 "1.3e0"^^xsd:double .
:z4 :p1 "1.3e0"^^xsd:double .
:z5 :p1 "1.3e0"^^xsd:float .
Named Graphs
Query
data-r2/distinct/no-distinct-1.rq
SELECT ?v
{
?x ?p ?v .
}
Results
data-r2/distinct/no-distinct-num.srx
Query evaluation test
Default Graph
data-r2/distinct/data-str.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "abc" .
:x1 :q "abc" .
:x2 :p "abc"@en .
:x2 :q "abc"@en .
:x3 :p "ABC" .
:x3 :q "ABC" .
:x4 :p "ABC"@en .
:x4 :q "ABC"@en .
:x5 :p "abc"^^xsd:string .
:x5 :q "abc"^^xsd:string .
:x6 :p "ABC"^^xsd:string .
:x6 :q "ABC"^^xsd:string .
:x7 :p "" .
:x7 :q "" .
:x8 :p ""@en .
:x8 :q ""@en .
:x9 :p ""^^xsd:string .
:x9 :q ""^^xsd:string .
Named Graphs
Query
data-r2/distinct/no-distinct-1.rq
SELECT ?v
{
?x ?p ?v .
}
Results
data-r2/distinct/no-distinct-str.srx
Query evaluation test
Default Graph
data-r2/distinct/data-node.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p1 :z1 .
:x1 :p1 _:a .
:x1 :p2 :z1 .
:x1 :p2 _:a .
Named Graphs
Query
data-r2/distinct/no-distinct-1.rq
SELECT ?v
{
?x ?p ?v .
}
Results
data-r2/distinct/no-distinct-node.srx
Query evaluation test
Default Graph
data-r2/distinct/data-opt.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p1 :z1 .
:x1 :p1 :z2 .
:x1 :p1 _:a .
:x1 :p2 :z1 .
:x1 :p2 :z2 .
:x1 :p2 _:a .
:z1 :q :r .
_:a :q :s .
Named Graphs
Query
data-r2/distinct/no-distinct-2.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?v
{
:x1 ?p ?o
OPTIONAL { ?o :q ?v }
}
Results
data-r2/distinct/no-distinct-opt.srx
Query evaluation test
Default Graph
data-r2/distinct/data-all.ttl
## data-num.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p1 "1"^^xsd:integer .
:x1 :p2 "1"^^xsd:integer .
:x2 :p1 "1"^^xsd:integer .
:x2 :p2 "1"^^xsd:integer .
:x3 :p1 "01"^^xsd:integer .
:x3 :p2 "01"^^xsd:integer .
:x4 :p1 "+1"^^xsd:integer .
:x4 :p2 "+1"^^xsd:integer .
:y1 :p1 "1.0"^^xsd:decimal .
:y1 :p2 "1.0"^^xsd:decimal .
:y2 :p1 "+1.0"^^xsd:decimal .
:y2 :p2 "+1.0"^^xsd:decimal .
:y3 :p1 "01.0"^^xsd:decimal .
:y3 :p2 "01.0"^^xsd:decimal .
:z1 :p1 "1.0e0"^^xsd:double .
:z1 :p2 "1.0e0"^^xsd:double .
:z2 :p1 "1.0e0"^^xsd:double .
:z2 :p2 "1.0e0"^^xsd:double .
:z3 :p1 "1.3e0"^^xsd:double .
:z3 :p2 "1.3e0"^^xsd:double .
:z4 :p1 "1.3e0"^^xsd:double .
:z5 :p1 "1.3e0"^^xsd:float .
## data-str.ttl
:x1 :p "abc" .
:x1 :q "abc" .
:x2 :p "abc"@en .
:x2 :q "abc"@en .
:x3 :p "ABC" .
:x3 :q "ABC" .
:x4 :p "ABC"@en .
:x4 :q "ABC"@en .
:x5 :p "abc"^^xsd:string .
:x5 :q "abc"^^xsd:string .
:x6 :p "ABC"^^xsd:string .
:x6 :q "ABC"^^xsd:string .
:x7 :p "" .
:x7 :q "" .
:x8 :p ""@en .
:x8 :q ""@en .
:x9 :p ""^^xsd:string .
:x9 :q ""^^xsd:string .
## data-node.ttl
:x1 :p1 :z1 .
:x1 :p1 _:a .
:x1 :p2 :z1 .
:x1 :p2 _:a .
Named Graphs
Query
data-r2/distinct/no-distinct-1.rq
SELECT ?v
{
?x ?p ?v .
}
Results
data-r2/distinct/no-distinct-all.srx
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/q-datatype-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x ?v
WHERE
{ ?x :p ?v .
FILTER ( datatype(?v) = xsd:double ) .
}
Results
data-r2/expr-builtin/result-datatype-1.ttl
Query evaluation test
updated from original test case: eliminated ordering from test
Default Graph
data-r2/expr-builtin/data-builtin-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "string" .
:x2 :p "string"^^xsd:string .
:x3 :p "string"@en .
:x4 :p "lex"^^:unknownType .
:x5 :p "1234"^^xsd:integer .
:x6 :p <http://example/iri> .
:x7 :p _:bNode .
Named Graphs
Query
data-r2/expr-builtin/q-datatype-2.rq
# Which literals have a datatype and which are errors.
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x
{ ?x :p ?v .
FILTER( datatype(?v) != <http://example/NotADataTypeIRI> )
}
Results
data-r2/expr-builtin/result-datatype-2.srx
Query evaluation test
updated from original test case: eliminated ordering from test
Default Graph
data-r2/expr-builtin/data-builtin-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "string" .
:x2 :p "string"^^xsd:string .
:x3 :p "string"@en .
:x4 :p "lex"^^:unknownType .
:x5 :p "1234"^^xsd:integer .
:x6 :p <http://example/iri> .
:x7 :p _:bNode .
Named Graphs
Query
data-r2/expr-builtin/q-datatype-3.rq
# Whichliterals have xsd:string as a datatype
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x
{ ?x :p ?v .
FILTER( datatype(?v) = xsd:string )
}
Results
data-r2/expr-builtin/result-datatype-3.srx
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/q-blank-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x ?v
WHERE
{ ?x :p ?v .
FILTER isBlank(?v) .
}
Results
data-r2/expr-builtin/result-blank-1.ttl
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/q-iri-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x ?v
WHERE
{ ?x :p ?v .
FILTER isIRI(?v) .
}
Results
data-r2/expr-builtin/result-iri-1.ttl
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "string" .
:x2 :p "string"^^xsd:string .
:x3 :p "string"@en .
:x4 :p "lex"^^:unknownType .
:x5 :p "1234"^^xsd:integer .
:x6 :p <http://example/iri> .
:x7 :p _:bNode .
Named Graphs
Query
data-r2/expr-builtin/q-isliteral-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example/>
SELECT ?x
WHERE
{ ?x :p ?v .
FILTER isLiteral(?v) .
}
Results
data-r2/expr-builtin/result-isliteral-1.ttl
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/q-uri-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x ?v
WHERE
{ ?x :p ?v .
FILTER isURI(?v) .
}
Results
data-r2/expr-builtin/result-uri-1.ttl
Query evaluation test
updated from original test case: eliminated ordering from test
Default Graph
data-r2/expr-builtin/data-builtin-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "string" .
:x2 :p "string"^^xsd:string .
:x3 :p "string"@en .
:x4 :p "lex"^^:unknownType .
:x5 :p "1234"^^xsd:integer .
:x6 :p <http://example/iri> .
:x7 :p _:bNode .
Named Graphs
Query
data-r2/expr-builtin/q-lang-1.rq
# Test which things have a lang tag of some form.
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x
{ ?x :p ?v .
FILTER ( lang(?v) != '@NotALangTag@' )
}
Results
data-r2/expr-builtin/result-lang-1.srx
Query evaluation test
updated from original test case: eliminated ordering from test
Default Graph
data-r2/expr-builtin/data-builtin-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "string" .
:x2 :p "string"^^xsd:string .
:x3 :p "string"@en .
:x4 :p "lex"^^:unknownType .
:x5 :p "1234"^^xsd:integer .
:x6 :p <http://example/iri> .
:x7 :p _:bNode .
Named Graphs
Query
data-r2/expr-builtin/q-lang-2.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x
{ ?x :p ?v .
FILTER ( lang(?v) = '' )
}
Results
data-r2/expr-builtin/result-lang-2.srx
Query evaluation test
updated from original test case: eliminated ordering from test
Default Graph
data-r2/expr-builtin/data-builtin-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "string" .
:x2 :p "string"^^xsd:string .
:x3 :p "string"@en .
:x4 :p "lex"^^:unknownType .
:x5 :p "1234"^^xsd:integer .
:x6 :p <http://example/iri> .
:x7 :p _:bNode .
Named Graphs
Query
data-r2/expr-builtin/q-lang-3.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x
{ ?x :p "string"@EN
}
Results
data-r2/expr-builtin/result-lang-3.srx
Query evaluation test
langMatches(lang(?v), 'en-GB') matches 'abc'@en-gb
Default Graph
data-r2/expr-builtin/data-langMatches.ttl
@prefix : <http://example.org/#> .
:x :p1 "abc" .
:x :p2 <abc> .
:x :p3 "abc"@en .
:x :p4 "abc"@en-gb .
:x :p5 "abc"@fr .
Named Graphs
Query
data-r2/expr-builtin/q-langMatches-1.rq
PREFIX : <http://example.org/#>
SELECT *
{ :x ?p ?v . FILTER langMatches(lang(?v), "en-GB") . }
Results
data-r2/expr-builtin/result-langMatches-1.ttl
Query evaluation test
langMatches(lang(?v), 'en') matches 'abc'@en, 'abc'@en-gb
Default Graph
data-r2/expr-builtin/data-langMatches.ttl
@prefix : <http://example.org/#> .
:x :p1 "abc" .
:x :p2 <abc> .
:x :p3 "abc"@en .
:x :p4 "abc"@en-gb .
:x :p5 "abc"@fr .
Named Graphs
Query
data-r2/expr-builtin/q-langMatches-2.rq
PREFIX : <http://example.org/#>
SELECT *
{ :x ?p ?v . FILTER langMatches(lang(?v), "en") . }
Results
data-r2/expr-builtin/result-langMatches-2.ttl
Query evaluation test
langMatches(lang(?v), '*') matches 'abc'@en, 'abc'@en-gb, 'abc'@fr
Default Graph
data-r2/expr-builtin/data-langMatches.ttl
@prefix : <http://example.org/#> .
:x :p1 "abc" .
:x :p2 <abc> .
:x :p3 "abc"@en .
:x :p4 "abc"@en-gb .
:x :p5 "abc"@fr .
Named Graphs
Query
data-r2/expr-builtin/q-langMatches-3.rq
PREFIX : <http://example.org/#>
SELECT *
{ :x ?p ?v . FILTER langMatches(lang(?v), "*") . }
Results
data-r2/expr-builtin/result-langMatches-3.ttl
Query evaluation test
! langMatches(lang(?v), '*') matches 'abc'
Default Graph
data-r2/expr-builtin/data-langMatches.ttl
@prefix : <http://example.org/#> .
:x :p1 "abc" .
:x :p2 <abc> .
:x :p3 "abc"@en .
:x :p4 "abc"@en-gb .
:x :p5 "abc"@fr .
Named Graphs
Query
data-r2/expr-builtin/q-langMatches-4.rq
PREFIX : <http://example.org/#>
SELECT *
{ :x ?p ?v . FILTER (! langMatches(lang(?v), "*")) . }
Results
data-r2/expr-builtin/result-langMatches-4.ttl
Query evaluation test
the basic range 'de-de' does not match 'de-Latn-de'
Default Graph
data-r2/expr-builtin/data-langMatches-de.ttl
# data-langMatches-de.ttl
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
@prefix : <http://example.org/#> .
:x :p3 "abc"@de .
:x :p4 "abc"@de-de .
:x :p5 "abc"@de-latn-de .
Named Graphs
Query
data-r2/expr-builtin/q-langMatches-de-de.rq
# q-langMatches-de-de.rq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example.org/#>
SELECT *
{ :x ?p ?v . FILTER langMatches(lang(?v), "de-de") . }
Results
data-r2/expr-builtin/result-langMatches-de.ttl
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/q-str-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x ?v
WHERE
{ ?x :p ?v .
FILTER ( str(?v) = "1" ) .
}
Results
data-r2/expr-builtin/result-str-1.ttl
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/q-str-2.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x ?v
WHERE
{ ?x :p ?v .
FILTER ( str(?v) = "01" ) .
}
Results
data-r2/expr-builtin/result-str-2.ttl
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/q-str-3.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x ?v
WHERE
{ ?x :p ?v .
FILTER ( str(?v) = "zzz" ) .
}
Results
data-r2/expr-builtin/result-str-3.ttl
Query evaluation test
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/q-str-4.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x ?v
WHERE
{ ?x :p ?v .
FILTER ( str(?v) = "" ) .
}
Results
data-r2/expr-builtin/result-str-4.ttl
Query evaluation test
'xyz'@en = 'xyz'@EN
Default Graph
data-r2/expr-builtin/lang-case-sensitivity.ttl
# Data: minimal test of plain literal language sensitivity
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
@prefix : <http://example/> .
:x2 :p "xyz"@en .
:x3 :p "xyz"@EN .
Named Graphs
Query
data-r2/expr-builtin/lang-case-sensitivity-eq.rq
# Test: 'xyz'@en = 'xyz'@EN
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example/>
SELECT *
{
?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER ( ?v1 = ?v2 )
}
Results
data-r2/expr-builtin/lang-case-insensitive-eq.srx
Query evaluation test
'xyz'@en != 'xyz'@EN
Default Graph
data-r2/expr-builtin/lang-case-sensitivity.ttl
# Data: minimal test of plain literal language sensitivity
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
@prefix : <http://example/> .
:x2 :p "xyz"@en .
:x3 :p "xyz"@EN .
Named Graphs
Query
data-r2/expr-builtin/lang-case-sensitivity-ne.rq
# Test: 'xyz'@en != 'xyz'@EN
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER ( ?v1 != ?v2 )
}
Results
data-r2/expr-builtin/lang-case-insensitive-ne.srx
Query evaluation test
sameTerm(?v1, ?v2) && ?v1 = ?v2
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/sameTerm-eq.rq
# Test: sameTerm and eq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example.org/things#>
SELECT *
{
?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER ( sameTerm(?v1, ?v2) && ?v1 = ?v2 )
}
Results
data-r2/expr-builtin/result-sameTerm-eq.ttl
Query evaluation test
!sameTerm(?v1, ?v2) && ?v1 = ?v2
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/sameTerm-not-eq.rq
# Test: !sameTerm and eq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example.org/things#>
SELECT *
{
?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER ( !sameTerm(?v1, ?v2) && ?v1 = ?v2 )
}
Results
data-r2/expr-builtin/result-sameTerm-not-eq.ttl
Query evaluation test
sameTerm(?v1, ?v2)
Default Graph
data-r2/expr-builtin/data-builtin-1.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xp2 :p "" .
:xu :p :z .
:xb :p _:a .
Named Graphs
Query
data-r2/expr-builtin/sameTerm.rq
# Test: sameTerm
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example.org/things#>
SELECT *
{
?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER sameTerm(?v1, ?v2)
}
Results
data-r2/expr-builtin/result-sameTerm.ttl
Query evaluation test
= in FILTER expressions is value equality
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p ?v .
FILTER ( ?v = 1 ) .
}
Results
data-r2/expr-equals/result-eq-1.ttl
Query evaluation test
= in FILTER expressions is value equality
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-2.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p ?v .
FILTER ( ?v = 1.0e0 ) .
}
Results
data-r2/expr-equals/result-eq-2.ttl
Query evaluation test
= in FILTER is value equality
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq2-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?v1 ?v2
WHERE
{ ?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER ( ?v1 = ?v2 ) .
}
Results
data-r2/expr-equals/result-eq2-1.ttl
Query evaluation test
!= in FILTER is value inequality
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq2-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?v1 ?v2
WHERE
{ ?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER ( ?v1 = ?v2 ) .
}
Results
data-r2/expr-equals/result-eq2-1.ttl
Query evaluation test
Numerics are not value-equivalent to plain literals
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-3.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p ?v .
FILTER ( ?v = "1" ) .
}
Results
data-r2/expr-equals/result-eq-3.ttl
Query evaluation test
= compares plain literals and unknown types with the same lexical form as false
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-4.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p ?v .
FILTER ( ?v = "zzz" ) .
}
Results
data-r2/expr-equals/result-eq-4.ttl
Query evaluation test
= on IRI terms
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-5.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p ?v .
FILTER ( ?v = :z ) .
}
Results
data-r2/expr-equals/result-eq-5.ttl
Query evaluation test
Graph pattern matching matches exact terms, not values
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-graph-1.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p 1 .
}
Results
data-r2/expr-equals/result-eq-graph-1.ttl
Query evaluation test
Graph pattern matching matches exact terms, not values
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-graph-2.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p 1.0e0 .
}
Results
data-r2/expr-equals/result-eq-graph-2.ttl
Query evaluation test
Graph pattern matching matches exact terms, not values
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-graph-3.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p "1"
}
Results
data-r2/expr-equals/result-eq-graph-3.ttl
Query evaluation test
Graph pattern matching matches exact terms, not values
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-graph-4.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p "zzz" .
}
Results
data-r2/expr-equals/result-eq-graph-4.ttl
Query evaluation test
Graph pattern matching matches exact terms, not values
Default Graph
data-r2/expr-equals/data-eq.ttl
@prefix : <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:xi1 :p "1"^^xsd:integer .
:xi2 :p "1"^^xsd:integer .
:xi3 :p "01"^^xsd:integer .
:xd1 :p "1.0e0"^^xsd:double .
:xd2 :p "1.0"^^xsd:double .
:xd3 :p "1"^^xsd:double .
## :xdec1 :p "1.0"^^xsd:decimal .
## :xdec2 :p "1"^^xsd:decimal .
## :xdec3 :p "01"^^xsd:decimal .
:xt1 :p "zzz"^^:myType .
:xp1 :p "zzz" .
:xp2 :p "1" .
:xu :p :z .
#:xb :p _:a .
Named Graphs
Query
data-r2/expr-equals/query-eq-graph-5.rq
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX : <http://example.org/things#>
SELECT ?x
WHERE
{ ?x :p ?v .
FILTER ( ?v = :z ) .
}
Results
data-r2/expr-equals/result-eq-graph-5.ttl
Query evaluation test
>= in FILTER expressions
Default Graph
data-r2/expr-ops/data.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :p "3"^^xsd:integer .
:x4 :p "4"^^xsd:integer .
Named Graphs
Query
data-r2/expr-ops/query-ge-1.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o .
FILTER(?o >= 3) .
}
Results
data-r2/expr-ops/result-ge-1.srx
Query evaluation test
<= in FILTER expressions
Default Graph
data-r2/expr-ops/data.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :p "3"^^xsd:integer .
:x4 :p "4"^^xsd:integer .
Named Graphs
Query
data-r2/expr-ops/query-le-1.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o .
FILTER(?o <= 2) .
}
Results
data-r2/expr-ops/result-le-1.srx
Query evaluation test
A - B in FILTER expressions
Default Graph
data-r2/expr-ops/data.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :p "3"^^xsd:integer .
:x4 :p "4"^^xsd:integer .
Named Graphs
Query
data-r2/expr-ops/query-minus-1.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o .
?s2 :p ?o2 .
FILTER(?o - ?o2 = 3) .
}
Results
data-r2/expr-ops/result-minus-1.srx
Query evaluation test
A * B in FILTER expressions
Default Graph
data-r2/expr-ops/data.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :p "3"^^xsd:integer .
:x4 :p "4"^^xsd:integer .
Named Graphs
Query
data-r2/expr-ops/query-mul-1.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o .
?s2 :p ?o2 .
FILTER(?o * ?o2 = 4) .
}
Results
data-r2/expr-ops/result-mul-1.srx
Query evaluation test
A + B in FILTER expressions
Default Graph
data-r2/expr-ops/data.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :p "3"^^xsd:integer .
:x4 :p "4"^^xsd:integer .
Named Graphs
Query
data-r2/expr-ops/query-plus-1.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o .
?s2 :p ?o2 .
FILTER(?o + ?o2 = 3) .
}
Results
data-r2/expr-ops/result-plus-1.srx
Query evaluation test
-A in FILTER expressions
Default Graph
data-r2/expr-ops/data.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :p "3"^^xsd:integer .
:x4 :p "4"^^xsd:integer .
Named Graphs
Query
data-r2/expr-ops/query-unminus-1.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o .
FILTER(-?o = -2) .
}
Results
data-r2/expr-ops/result-unminus-1.srx
Query evaluation test
+A in FILTER expressions
Default Graph
data-r2/expr-ops/data.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "1"^^xsd:integer .
:x2 :p "2"^^xsd:integer .
:x3 :p "3"^^xsd:integer .
:x4 :p "4"^^xsd:integer .
Named Graphs
Query
data-r2/expr-ops/query-unplus-1.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o .
FILTER(?o = +3) .
}
Results
data-r2/expr-ops/result-unplus-1.srx
Query evaluation test
Data: default graph / Query: default graph
Default Graph
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-01.rq
PREFIX : <http://example/>
SELECT * { ?s ?p ?o }
Results
data-r2/graph/graph-01.ttl
Query evaluation test
Data: named graph / Query: default graph
Default Graph
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-02.rq
PREFIX : <http://example/>
SELECT * { ?s ?p ?o }
Results
data-r2/graph/graph-02.ttl
Query evaluation test
Data: named graph / Query: named graph graph
Default Graph
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-03.rq
PREFIX : <http://example/>
SELECT * {
GRAPH ?g { ?s ?p ?o }
}
Results
data-r2/graph/graph-03.ttl
Query evaluation test
Data: named graph / Query: default graph
Default Graph
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-04.rq
PREFIX : <http://example/>
SELECT * {
GRAPH ?g { ?s ?p ?o }
}
Results
data-r2/graph/graph-04.ttl
Query evaluation test
Data: default and named / Query: default graph
Default Graph
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-05.rq
PREFIX : <http://example/>
SELECT * { ?s ?p ?o }
Results
data-r2/graph/graph-05.ttl
Query evaluation test
Data: default and named / Query: named graph
Default Graph
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-06.rq
PREFIX : <http://example/>
SELECT * {
GRAPH ?g { ?s ?p ?o }
}
Results
data-r2/graph/graph-06.ttl
Query evaluation test
Data: default and named / Query: all data by UNION
Default Graph
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-07.rq
PREFIX : <http://example/>
SELECT *
{
{ ?s ?p ?o }
UNION
{ GRAPH ?g { ?s ?p ?o } }
}
Results
data-r2/graph/graph-07.ttl
Query evaluation test
Data: default and named / Query: common subjects
Default Graph
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-08.rq
PREFIX : <http://example/>
SELECT *
{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/graph/graph-08.ttl
Query evaluation test
Data: default and named (bnodes) / Query: common subjects
Default Graph
data-r2/graph/data-g3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:x :p "1"^^xsd:integer .
_:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g4.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:x :p "1"^^xsd:integer .
_:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-09.rq
PREFIX : <http://example/>
SELECT *
{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/graph/graph-09.ttl
Query evaluation test
Data: default and named (same data, with bnodes) / Query: common subjects
Default Graph
data-r2/graph/data-g3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:x :p "1"^^xsd:integer .
_:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:x :p "1"^^xsd:integer .
_:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-10.rq
PREFIX : <http://example/>
SELECT *
{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/graph/graph-10.ttl
Query evaluation test
Data: default and named (same data, with bnodes) / Query: common subjects
Default Graph
data-r2/graph/data-g3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:x :p "1"^^xsd:integer .
_:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g3-dup.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:x :p "1"^^xsd:integer .
_:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-10.rq
PREFIX : <http://example/>
SELECT *
{
?s ?p ?o
GRAPH ?g { ?s ?q ?v }
}
Results
data-r2/graph/graph-10.ttl
Query evaluation test
Data: default and named (several) / Query: get everything
Default Graph
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g4.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/graph/data-g1.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :p "1"^^xsd:integer .
:a :p "9"^^xsd:integer .
Named Graphs
Query
data-r2/graph/graph-11.rq
PREFIX : <http://example/>
SELECT *
{
{ ?s ?p ?o }
UNION
{ GRAPH ?g { ?s ?p ?o } }
}
Results
data-r2/graph/graph-11.ttl
Query evaluation test
Default Graph
data-r2/i18n/kanji.ttl
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# See DOCUMENT INFO below.
# NAMESPACES
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix é£: <http://www.w3.org/2001/sw/DataAccess/tests/data/i18n/kanji.ttl#> .
# DOCUMENT INFO
<> rdfs:comment "test kanji IRIs (composed from QNames)" ;
owl:versionInfo "$Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $".
# DOCUMENT
_:alice foaf:name "Alice" ;
é£:é£ã¹ã é£:ç´è± .
_:bob foaf:name "Bob" ;
é£:é£ã¹ã é£:æµ·è .
Named Graphs
Query
data-r2/i18n/kanji-01.rq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# test kanji QNames
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX é£: <http://www.w3.org/2001/sw/DataAccess/tests/data/i18n/kanji.ttl#>
SELECT ?name ?food WHERE {
[ foaf:name ?name ;
é£:é£ã¹ã ?food ] . }
Results
data-r2/i18n/kanji-01-results.ttl
Query evaluation test
Default Graph
data-r2/i18n/kanji.ttl
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# See DOCUMENT INFO below.
# NAMESPACES
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix é£: <http://www.w3.org/2001/sw/DataAccess/tests/data/i18n/kanji.ttl#> .
# DOCUMENT INFO
<> rdfs:comment "test kanji IRIs (composed from QNames)" ;
owl:versionInfo "$Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $".
# DOCUMENT
_:alice foaf:name "Alice" ;
é£:é£ã¹ã é£:ç´è± .
_:bob foaf:name "Bob" ;
é£:é£ã¹ã é£:æµ·è .
Named Graphs
Query
data-r2/i18n/kanji-02.rq
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# test wide spaces
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX é£: <http://www.w3.org/2001/sw/DataAccess/tests/data/i18n/kanji.ttl#>
SELECT ?name WHERE {
[ foaf:name ?name ;
é£:é£ã¹ã é£:æµ·è ] . }
Results
data-r2/i18n/kanji-02-results.ttl
Query evaluation test
Default Graph
data-r2/i18n/normalization-01.ttl
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
# See DOCUMENT INFO below.
# NAMESPACES
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
@prefix owl: <http://www.w3.org/2002/07/owl#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix HR: <http://www.w3.org/2001/sw/DataAccess/tests/data/i18n/normalization.ttl#> .
# DOCUMENT INFO
<> rdfs:comment "Normalized and non-normalized IRIs" ;
owl:versionInfo "$Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $".
# DOCUMENT
[] foaf:name "Alice" ;
HR:resumé "Alice's normalized resumé" .
[] foaf:name "Bob" ;
HR:resumeÌ "Bob's non-normalized resumeÌ" .
[] foaf:name "Eve" ;
HR:resumé "Eve's normalized resumé" ;
HR:resumeÌ "Eve's non-normalized resumeÌ" .
Named Graphs
Query
data-r2/i18n/normalization-01.rq
# Figure out what happens with normalization form C.
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX HR: <http://www.w3.org/2001/sw/DataAccess/tests/data/i18n/normalization.ttl#>
SELECT ?name
WHERE { [ foaf:name ?name;
HR:resumeÌ ?resume ] . }
Results
data-r2/i18n/normalization-01-results.ttl
Query evaluation test
Example 1 from http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JulSep/0096
Default Graph
data-r2/i18n/normalization-02.ttl
# Example 1 from
# http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JulSep/0096
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
@prefix : <http://example/vocab#>.
:s1 :p <example://a/b/c/%7Bfoo%7D#xyz>.
:s2 :p <eXAMPLE://a/./b/../b/%63/%7bfoo%7d#xyz>.
Named Graphs
Query
data-r2/i18n/normalization-02.rq
# Example 1 from
# http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JulSep/0096
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example/vocab#>
PREFIX p1: <eXAMPLE://a/./b/../b/%63/%7bfoo%7d#>
SELECT ?S WHERE { ?S :p p1:xyz }
Results
data-r2/i18n/normalization-02-results.ttl
Query evaluation test
Example 2 from http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JulSep/0096
Default Graph
data-r2/i18n/normalization-03.ttl
# Example 1 from
# http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JulSep/0096
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
@prefix : <http://example/vocab#>.
:s3 :p <http://example.com:80/#abc>.
:s4 :p <http://example.com/#abc>.
:s5 :p <http://example.com/#abc>.
Named Graphs
Query
data-r2/i18n/normalization-03.rq
# Example 2 from
# http://lists.w3.org/Archives/Public/public-rdf-dawg/2005JulSep/0096
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX : <http://example/vocab#>
PREFIX p2: <http://example.com:80/#>
SELECT ?S WHERE { ?S :p p2:abc }
Results
data-r2/i18n/normalization-03-results.ttl
Query evaluation test
Added type : xsd:date '='
Default Graph
data-r2/open-world/data-3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:dt1 :r "2006-08-23T09:00:00+01:00"^^xsd:dateTime .
:d1 :r "2006-08-23"^^xsd:date .
:d2 :r "2006-08-23Z"^^xsd:date .
:d3 :r "2006-08-23+00:00"^^xsd:date .
:d4 :r "2001-01-01"^^xsd:date .
:d5 :r "2001-01-01Z"^^xsd:date .
:d6 :s "2006-08-23"^^xsd:date .
:d7 :s "2006-08-24Z"^^xsd:date .
:d8 :s "2000-01-01"^^xsd:date .
Named Graphs
Query
data-r2/open-world/date-1.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x :r ?v .
FILTER ( ?v = "2006-08-23"^^xsd:date )
}
Results
data-r2/open-world/date-1-result.srx
Query evaluation test
Added type : xsd:date '!='
Default Graph
data-r2/open-world/data-3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:dt1 :r "2006-08-23T09:00:00+01:00"^^xsd:dateTime .
:d1 :r "2006-08-23"^^xsd:date .
:d2 :r "2006-08-23Z"^^xsd:date .
:d3 :r "2006-08-23+00:00"^^xsd:date .
:d4 :r "2001-01-01"^^xsd:date .
:d5 :r "2001-01-01Z"^^xsd:date .
:d6 :s "2006-08-23"^^xsd:date .
:d7 :s "2006-08-24Z"^^xsd:date .
:d8 :s "2000-01-01"^^xsd:date .
Named Graphs
Query
data-r2/open-world/date-2.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x :r ?v .
FILTER ( ?v != "2006-08-23"^^xsd:date )
}
Results
data-r2/open-world/date-2-result.srx
Query evaluation test
Added type : xsd:date '>'
Default Graph
data-r2/open-world/data-3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:dt1 :r "2006-08-23T09:00:00+01:00"^^xsd:dateTime .
:d1 :r "2006-08-23"^^xsd:date .
:d2 :r "2006-08-23Z"^^xsd:date .
:d3 :r "2006-08-23+00:00"^^xsd:date .
:d4 :r "2001-01-01"^^xsd:date .
:d5 :r "2001-01-01Z"^^xsd:date .
:d6 :s "2006-08-23"^^xsd:date .
:d7 :s "2006-08-24Z"^^xsd:date .
:d8 :s "2000-01-01"^^xsd:date .
Named Graphs
Query
data-r2/open-world/date-3.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x :r ?v .
FILTER ( ?v > "2006-08-22"^^xsd:date )
}
Results
data-r2/open-world/date-3-result.srx
Query evaluation test
xsd:date ORDER BY
Default Graph
data-r2/open-world/data-3.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:dt1 :r "2006-08-23T09:00:00+01:00"^^xsd:dateTime .
:d1 :r "2006-08-23"^^xsd:date .
:d2 :r "2006-08-23Z"^^xsd:date .
:d3 :r "2006-08-23+00:00"^^xsd:date .
:d4 :r "2001-01-01"^^xsd:date .
:d5 :r "2001-01-01Z"^^xsd:date .
:d6 :s "2006-08-23"^^xsd:date .
:d7 :s "2006-08-24Z"^^xsd:date .
:d8 :s "2000-01-01"^^xsd:date .
Named Graphs
Query
data-r2/open-world/date-4.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x ?date
{
?x :s ?date .
FILTER ( datatype(?date) = xsd:date )
}
Results
data-r2/open-world/date-4-result.srx
Query evaluation test
Find things that compare with < or >
Default Graph
data-r2/open-world/data-4.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p [ :v1 "v1" ; :v2 "v2" ] .
:x2 :p [ :v1 "1"^^xsd:integer ; :v2 "v2" ] .
:x3 :p [ :v1 "x"^^:unknown ; :v2 "x"^^:unknown ] .
:x4 :p [ :v1 <test:abc> ; :v2 <test:abc> ] .
:x5 :p [ :v1 "2006-08-23T09:00:00+01:00"^^xsd:dateTime ;
:v2 "2006-08-22"^^xsd:date ].
Named Graphs
Query
data-r2/open-world/open-cmp-01.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x ?v1 ?v2
{
?x :p [ :v1 ?v1 ; :v2 ?v2 ] .
FILTER ( ?v1 < ?v2 || ?v1 > ?v2 )
}
Results
data-r2/open-world/open-cmp-01-result.srx
Query evaluation test
Find things that compare with <= and >
Default Graph
data-r2/open-world/data-4.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p [ :v1 "v1" ; :v2 "v2" ] .
:x2 :p [ :v1 "1"^^xsd:integer ; :v2 "v2" ] .
:x3 :p [ :v1 "x"^^:unknown ; :v2 "x"^^:unknown ] .
:x4 :p [ :v1 <test:abc> ; :v2 <test:abc> ] .
:x5 :p [ :v1 "2006-08-23T09:00:00+01:00"^^xsd:dateTime ;
:v2 "2006-08-22"^^xsd:date ].
Named Graphs
Query
data-r2/open-world/open-cmp-02.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x ?v1 ?v2
{
?x :p [ :v1 ?v1 ; :v2 ?v2 ] .
FILTER ( ?v1 < ?v2 || ?v1 = ?v2 || ?v1 > ?v2 )
}
Results
data-r2/open-world/open-cmp-02-result.srx
Query evaluation test
graph match - no lexical form in data (assumes no value matching)
Default Graph
data-r2/open-world/data-1.ttl
@prefix t: <http://example/t#> .
@prefix : <http://example/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "a"^^t:type1 .
:x2 :p "b"^^t:type1 .
:y1 :p "a"^^t:type2 .
:y2 :p "b"^^t:type2 .
:z1 :p "1"^^xsd:integer .
:z2 :p "01"^^xsd:integer .
:z3 :p "2"^^xsd:integer .
:z4 :p "02"^^xsd:integer .
Named Graphs
Query
data-r2/open-world/open-eq-01.rq
# SPARQL is defined over simple entailment so
# only syntactic matches show.
# (Some systems may match because they do
# value-based matching in the graph (D-entailment))
# Does not strictly match "1"^xsd:integer
PREFIX : <http://example/ns#>
PREFIX t: <http://example/t#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{ ?x :p "001"^^xsd:integer }
Results
data-r2/open-world/open-eq-01-result.srx
Query evaluation test
graph match - unknown type
Default Graph
data-r2/open-world/data-1.ttl
@prefix t: <http://example/t#> .
@prefix : <http://example/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "a"^^t:type1 .
:x2 :p "b"^^t:type1 .
:y1 :p "a"^^t:type2 .
:y2 :p "b"^^t:type2 .
:z1 :p "1"^^xsd:integer .
:z2 :p "01"^^xsd:integer .
:z3 :p "2"^^xsd:integer .
:z4 :p "02"^^xsd:integer .
Named Graphs
Query
data-r2/open-world/open-eq-02.rq
# Test matching in a graph pattern
# Unknown type
PREFIX : <http://example/ns#>
PREFIX t: <http://example/t#>
SELECT *
{ ?x :p "a"^^t:type1 }
Results
data-r2/open-world/open-eq-02-result.srx
Query evaluation test
Filter(?v=1)
Default Graph
data-r2/open-world/data-1.ttl
@prefix t: <http://example/t#> .
@prefix : <http://example/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "a"^^t:type1 .
:x2 :p "b"^^t:type1 .
:y1 :p "a"^^t:type2 .
:y2 :p "b"^^t:type2 .
:z1 :p "1"^^xsd:integer .
:z2 :p "01"^^xsd:integer .
:z3 :p "2"^^xsd:integer .
:z4 :p "02"^^xsd:integer .
Named Graphs
Query
data-r2/open-world/open-eq-03.rq
# SPARQL FILTER test by value.
# A processor knows about XSD integer
# so 1 and 01 pass the filter
PREFIX : <http://example/ns#>
PREFIX t: <http://example/t#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{ ?x :p ?v
FILTER ( ?v = 1 )
}
Results
data-r2/open-world/open-eq-03-result.srx
Query evaluation test
Filter(?v!=1)
Default Graph
data-r2/open-world/data-1.ttl
@prefix t: <http://example/t#> .
@prefix : <http://example/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "a"^^t:type1 .
:x2 :p "b"^^t:type1 .
:y1 :p "a"^^t:type2 .
:y2 :p "b"^^t:type2 .
:z1 :p "1"^^xsd:integer .
:z2 :p "01"^^xsd:integer .
:z3 :p "2"^^xsd:integer .
:z4 :p "02"^^xsd:integer .
Named Graphs
Query
data-r2/open-world/open-eq-04.rq
# SPARQL FILTER test by value.
# A processor knows about XSD integer
# so 1 and 01 are excluded by the filter
PREFIX : <http://example/ns#>
PREFIX t: <http://example/t#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{ ?x :p ?v
FILTER ( ?v != 1 )
}
Results
data-r2/open-world/open-eq-04-result.srx
Query evaluation test
FILTER(?v = unknown type)
Default Graph
data-r2/open-world/data-1.ttl
@prefix t: <http://example/t#> .
@prefix : <http://example/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "a"^^t:type1 .
:x2 :p "b"^^t:type1 .
:y1 :p "a"^^t:type2 .
:y2 :p "b"^^t:type2 .
:z1 :p "1"^^xsd:integer .
:z2 :p "01"^^xsd:integer .
:z3 :p "2"^^xsd:integer .
:z4 :p "02"^^xsd:integer .
Named Graphs
Query
data-r2/open-world/open-eq-05.rq
# SPARQL FILTER test by value.
# Only one valus is known to be "a"^^t:type1
# (others maybe but the processor does not positively know this)
PREFIX : <http://example/ns#>
PREFIX t: <http://example/t#>
SELECT *
{ ?x :p ?v
FILTER ( ?v = "a"^^t:type1 )
}
Results
data-r2/open-world/open-eq-05-result.srx
Query evaluation test
FILTER(?v != unknown type)
Default Graph
data-r2/open-world/data-1.ttl
@prefix t: <http://example/t#> .
@prefix : <http://example/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "a"^^t:type1 .
:x2 :p "b"^^t:type1 .
:y1 :p "a"^^t:type2 .
:y2 :p "b"^^t:type2 .
:z1 :p "1"^^xsd:integer .
:z2 :p "01"^^xsd:integer .
:z3 :p "2"^^xsd:integer .
:z4 :p "02"^^xsd:integer .
Named Graphs
Query
data-r2/open-world/open-eq-06.rq
# SPARQL FILTER test by value for known types.
# Nothing is known to be not the same value as "a"^^t:type1
# "b"^^t:type1 might be a different lexical form for the same value
# "a"^^t:type2 might have overlapping value spaces for this lexicial form.
PREFIX : <http://example/ns#>
PREFIX t: <http://example/t#>
SELECT *
{ ?x :p ?v
FILTER ( ?v != "a"^^t:type1 )
}
Results
data-r2/open-world/open-eq-06-result.srx
Query evaluation test
Test of '='
Default Graph
data-r2/open-world/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "xyz" .
:x2 :p "xyz"@en .
:x3 :p "xyz"@EN .
:x4 :p "xyz"^^xsd:string .
:x5 :p "xyz"^^xsd:integer .
:x6 :p "xyz"^^:unknown .
:x7 :p _:xyz .
:x8 :p :xyz .
:y1 :q "abc" .
:y2 :q "abc"@en .
:y3 :q "abc"@EN .
:y4 :q "abc"^^xsd:string .
:y5 :q "abc"^^xsd:integer .
:y6 :q "abc"^^:unknown .
:y7 :q _:abc .
:y8 :q :abc .
Named Graphs
Query
data-r2/open-world/open-eq-07.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER ( ?v1 = ?v2 )
}
Results
data-r2/open-world/open-eq-07-result.srx
Query evaluation test
Test of '!='
Default Graph
data-r2/open-world/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "xyz" .
:x2 :p "xyz"@en .
:x3 :p "xyz"@EN .
:x4 :p "xyz"^^xsd:string .
:x5 :p "xyz"^^xsd:integer .
:x6 :p "xyz"^^:unknown .
:x7 :p _:xyz .
:x8 :p :xyz .
:y1 :q "abc" .
:y2 :q "abc"@en .
:y3 :q "abc"@EN .
:y4 :q "abc"^^xsd:string .
:y5 :q "abc"^^xsd:integer .
:y6 :q "abc"^^:unknown .
:y7 :q _:abc .
:y8 :q :abc .
Named Graphs
Query
data-r2/open-world/open-eq-08.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x1 :p ?v1 .
?x2 :p ?v2 .
FILTER ( ?v1 != ?v2 )
}
Results
data-r2/open-world/open-eq-08-result.srx
Query evaluation test
Test of '='
Default Graph
data-r2/open-world/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "xyz" .
:x2 :p "xyz"@en .
:x3 :p "xyz"@EN .
:x4 :p "xyz"^^xsd:string .
:x5 :p "xyz"^^xsd:integer .
:x6 :p "xyz"^^:unknown .
:x7 :p _:xyz .
:x8 :p :xyz .
:y1 :q "abc" .
:y2 :q "abc"@en .
:y3 :q "abc"@EN .
:y4 :q "abc"^^xsd:string .
:y5 :q "abc"^^xsd:integer .
:y6 :q "abc"^^:unknown .
:y7 :q _:abc .
:y8 :q :abc .
Named Graphs
Query
data-r2/open-world/open-eq-09.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x :p ?v1 .
?y :q ?v2 .
FILTER ( ?v1 = ?v2 )
}
Results
data-r2/open-world/open-eq-09-result.srx
Query evaluation test
Test of '!='
Default Graph
data-r2/open-world/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "xyz" .
:x2 :p "xyz"@en .
:x3 :p "xyz"@EN .
:x4 :p "xyz"^^xsd:string .
:x5 :p "xyz"^^xsd:integer .
:x6 :p "xyz"^^:unknown .
:x7 :p _:xyz .
:x8 :p :xyz .
:y1 :q "abc" .
:y2 :q "abc"@en .
:y3 :q "abc"@EN .
:y4 :q "abc"^^xsd:string .
:y5 :q "abc"^^xsd:integer .
:y6 :q "abc"^^:unknown .
:y7 :q _:abc .
:y8 :q :abc .
Named Graphs
Query
data-r2/open-world/open-eq-10.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x :p ?v1 .
?y :q ?v2 .
FILTER ( ?v1 != ?v2 )
}
Results
data-r2/open-world/open-eq-10-result.srx
Query evaluation test
test of '=' || '!='
Default Graph
data-r2/open-world/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "xyz" .
:x2 :p "xyz"@en .
:x3 :p "xyz"@EN .
:x4 :p "xyz"^^xsd:string .
:x5 :p "xyz"^^xsd:integer .
:x6 :p "xyz"^^:unknown .
:x7 :p _:xyz .
:x8 :p :xyz .
:y1 :q "abc" .
:y2 :q "abc"@en .
:y3 :q "abc"@EN .
:y4 :q "abc"^^xsd:string .
:y5 :q "abc"^^xsd:integer .
:y6 :q "abc"^^:unknown .
:y7 :q _:abc .
:y8 :q :abc .
Named Graphs
Query
data-r2/open-world/open-eq-11.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT *
{
?x :p ?v1 .
?y :q ?v2 .
FILTER ( ?v1 != ?v2 || ?v1 = ?v2 )
}
Results
data-r2/open-world/open-eq-11-result.srx
Query evaluation test
find pairs that don't value-compare
Default Graph
data-r2/open-world/data-2.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "xyz" .
:x2 :p "xyz"@en .
:x3 :p "xyz"@EN .
:x4 :p "xyz"^^xsd:string .
:x5 :p "xyz"^^xsd:integer .
:x6 :p "xyz"^^:unknown .
:x7 :p _:xyz .
:x8 :p :xyz .
:y1 :q "abc" .
:y2 :q "abc"@en .
:y3 :q "abc"@EN .
:y4 :q "abc"^^xsd:string .
:y5 :q "abc"^^xsd:integer .
:y6 :q "abc"^^:unknown .
:y7 :q _:abc .
:y8 :q :abc .
Named Graphs
Query
data-r2/open-world/open-eq-12.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?x ?v1 ?y ?v2
{
?x :p ?v1 .
?y :p ?v2 .
OPTIONAL { ?y :p ?v3 . FILTER( ?v1 != ?v3 || ?v1 = ?v3 )}
FILTER (!bound(?v3))
}
Results
data-r2/open-world/open-eq-12-result.srx
Query evaluation test
FILTER inside an OPTIONAL does not block an entire solution
Default Graph
data-r2/optional-filter/data-1.ttl
@prefix x: <http://example.org/ns#> .
@prefix : <http://example.org/books#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:book1 dc:title "TITLE 1" .
:book1 x:price "10"^^xsd:integer .
:book2 dc:title "TITLE 2" .
:book2 x:price "20"^^xsd:integer .
:book3 dc:title "TITLE 3" .
Named Graphs
Query
data-r2/optional-filter/expr-1.rq
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX x: <http://example.org/ns#>
SELECT ?title ?price
WHERE
{ ?book dc:title ?title .
OPTIONAL
{ ?book x:price ?price .
FILTER (?price < 15) .
} .
}
Results
data-r2/optional-filter/expr-1-result.ttl
Query evaluation test
FILTER outside an OPTIONAL tests bound and unbound variables
Default Graph
data-r2/optional-filter/data-1.ttl
@prefix x: <http://example.org/ns#> .
@prefix : <http://example.org/books#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:book1 dc:title "TITLE 1" .
:book1 x:price "10"^^xsd:integer .
:book2 dc:title "TITLE 2" .
:book2 x:price "20"^^xsd:integer .
:book3 dc:title "TITLE 3" .
Named Graphs
Query
data-r2/optional-filter/expr-2.rq
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX x: <http://example.org/ns#>
SELECT ?title ?price
WHERE
{ ?book dc:title ?title .
OPTIONAL
{ ?book x:price ?price } .
FILTER (?price < 15) .
}
Results
data-r2/optional-filter/expr-2-result.ttl
Query evaluation test
Use !bound to only run outer FILTERs against variables bound in an OPTIONAL
Default Graph
data-r2/optional-filter/data-1.ttl
@prefix x: <http://example.org/ns#> .
@prefix : <http://example.org/books#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:book1 dc:title "TITLE 1" .
:book1 x:price "10"^^xsd:integer .
:book2 dc:title "TITLE 2" .
:book2 x:price "20"^^xsd:integer .
:book3 dc:title "TITLE 3" .
Named Graphs
Query
data-r2/optional-filter/expr-3.rq
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX x: <http://example.org/ns#>
SELECT ?title ?price
WHERE
{ ?book dc:title ?title .
OPTIONAL
{ ?book x:price ?price } .
FILTER ( ( ! bound(?price) ) || ( ?price < 15 ) ) .
}
Results
data-r2/optional-filter/expr-3-result.ttl
Query evaluation test
FILTER inside an OPTIONAL does not corrupt the entire solution
Default Graph
data-r2/optional-filter/data-1.ttl
@prefix x: <http://example.org/ns#> .
@prefix : <http://example.org/books#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:book1 dc:title "TITLE 1" .
:book1 x:price "10"^^xsd:integer .
:book2 dc:title "TITLE 2" .
:book2 x:price "20"^^xsd:integer .
:book3 dc:title "TITLE 3" .
Named Graphs
Query
data-r2/optional-filter/expr-4.rq
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX x: <http://example.org/ns#>
SELECT ?title ?price
WHERE
{ ?book dc:title ?title .
OPTIONAL
{ ?book x:price ?price .
FILTER (?price < 15 && ?title = "TITLE 2") .
} .
}
Results
data-r2/optional-filter/expr-4-result.ttl
Query evaluation test
Double curly braces do NOT get simplified to single curly braces early on, before filters are scoped
Default Graph
data-r2/optional-filter/data-1.ttl
@prefix x: <http://example.org/ns#> .
@prefix : <http://example.org/books#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:book1 dc:title "TITLE 1" .
:book1 x:price "10"^^xsd:integer .
:book2 dc:title "TITLE 2" .
:book2 x:price "20"^^xsd:integer .
:book3 dc:title "TITLE 3" .
Named Graphs
Query
data-r2/optional-filter/expr-5.rq
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX x: <http://example.org/ns#>
SELECT ?title ?price
WHERE
{ ?book dc:title ?title .
OPTIONAL
{
{
?book x:price ?price .
FILTER (?title = "TITLE 2") .
}
} .
}
Results
data-r2/optional-filter/expr-5-result-not-simplified.ttl
Query evaluation test
Double curly braces get simplified to single curly braces early on, before filters are scoped
Default Graph
data-r2/optional-filter/data-1.ttl
@prefix x: <http://example.org/ns#> .
@prefix : <http://example.org/books#> .
@prefix dc: <http://purl.org/dc/elements/1.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:book1 dc:title "TITLE 1" .
:book1 x:price "10"^^xsd:integer .
:book2 dc:title "TITLE 2" .
:book2 x:price "20"^^xsd:integer .
:book3 dc:title "TITLE 3" .
Named Graphs
Query
data-r2/optional-filter/expr-5.rq
PREFIX dc: <http://purl.org/dc/elements/1.1/>
PREFIX x: <http://example.org/ns#>
SELECT ?title ?price
WHERE
{ ?book dc:title ?title .
OPTIONAL
{
{
?book x:price ?price .
FILTER (?title = "TITLE 2") .
}
} .
}
Results
data-r2/optional-filter/expr-5-result-simplified.ttl
Query evaluation test
One optional clause
Default Graph
data-r2/optional/data.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a foaf:mbox <mailto:alice@example.net> .
_:a foaf:name "Alice" .
_:a foaf:nick "WhoMe?" .
_:b foaf:mbox <mailto:bert@example.net> .
_:b foaf:name "Bert" .
_:e foaf:mbox <mailto:eve@example.net> .
_:e foaf:nick "DuckSoup" .
Named Graphs
Query
data-r2/optional/q-opt-1.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?mbox ?name
{
?x foaf:mbox ?mbox .
OPTIONAL { ?x foaf:name ?name } .
}
Results
data-r2/optional/result-opt-1.ttl
Query evaluation test
One optional clause
Default Graph
data-r2/optional/data.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a foaf:mbox <mailto:alice@example.net> .
_:a foaf:name "Alice" .
_:a foaf:nick "WhoMe?" .
_:b foaf:mbox <mailto:bert@example.net> .
_:b foaf:name "Bert" .
_:e foaf:mbox <mailto:eve@example.net> .
_:e foaf:nick "DuckSoup" .
Named Graphs
Query
data-r2/optional/q-opt-2.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?mbox ?name ?nick
{
?x foaf:mbox ?mbox .
OPTIONAL { ?x foaf:name ?name } .
OPTIONAL { ?x foaf:nick ?nick } .
}
Results
data-r2/optional/result-opt-2.ttl
Query evaluation test
Complex optional: LeftJoin(LeftJoin(BGP(..),{..}),Join(BGP(..),Union(..,..)))
Default Graph
data-r2/optional/complex-data-1.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
<tag:alice@example:foafUri>
foaf:mbox <mailto:alice@example.net>;
foaf:name "Alice";
foaf:nick "WhoMe?";
foaf:depiction <http://example.com/alice.png> .
<tag:bert@example:foafUri>
foaf:mbox <mailto:bert@example.net> ;
foaf:nick "BigB" ;
foaf:name "Bert" .
<tag:eve@example:foafUri>
foaf:mbox <mailto:eve@example.net> ;
foaf:firstName "Eve" .
<tag:john@example:foafUri>
foaf:mbox <mailto:john@example.net> ;
foaf:nick "jDoe";
foaf:isPrimaryTopicOf <http://example.com/people/johnDoe> .
Named Graphs
Query
data-r2/optional/q-opt-complex-1.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?person ?nick ?page ?img ?name ?firstN
{
?person foaf:nick ?nick
OPTIONAL { ?person foaf:isPrimaryTopicOf ?page }
OPTIONAL {
?person foaf:name ?name
{ ?person foaf:depiction ?img } UNION
{ ?person foaf:firstName ?firstN }
} FILTER ( bound(?page) || bound(?img) || bound(?firstN) )
}
Results
data-r2/optional/result-opt-complex-1.ttl
Query evaluation test
Complex optional: LeftJoin(Join(BGP(..),Graph(var,{..})),Union(..,..))
Default Graph
data-r2/optional/complex-data-2.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer ;
ex:healthplan ex:HealthPlanD.
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23"^^xsd:integer ;
ex:healthplan ex:HealthPlanC.
_:f foaf:name "Bob" ;
ex:empId "30"^^xsd:integer;
ex:healthplan ex:HealthPlanB.
_:g rdf:type foaf:Person;
ex:ssn "000000000";
foaf:name "Bert";
ex:department "DeptA" ;
ex:healthplan ex:HealthPlanA.
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/optional/complex-data-1.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer ;
ex:healthplan ex:HealthPlanD.
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23"^^xsd:integer ;
ex:healthplan ex:HealthPlanC.
_:f foaf:name "Bob" ;
ex:empId "30"^^xsd:integer;
ex:healthplan ex:HealthPlanB.
_:g rdf:type foaf:Person;
ex:ssn "000000000";
foaf:name "Bert";
ex:department "DeptA" ;
ex:healthplan ex:HealthPlanA.
Named Graphs
Query
data-r2/optional/q-opt-complex-2.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <http://example.org/things#>
SELECT ?id ?ssn
WHERE
{
?person
a foaf:Person;
foaf:name ?name .
GRAPH ?x {
[] foaf:name ?name;
foaf:nick ?nick
}
OPTIONAL {
{ ?person ex:empId ?id } UNION { ?person ex:ssn ?ssn }
}
}
Results
data-r2/optional/result-opt-complex-2.ttl
Query evaluation test
Complex optional: LeftJoin(Join(BGP(..),Graph(var,{..})),LeftJoin(BGP(..),{..}))
Default Graph
data-r2/optional/complex-data-2.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer ;
ex:healthplan ex:HealthPlanD.
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23"^^xsd:integer ;
ex:healthplan ex:HealthPlanC.
_:f foaf:name "Bob" ;
ex:empId "30"^^xsd:integer;
ex:healthplan ex:HealthPlanB.
_:g rdf:type foaf:Person;
ex:ssn "000000000";
foaf:name "Bert";
ex:department "DeptA" ;
ex:healthplan ex:HealthPlanA.
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/optional/complex-data-1.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer ;
ex:healthplan ex:HealthPlanD.
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23"^^xsd:integer ;
ex:healthplan ex:HealthPlanC.
_:f foaf:name "Bob" ;
ex:empId "30"^^xsd:integer;
ex:healthplan ex:HealthPlanB.
_:g rdf:type foaf:Person;
ex:ssn "000000000";
foaf:name "Bert";
ex:department "DeptA" ;
ex:healthplan ex:HealthPlanA.
Named Graphs
Query
data-r2/optional/q-opt-complex-3.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <http://example.org/things#>
SELECT ?name ?nick ?plan ?dept
WHERE
{
?person
a foaf:Person;
foaf:name ?name .
GRAPH ?x {
[] foaf:name ?name;
foaf:nick ?nick
}
OPTIONAL {
?person ex:healthplan ?plan
OPTIONAL { ?person ex:department ?dept }
}
}
Results
data-r2/optional/result-opt-complex-3.ttl
Query evaluation test
Complex optional: LeftJoin(Join(BGP(..),Union(..,..)),Join(BGP(..),Graph(varOrIRI,{..})))
Default Graph
data-r2/optional/complex-data-2.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer ;
ex:healthplan ex:HealthPlanD.
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23"^^xsd:integer ;
ex:healthplan ex:HealthPlanC.
_:f foaf:name "Bob" ;
ex:empId "30"^^xsd:integer;
ex:healthplan ex:HealthPlanB.
_:g rdf:type foaf:Person;
ex:ssn "000000000";
foaf:name "Bert";
ex:department "DeptA" ;
ex:healthplan ex:HealthPlanA.
http://www.w3.org/2001/sw/DataAccess/tests/data-r2/optional/complex-data-1.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer ;
ex:healthplan ex:HealthPlanD.
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23"^^xsd:integer ;
ex:healthplan ex:HealthPlanC.
_:f foaf:name "Bob" ;
ex:empId "30"^^xsd:integer;
ex:healthplan ex:HealthPlanB.
_:g rdf:type foaf:Person;
ex:ssn "000000000";
foaf:name "Bert";
ex:department "DeptA" ;
ex:healthplan ex:HealthPlanA.
Named Graphs
Query
data-r2/optional/q-opt-complex-4.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <http://example.org/things#>
SELECT ?name ?plan ?dept ?img
WHERE
{
?person foaf:name ?name
{ ?person ex:healthplan ?plan } UNION { ?person ex:department ?dept }
OPTIONAL {
?person a foaf:Person
GRAPH ?g {
[] foaf:name ?name;
foaf:depiction ?img
}
}
}
Results
data-r2/optional/result-opt-complex-4.ttl
Query evaluation test
Union is not optional
Default Graph
data-r2/optional/data.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a foaf:mbox <mailto:alice@example.net> .
_:a foaf:name "Alice" .
_:a foaf:nick "WhoMe?" .
_:b foaf:mbox <mailto:bert@example.net> .
_:b foaf:name "Bert" .
_:e foaf:mbox <mailto:eve@example.net> .
_:e foaf:nick "DuckSoup" .
Named Graphs
Query
data-r2/optional/q-opt-3.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?mbox ?name
{
{ ?x foaf:mbox ?mbox }
UNION
{ ?x foaf:mbox ?mbox . ?x foaf:name ?name }
}
Results
data-r2/optional/result-opt-3.ttl
Query evaluation test
Default Graph
data-r2/reduced/reduced-star.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "abc" .
:x1 :q "abc" .
:x2 :p "abc" .
Named Graphs
Query
data-r2/reduced/reduced-1.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT REDUCED *
WHERE {
{ ?s :p ?o } UNION { ?s :q ?o }
}
Results
data-r2/reduced/reduced-1.srx
Query evaluation test
Default Graph
data-r2/reduced/reduced-str.ttl
@prefix : <http://example/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x1 :p "abc" .
:x1 :q "abc" .
:x2 :p "abc"@en .
:x2 :q "abc"@en .
:x3 :p "ABC" .
:x3 :q "ABC" .
:x4 :p "ABC"@en .
:x4 :q "ABC"@en .
:x5 :p "abc"^^xsd:string .
:x5 :q "abc"^^xsd:string .
:x6 :p "ABC"^^xsd:string .
:x6 :q "ABC"^^xsd:string .
:x7 :p "" .
:x7 :q "" .
:x8 :p ""@en .
:x8 :q ""@en .
:x9 :p ""^^xsd:string .
:x9 :q ""^^xsd:string .
Named Graphs
Query
data-r2/reduced/reduced-2.rq
PREFIX : <http://example/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT REDUCED ?v
{
?x ?p ?v .
}
Results
data-r2/reduced/reduced-2.srx
Query evaluation test
Simple unanchored match test
Default Graph
data-r2/regex/regex-data-01.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ex: <http://example.com/#> .
ex:foo rdf:value "abcDEFghiJKL" , "ABCdefGHIjkl", "0123456789",
<http://example.com/uri>, "http://example.com/literal" .
Named Graphs
Query
data-r2/regex/regex-query-001.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ex: <http://example.com/#>
SELECT ?val
WHERE {
ex:foo rdf:value ?val .
FILTER regex(?val, "GHI")
}
Results
data-r2/regex/regex-result-001.ttl
Query evaluation test
Case insensitive unanchored match test
Default Graph
data-r2/regex/regex-data-01.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ex: <http://example.com/#> .
ex:foo rdf:value "abcDEFghiJKL" , "ABCdefGHIjkl", "0123456789",
<http://example.com/uri>, "http://example.com/literal" .
Named Graphs
Query
data-r2/regex/regex-query-002.rq
PREFIX ex: <http://example.com/#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?val
WHERE {
ex:foo rdf:value ?val .
FILTER regex(?val, "DeFghI", "i")
}
Results
data-r2/regex/regex-result-002.ttl
Query evaluation test
Use/mention test
Default Graph
data-r2/regex/regex-data-01.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ex: <http://example.com/#> .
ex:foo rdf:value "abcDEFghiJKL" , "ABCdefGHIjkl", "0123456789",
<http://example.com/uri>, "http://example.com/literal" .
Named Graphs
Query
data-r2/regex/regex-query-003.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ex: <http://example.com/#>
SELECT ?val
WHERE {
ex:foo rdf:value ?val .
FILTER regex(?val, "example\\.com")
}
Results
data-r2/regex/regex-result-003.ttl
Query evaluation test
str()+URI test
Default Graph
data-r2/regex/regex-data-01.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ex: <http://example.com/#> .
ex:foo rdf:value "abcDEFghiJKL" , "ABCdefGHIjkl", "0123456789",
<http://example.com/uri>, "http://example.com/literal" .
Named Graphs
Query
data-r2/regex/regex-query-004.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX ex: <http://example.com/#>
SELECT ?val
WHERE {
ex:foo rdf:value ?val .
FILTER regex(str(?val), "example\\.com")
}
Results
data-r2/regex/regex-result-004.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-01.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
LIMIT 1
Results
data-r2/solution-seq/slice-results-01.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-02.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
LIMIT 100
Results
data-r2/solution-seq/slice-results-02.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-03.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
LIMIT 0
Results
data-r2/solution-seq/slice-results-03.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-04.rq
PREFIX : <http://example.org/ns#>
SELECT DISTINCT ?v
WHERE { [] :num ?v }
ORDER BY ?v
LIMIT 100
Results
data-r2/solution-seq/slice-results-04.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-10.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
OFFSET 1
Results
data-r2/solution-seq/slice-results-10.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-11.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
OFFSET 0
Results
data-r2/solution-seq/slice-results-11.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-12.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
OFFSET 100
Results
data-r2/solution-seq/slice-results-12.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-13.rq
PREFIX : <http://example.org/ns#>
SELECT DISTINCT ?v
WHERE { [] :num ?v }
ORDER BY ?v
OFFSET 2
Results
data-r2/solution-seq/slice-results-13.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-20.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
LIMIT 1
OFFSET 1
Results
data-r2/solution-seq/slice-results-20.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-21.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
OFFSET 1
LIMIT 2
Results
data-r2/solution-seq/slice-results-21.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-22.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] ?p ?v }
ORDER BY ?v
OFFSET 100
LIMIT 1
Results
data-r2/solution-seq/slice-results-22.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-23.rq
PREFIX : <http://example.org/ns#>
SELECT ?v
WHERE { [] :num ?v }
ORDER BY ?v
OFFSET 2
LIMIT 5
Results
data-r2/solution-seq/slice-results-23.ttl
Query evaluation test
Default Graph
data-r2/solution-seq/data.ttl
@prefix : <http://example.org/ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:x :num "1"^^xsd:integer .
:x :num "2"^^xsd:integer .
:x :num "3"^^xsd:integer .
:x :num "4"^^xsd:integer .
:x :num "1.5"^^xsd:decimal .
:y :num "1"^^xsd:integer .
:y :num "2"^^xsd:integer .
:y :num "3"^^xsd:integer .
:x :str "aaa" .
:x :str "002" .
:x :str "1" .
:x :str "AAA" .
:x :str "" .
Named Graphs
Query
data-r2/solution-seq/slice-24.rq
PREFIX : <http://example.org/ns#>
SELECT DISTINCT ?v
WHERE { [] :num ?v }
ORDER BY ?v
OFFSET 2
LIMIT 5
Results
data-r2/solution-seq/slice-results-24.ttl
Query evaluation test
Alphabetic sort (ascending) on untyped literals
Default Graph
data-r2/sort/data-sort-1.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a foaf:name "Eve".
_:b foaf:name "Alice" .
_:c foaf:name "Fred" .
_:e foaf:name "Bob" .
Named Graphs
Query
data-r2/sort/query-sort-1.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE { ?x foaf:name ?name }
ORDER BY ?name
Results
data-r2/sort/result-sort-1.rdf
Query evaluation test
Alphabetic sort (descending) on datatyped (string) literals
Default Graph
data-r2/sort/data-sort-9.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a foaf:name "Eve"^^xsd:string .
_:b foaf:name "Alice"^^xsd:string .
_:c foaf:name "Fred"^^xsd:string .
_:e foaf:name "Bob"^^xsd:string .
Named Graphs
Query
data-r2/sort/query-sort-10.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE { ?x foaf:name ?name }
ORDER BY DESC(?name)
Results
data-r2/sort/result-sort-10.rdf
Query evaluation test
Alphabetic sort (descending) on untyped literals
Default Graph
data-r2/sort/data-sort-1.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a foaf:name "Eve".
_:b foaf:name "Alice" .
_:c foaf:name "Fred" .
_:e foaf:name "Bob" .
Named Graphs
Query
data-r2/sort/query-sort-2.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE { ?x foaf:name ?name }
ORDER BY DESC(?name)
Results
data-r2/sort/result-sort-2.rdf
Query evaluation test
Sort on (possibly unbound) URIs
Default Graph
data-r2/sort/data-sort-3.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
foaf:mbox <mailto:eve@work.example> .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
foaf:mbox <mailto:alice@work.example> .
_:c rdf:type foaf:Person ;
foaf:mbox <mailto:fred@work.example> ;
foaf:name "Fred" .
_:e foaf:name "Bob" .
Named Graphs
Query
data-r2/sort/query-sort-3.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name ?mbox
WHERE { ?x foaf:name ?name .
OPTIONAL { ?x foaf:mbox ?mbox }
}
ORDER BY ASC(?mbox)
Results
data-r2/sort/result-sort-3.rdf
Query evaluation test
Sort on datatyped (integer) literals
Default Graph
data-r2/sort/data-sort-4.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer .
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23"^^xsd:integer .
_:f foaf:name "Bob" ;
ex:empId "30"^^xsd:integer .
Named Graphs
Query
data-r2/sort/query-sort-4.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <http://example.org/things#>
SELECT ?name ?emp
WHERE { ?x foaf:name ?name ;
ex:empId ?emp
}
ORDER BY ASC(?emp)
Results
data-r2/sort/result-sort-4.rdf
Query evaluation test
Sort first on untyped literals (ascending), then on datatyped (integer) literals (descending
Default Graph
data-r2/sort/data-sort-4.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer .
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23"^^xsd:integer .
_:f foaf:name "Bob" ;
ex:empId "30"^^xsd:integer .
Named Graphs
Query
data-r2/sort/query-sort-5.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <http://example.org/things#>
SELECT ?name ?emp
WHERE { ?x foaf:name ?name ;
ex:empId ?emp
}
ORDER BY ?name DESC(?emp)
Results
data-r2/sort/result-sort-5.rdf
Query evaluation test
Sort on mixed result of uris and literals.
Default Graph
data-r2/sort/data-sort-6.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:address <http://example.org/eve> .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:address "Fascination Street 11" .
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:address "fred@work.example" .
_:e foaf:name "Bob" ;
ex:address <mailto:bob@work.example> .
Named Graphs
Query
data-r2/sort/query-sort-6.rq
PREFIX ex: <http://example.org/things#>
SELECT ?address
WHERE { ?x ex:address ?address }
ORDER BY ASC(?address)
Results
data-r2/sort/result-sort-6.rdf
Query evaluation test
Sort on comparable mixed typed literals (integer and float)
Default Graph
data-r2/sort/data-sort-7.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a rdf:type foaf:Person ;
foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:b rdf:type foaf:Person ;
foaf:name "Alice" ;
ex:empId "29"^^xsd:integer .
_:c rdf:type foaf:Person ;
foaf:name "Fred" ;
ex:empId "27"^^xsd:integer .
_:e foaf:name "Bob" ;
ex:empId "23.0"^^xsd:float .
Named Graphs
Query
data-r2/sort/query-sort-4.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <http://example.org/things#>
SELECT ?name ?emp
WHERE { ?x foaf:name ?name ;
ex:empId ?emp
}
ORDER BY ASC(?emp)
Results
data-r2/sort/result-sort-7.rdf
Query evaluation test
Sort on several mixed values (bnode, uri, literal)
Default Graph
data-r2/sort/data-sort-8.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix ex: <http://example.org/things#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a foaf:name "Eve" ;
ex:empId "9"^^xsd:integer .
_:f foaf:name "John" ;
ex:empId [ ex:number "29"^^xsd:integer ] .
_:g foaf:name "Dirk" ;
ex:empId <http://example.org/dirk01> .
Named Graphs
Query
data-r2/sort/query-sort-4.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ex: <http://example.org/things#>
SELECT ?name ?emp
WHERE { ?x foaf:name ?name ;
ex:empId ?emp
}
ORDER BY ASC(?emp)
Results
data-r2/sort/result-sort-8.rdf
Query evaluation test
Alphabetic sort (ascending) on datatyped (string) literals
Default Graph
data-r2/sort/data-sort-9.ttl
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
_:a foaf:name "Eve"^^xsd:string .
_:b foaf:name "Alice"^^xsd:string .
_:c foaf:name "Fred"^^xsd:string .
_:e foaf:name "Bob"^^xsd:string .
Named Graphs
Query
data-r2/sort/query-sort-9.rq
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE { ?x foaf:name ?name }
ORDER BY ?name
Results
data-r2/sort/result-sort-9.rdf
Query evaluation test
Sort by a builtin operator
Default Graph
data-r2/sort/data-sort-builtin.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:s1 :p "2"^^xsd:integer .
:s2 :p "300"^^xsd:integer .
:s3 :p "10"^^xsd:integer .
Named Graphs
Query
data-r2/sort/query-sort-builtin.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o .
} ORDER BY str(?o)
Results
data-r2/sort/result-sort-builtin.ttl
Query evaluation test
Sort by function invocation
Default Graph
data-r2/sort/data-sort-function.ttl
@prefix : <http://example.org/> .
:s1 :p "2" .
:s2 :p "300" .
:s3 :p "10" .
Named Graphs
Query
data-r2/sort/query-sort-function.rq
PREFIX : <http://example.org/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
SELECT ?s WHERE {
?s :p ?o .
} ORDER BY xsd:integer(?o)
Results
data-r2/sort/result-sort-function.ttl
Query evaluation test
Sort by a bracketted expression
Default Graph
data-r2/sort/data-sort-numbers.ttl
@prefix : <http://example.org/> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
:s1 :p "1"^^xsd:integer; :q "2"^^xsd:integer .
:s2 :p "10"^^xsd:integer; :q "20"^^xsd:integer .
:s3 :p "100"^^xsd:integer; :q "200"^^xsd:integer .
Named Graphs
Query
data-r2/sort/query-sort-numbers.rq
PREFIX : <http://example.org/>
SELECT ?s WHERE {
?s :p ?o1 ; :q ?o2 .
} ORDER BY (?o1 + ?o2)
Results
data-r2/sort/result-sort-numbers.ttl
Query evaluation test
Simple triple match
Default Graph
data-r2/triple-match/data-01.ttl
@prefix : <http://example.org/data/> .
:x :p :v1 .
:x :p :v2 .
Named Graphs
Query
data-r2/triple-match/dawg-tp-01.rq
PREFIX : <http://example.org/data/>
SELECT *
WHERE { :x ?p ?q . }
Results
data-r2/triple-match/result-tp-01.ttl
Query evaluation test
Simple triple match
Default Graph
data-r2/triple-match/data-01.ttl
@prefix : <http://example.org/data/> .
:x :p :v1 .
:x :p :v2 .
Named Graphs
Query
data-r2/triple-match/dawg-tp-02.rq
PREFIX : <http://example.org/data/>
SELECT *
WHERE { ?x :p ?q . }
Results
data-r2/triple-match/result-tp-02.ttl
Query evaluation test
Simple triple match - repeated variable
Default Graph
data-r2/triple-match/data-02.ttl
@prefix : <http://example.org/data/> .
:y :y :x .
:x :y :y .
:y :x :y .
Named Graphs
Query
data-r2/triple-match/dawg-tp-03.rq
SELECT *
WHERE { ?a ?a ?b . }
Results
data-r2/triple-match/result-tp-03.ttl
Query evaluation test
Simple triple match - two triples, common variable
Default Graph
data-r2/triple-match/dawg-data-01.ttl
@prefix foaf: <http://xmlns.com/foaf/0.1/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
_:alice
rdf:type foaf:Person ;
foaf:name "Alice" ;
foaf:mbox <mailto:alice@work> ;
foaf:knows _:bob ;
.
_:bob
rdf:type foaf:Person ;
foaf:name "Bob" ;
foaf:knows _:alice ;
foaf:mbox <mailto:bob@work> ;
foaf:mbox <mailto:bob@home> ;
.
_:eve
rdf:type foaf:Person ;
foaf:name "Eve" ;
foaf:knows _:fred ;
.
_:fred
rdf:type foaf:Person ;
foaf:mbox <fred@edu> .
Named Graphs
Query
data-r2/triple-match/dawg-tp-04.rq
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?name
WHERE {
?x rdf:type foaf:Person .
?x foaf:name ?name .
}
Results
data-r2/triple-match/result-tp-04.ttl
Query evaluation test
Positive test: product of type promotion within the xsd:decimal type tree.
Default Graph
data-r2/type-promotion/tP.ttl
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix t: <http://www.w3.org/2001/sw/DataAccess/tests/data/TypePromotion/tP-0#> .
t:decimal1 rdf:value "1"^^xsd:decimal .
t:float1 rdf:value "1"^^xsd:float .
t:double1 rdf:value "1"^^xsd:double .
t:booleanT rdf:value "true"^^xsd:boolean .
t:dateTime1 rdf:value "2005-01-14T12:34:56"^^xsd:dateTime .
# types derived from xsd:decimal:
t:integer1 rdf:value "1"^^xsd:integer .
t:nonPositiveIntegerN1 rdf:value "-1"^^xsd:nonPositiveInteger .
t:negativeIntegerN1 rdf:value "-1"^^xsd:negativeInteger .
t:long1 rdf:value "1"^^xsd:long .
t:int1 rdf:value "1"^^xsd:int .
t:short1 rdf:value "1"^^xsd:short .
t:byte1 rdf:value "1"^^xsd:byte .
t:nonNegativeInteger1 rdf:value "1"^^xsd:nonNegativeInteger .
t:unsignedLong1 rdf:value "1"^^xsd:unsignedLong .
t:unsignedInt1 rdf:value "1"^^xsd:unsignedInt .
t:unsignedShort1 rdf:value "1"^^xsd:unsignedShort .
t:unsignedByte1 rdf:value "1"^^xsd:unsignedByte .
t:positiveInteger1 rdf:value "1"^^xsd:positiveInteger .
Named Graphs
Query
data-r2/type-promotion/tP-double-double.rq
# Positive test: product of type promotion within the xsd:decimal type tree.
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX t: <http://www.w3.org/2001/sw/DataAccess/tests/data/TypePromotion/tP-0#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ASK
WHERE { t:double1 rdf:value ?l .
t:double1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:double ) }
Results
data-r2/type-promotion/true.ttl
Query evaluation test
Positive test: product of type promotion within the xsd:decimal type tree.
Default Graph
data-r2/type-promotion/tP.ttl
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix t: <http://www.w3.org/2001/sw/DataAccess/tests/data/TypePromotion/tP-0#> .
t:decimal1 rdf:value "1"^^xsd:decimal .
t:float1 rdf:value "1"^^xsd:float .
t:double1 rdf:value "1"^^xsd:double .
t:booleanT rdf:value "true"^^xsd:boolean .
t:dateTime1 rdf:value "2005-01-14T12:34:56"^^xsd:dateTime .
# types derived from xsd:decimal:
t:integer1 rdf:value "1"^^xsd:integer .
t:nonPositiveIntegerN1 rdf:value "-1"^^xsd:nonPositiveInteger .
t:negativeIntegerN1 rdf:value "-1"^^xsd:negativeInteger .
t:long1 rdf:value "1"^^xsd:long .
t:int1 rdf:value "1"^^xsd:int .
t:short1 rdf:value "1"^^xsd:short .
t:byte1 rdf:value "1"^^xsd:byte .
t:nonNegativeInteger1 rdf:value "1"^^xsd:nonNegativeInteger .
t:unsignedLong1 rdf:value "1"^^xsd:unsignedLong .
t:unsignedInt1 rdf:value "1"^^xsd:unsignedInt .
t:unsignedShort1 rdf:value "1"^^xsd:unsignedShort .
t:unsignedByte1 rdf:value "1"^^xsd:unsignedByte .
t:positiveInteger1 rdf:value "1"^^xsd:positiveInteger .
Named Graphs
Query
data-r2/type-promotion/tP-double-float.rq
# Positive test: product of type promotion within the xsd:decimal type tree.
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX t: <http://www.w3.org/2001/sw/DataAccess/tests/data/TypePromotion/tP-0#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ASK
WHERE { t:double1 rdf:value ?l .
t:float1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:double ) }
Results
data-r2/type-promotion/true.ttl
Query evaluation test
Positive test: product of type promotion within the xsd:decimal type tree.
Default Graph
data-r2/type-promotion/tP.ttl
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
@prefix t: <http://www.w3.org/2001/sw/DataAccess/tests/data/TypePromotion/tP-0#> .
t:decimal1 rdf:value "1"^^xsd:decimal .
t:float1 rdf:value "1"^^xsd:float .
t:double1 rdf:value "1"^^xsd:double .
t:booleanT rdf:value "true"^^xsd:boolean .
t:dateTime1 rdf:value "2005-01-14T12:34:56"^^xsd:dateTime .
# types derived from xsd:decimal:
t:integer1 rdf:value "1"^^xsd:integer .
t:nonPositiveIntegerN1 rdf:value "-1"^^xsd:nonPositiveInteger .
t:negativeIntegerN1 rdf:value "-1"^^xsd:negativeInteger .
t:long1 rdf:value "1"^^xsd:long .
t:int1 rdf:value "1"^^xsd:int .
t:short1 rdf:value "1"^^xsd:short .
t:byte1 rdf:value "1"^^xsd:byte .
t:nonNegativeInteger1 rdf:value "1"^^xsd:nonNegativeInteger .
t:unsignedLong1 rdf:value "1"^^xsd:unsignedLong .
t:unsignedInt1 rdf:value "1"^^xsd:unsignedInt .
t:unsignedShort1 rdf:value "1"^^xsd:unsignedShort .
t:unsignedByte1 rdf:value "1"^^xsd:unsignedByte .
t:positiveInteger1 rdf:value "1"^^xsd:positiveInteger .
Named Graphs
Query
data-r2/type-promotion/tP-double-decimal.rq
# Positive test: product of type promotion within the xsd:decimal type tree.
# $Id: r2.html,v 1.11 2008/01/09 21:15:21 lfeigenb Exp $
PREFIX t: <http://www.w3.org/2001/sw/DataAccess/tests/data/TypePromotion/tP-0#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
ASK
WHERE { t:double1 rdf:value ?l .
t:decimal1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:double ) }
Results
data-r2/type-promotion/true.ttl
Query evaluation test
App