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
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-float-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:float1 rdf:value ?l .
t:float1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:float ) }
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-float-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:float1 rdf:value ?l .
t:decimal1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:float ) }
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-decimal-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:decimal1 rdf:value ?l .
t:decimal1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:decimal ) }
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-integer-short.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:integer1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-nonPositiveInteger-short.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:nonPositiveIntegerN1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-negativeInteger-short.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:negativeIntegerN1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-long-short.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:long1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-int-short.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:int1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-short-short.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:short1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-byte-short.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:byte1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-nonNegativeInteger-short.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:nonNegativeInteger1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-unsignedLong-short.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:unsignedLong1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-unsignedInt-short.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:unsignedInt1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-unsignedShort-short.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:unsignedShort1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-unsignedByte-short.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:unsignedByte1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-positiveInteger-short.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:positiveInteger1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:integer ) }
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-short-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:short1 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-short-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:short1 rdf:value ?l .
t:float1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:float ) }
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-short-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:short1 rdf:value ?l .
t:decimal1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:decimal ) }
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-short-short-fail.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:short1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:short ) }
Results
data-r2/type-promotion/false.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-byte-short-fail.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:byte1 rdf:value ?l .
t:short1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:short ) }
Results
data-r2/type-promotion/false.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-short-long-fail.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:short1 rdf:value ?l .
t:long1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:decimal ) }
Results
data-r2/type-promotion/false.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-short-int-fail.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:short1 rdf:value ?l .
t:int1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:float ) }
Results
data-r2/type-promotion/false.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-short-byte-fail.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:short1 rdf:value ?l .
t:byte1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:double ) }
Results
data-r2/type-promotion/false.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-fail.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:float ) }
Results
data-r2/type-promotion/false.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-fail.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:decimal ) }
Results
data-r2/type-promotion/false.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-float-decimal-fail.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:float1 rdf:value ?l .
t:decimal1 rdf:value ?r .
FILTER ( datatype(?l + ?r) = xsd:decimal ) }
Results
data-r2/type-promotion/false.ttl
W3C(R) SOFTWARE NOTICE AND LICENSE
http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
This work (and included software, documentation such as READMEs, or other
related items) is being provided by the copyright holders under the
following license. By obtaining, using and/or copying this work, you (the
licensee) agree that you have read, understood, and will comply with the
following terms and conditions.
Permission to copy, modify, and distribute this software and its
documentation, with or without modification, for any purpose and without
fee or royalty is hereby granted, provided that you include the following
on ALL copies of the software and documentation or portions thereof,
including modifications:
1. The full text of this NOTICE in a location viewable to users of the
redistributed or derivative work.
2. Any pre-existing intellectual property disclaimers, notices, or terms
and conditions. If none exist, the W3C Software Short Notice should be
included (hypertext is preferred, text is permitted) within the body of
any redistributed or derivative code.
3. Notice of any changes or modifications to the files, including the
date changes were made. (We recommend you provide URIs to the location
from which the code is derived.)
THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS
MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR
PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE
ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.
COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR
DOCUMENTATION.
The name and trademarks of copyright holders may NOT be used in advertising
or publicity pertaining to the software without specific, written prior
permission. Title to copyright in this software and any associated
documentation will at all times remain with copyright holders.