diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2019-07-21 12:45:43 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2019-09-10 00:22:58 +0200 |
commit | 7620ec1de0cf24cba34eddb265e3b27e6b5de307 (patch) | |
tree | 5b17d845205f4b1777ca542c8cb62556d99c1d4a | |
parent | 03a923ac65d4657c8620b058365b0b69e19185b2 (diff) | |
download | tracker-7620ec1de0cf24cba34eddb265e3b27e6b5de307.tar.gz |
tests: Add tests for CONSTRUCT
9 files changed, 99 insertions, 0 deletions
diff --git a/tests/libtracker-data/construct/construct-pattern.out b/tests/libtracker-data/construct/construct-pattern.out new file mode 100644 index 000000000..bda80d4c6 --- /dev/null +++ b/tests/libtracker-data/construct/construct-pattern.out @@ -0,0 +1,12 @@ +"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://xmlns.com/foaf/0.1/Person" +"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://xmlns.com/foaf/0.1/Person" +"c" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://xmlns.com/foaf/0.1/Person" +"d" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://xmlns.com/foaf/0.1/Person" +"a" "http://xmlns.com/foaf/0.1/name" "nameA" +"b" "http://xmlns.com/foaf/0.1/name" "nameB" +"c" "http://xmlns.com/foaf/0.1/name" "nameC" +"d" "http://xmlns.com/foaf/0.1/name" "nameD" +"a" "http://xmlns.com/foaf/0.1/mbox" "mailto:bob@work" +"b" "http://xmlns.com/foaf/0.1/mbox" "mailto:bob@work" +"c" "http://xmlns.com/foaf/0.1/mbox" "mailto:bob@work" +"d" "http://xmlns.com/foaf/0.1/mbox" "mailto:bob@work" diff --git a/tests/libtracker-data/construct/construct-pattern.rq b/tests/libtracker-data/construct/construct-pattern.rq new file mode 100644 index 000000000..d686a48fd --- /dev/null +++ b/tests/libtracker-data/construct/construct-pattern.rq @@ -0,0 +1,3 @@ +PREFIX foaf: <http://xmlns.com/foaf/0.1/> + +CONSTRUCT { ?u a foaf:Person ; foaf:name ?name ; foaf:mbox <mailto:bob@work> } WHERE { ?u a example:A ; example:name ?name } diff --git a/tests/libtracker-data/construct/construct-where.out b/tests/libtracker-data/construct/construct-where.out new file mode 100644 index 000000000..6fb4dde44 --- /dev/null +++ b/tests/libtracker-data/construct/construct-where.out @@ -0,0 +1,8 @@ +"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A" +"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A" +"c" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A" +"d" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A" +"a" "http://example/name" "nameA" +"b" "http://example/name" "nameB" +"c" "http://example/name" "nameC" +"d" "http://example/name" "nameD" diff --git a/tests/libtracker-data/construct/construct-where.rq b/tests/libtracker-data/construct/construct-where.rq new file mode 100644 index 000000000..cce9b98e7 --- /dev/null +++ b/tests/libtracker-data/construct/construct-where.rq @@ -0,0 +1 @@ +CONSTRUCT WHERE { ?u a example:A ; example:name ?l } diff --git a/tests/libtracker-data/construct/construct-with-modifiers.out b/tests/libtracker-data/construct/construct-with-modifiers.out new file mode 100644 index 000000000..737959de6 --- /dev/null +++ b/tests/libtracker-data/construct/construct-with-modifiers.out @@ -0,0 +1,4 @@ +"c" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://xmlns.com/foaf/0.1/Person" +"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://xmlns.com/foaf/0.1/Person" +"c" "http://xmlns.com/foaf/0.1/name" "nameC" +"b" "http://xmlns.com/foaf/0.1/name" "nameB" diff --git a/tests/libtracker-data/construct/construct-with-modifiers.rq b/tests/libtracker-data/construct/construct-with-modifiers.rq new file mode 100644 index 000000000..2f2badefa --- /dev/null +++ b/tests/libtracker-data/construct/construct-with-modifiers.rq @@ -0,0 +1,3 @@ +PREFIX foaf: <http://xmlns.com/foaf/0.1/> + +CONSTRUCT { ?u a foaf:Person ; foaf:name ?name } WHERE { ?u a example:A ; example:name ?name ; example:number ?number } ORDER BY DESC ?number LIMIT 2 diff --git a/tests/libtracker-data/construct/data.ttl b/tests/libtracker-data/construct/data.ttl new file mode 100644 index 000000000..7449849fd --- /dev/null +++ b/tests/libtracker-data/construct/data.ttl @@ -0,0 +1,31 @@ +@prefix example: <http://example/> . + +<a> a example:A ; + example:name 'nameA' ; + example:date '2000-01-01T00:00:01Z' ; + example:number 42 . + +<b> a example:A ; + example:name 'nameB' ; + example:date '2001-01-01T00:00:01Z' ; + example:number 73 ; + example:relation <z> . + +<c> a example:A ; + example:name 'nameC' ; + example:number 113 ; + example:relation <x> . + +<d> a example:A ; + example:name 'nameD' ; + example:date '2002-01-01T00:00:01Z' ; + example:relation <z> . + +<x> a example:B ; + example:title 'titleX' . + +<y> a example:B ; + example:title 'titleY' . + +<z> a example:B ; + example:title 'titleZ' . diff --git a/tests/libtracker-data/construct/test.ontology b/tests/libtracker-data/construct/test.ontology new file mode 100644 index 000000000..0a803ae95 --- /dev/null +++ b/tests/libtracker-data/construct/test.ontology @@ -0,0 +1,34 @@ +@prefix example: <http://example/> . +@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . +@prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . +@prefix tracker: <http://www.tracker-project.org/ontologies/tracker#> . +@prefix xsd: <http://www.w3.org/2001/XMLSchema#> . + +example: a tracker:Namespace ; + tracker:prefix "example" . + +example:A a rdfs:Class ; + rdfs:subClassOf rdfs:Resource . + +example:name a rdf:Property ; + rdfs:domain example:A ; + rdfs:range xsd:string . + +example:date a rdf:Property ; + rdfs:domain example:A ; + rdfs:range xsd:dateTime . + +example:number a rdf:Property ; + rdfs:domain example:A ; + rdfs:range xsd:integer . + +example:B a rdfs:Class ; + rdfs:subClassOf rdfs:Resource . + +example:title a rdf:Property ; + rdfs:domain example:B ; + rdfs:range xsd:string . + +example:relation a rdf:Property ; + rdfs:domain example:A ; + rdfs:range example:B . diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c index 62952b7f5..257fead15 100644 --- a/tests/libtracker-data/tracker-sparql-test.c +++ b/tests/libtracker-data/tracker-sparql-test.c @@ -83,6 +83,9 @@ const TestInfo tests[] = { { "bnode/query-5", "bnode/data", FALSE }, { "bnode-coreference/query", "bnode-coreference/data", FALSE }, { "bound/bound1", "bound/data", FALSE }, + { "construct/construct-where", "construct/data", FALSE }, + { "construct/construct-pattern", "construct/data", FALSE }, + { "construct/construct-with-modifiers", "construct/data", FALSE }, { "datetime/delete-1", "datetime/data-3", FALSE }, { "datetime/functions-localtime-1", "datetime/data-1", FALSE }, { "datetime/functions-timezone-1", "datetime/data-2", FALSE }, |