[tracker] libtracker-data: Test simple named graph insert and query
- From: Jürg Billeter <juergbi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker] libtracker-data: Test simple named graph insert and query
- Date: Wed, 17 Feb 2010 15:22:35 +0000 (UTC)
commit d4d9acd693f4429c4bead18e1ce19f2cf9c7d281
Author: Jürg Billeter <j bitron ch>
Date: Tue Feb 16 08:12:12 2010 +0100
libtracker-data: Test simple named graph insert and query
configure.ac | 1 +
tests/libtracker-data/Makefile.am | 1 +
tests/libtracker-data/graph/Makefile.am | 7 +++++++
tests/libtracker-data/graph/data-1.ontology | 16 ++++++++++++++++
tests/libtracker-data/graph/data-1.rq | 8 ++++++++
tests/libtracker-data/graph/graph-1.out | 1 +
tests/libtracker-data/graph/graph-1.rq | 5 +++++
tests/libtracker-data/tracker-sparql-test.c | 27 +++++++++++++++++++++++----
8 files changed, 62 insertions(+), 4 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 04603e7..4bafb57 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1662,6 +1662,7 @@ AC_CONFIG_FILES([
tests/libtracker-data/bound/Makefile
tests/libtracker-data/expr-ops/Makefile
tests/libtracker-data/functions/Makefile
+ tests/libtracker-data/graph/Makefile
tests/libtracker-data/nie/Makefile
tests/libtracker-data/nmo/Makefile
tests/libtracker-data/optional/Makefile
diff --git a/tests/libtracker-data/Makefile.am b/tests/libtracker-data/Makefile.am
index 8146c12..591f5b4 100644
--- a/tests/libtracker-data/Makefile.am
+++ b/tests/libtracker-data/Makefile.am
@@ -7,6 +7,7 @@ SUBDIRS = \
bound \
expr-ops \
functions \
+ graph \
nie \
nmo \
optional \
diff --git a/tests/libtracker-data/graph/Makefile.am b/tests/libtracker-data/graph/Makefile.am
new file mode 100644
index 0000000..74c152e
--- /dev/null
+++ b/tests/libtracker-data/graph/Makefile.am
@@ -0,0 +1,7 @@
+include $(top_srcdir)/Makefile.decl
+
+EXTRA_DIST = \
+ data-1.ontology \
+ data-1.rq \
+ graph-1.out \
+ graph-1.rq
diff --git a/tests/libtracker-data/graph/data-1.ontology b/tests/libtracker-data/graph/data-1.ontology
new file mode 100644
index 0000000..e831f2a
--- /dev/null
+++ b/tests/libtracker-data/graph/data-1.ontology
@@ -0,0 +1,16 @@
+ 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:p a rdf:Property ;
+ rdfs:domain example:A ;
+ rdfs:range xsd:integer .
+
diff --git a/tests/libtracker-data/graph/data-1.rq b/tests/libtracker-data/graph/data-1.rq
new file mode 100644
index 0000000..1dac553
--- /dev/null
+++ b/tests/libtracker-data/graph/data-1.rq
@@ -0,0 +1,8 @@
+INSERT INTO example:graphA {
+ example:resource a example:A ;
+ example:p 42
+}
+INSERT INTO example:graphB {
+ example:resource a example:A ;
+ example:p 42
+}
diff --git a/tests/libtracker-data/graph/graph-1.out b/tests/libtracker-data/graph/graph-1.out
new file mode 100644
index 0000000..0476f74
--- /dev/null
+++ b/tests/libtracker-data/graph/graph-1.out
@@ -0,0 +1 @@
+"http://example/graphA" "http://example/resource"
diff --git a/tests/libtracker-data/graph/graph-1.rq b/tests/libtracker-data/graph/graph-1.rq
new file mode 100644
index 0000000..b2464d2
--- /dev/null
+++ b/tests/libtracker-data/graph/graph-1.rq
@@ -0,0 +1,5 @@
+SELECT ?g ?s WHERE {
+ GRAPH ?g {
+ ?s example:p 42
+ }
+}
diff --git a/tests/libtracker-data/tracker-sparql-test.c b/tests/libtracker-data/tracker-sparql-test.c
index 615d6fa..d89c2f0 100644
--- a/tests/libtracker-data/tracker-sparql-test.c
+++ b/tests/libtracker-data/tracker-sparql-test.c
@@ -69,6 +69,7 @@ const TestInfo tests[] = {
{ "functions/functions-tracker-loc-1", "functions/data-3", FALSE },
{ "functions/functions-xpath-1", "functions/data-1", FALSE },
{ "functions/functions-xpath-2", "functions/data-1", FALSE },
+ { "graph/graph-1", "graph/data-1", FALSE },
{ "optional/q-opt-complex-1", "optional/complex-data-1", FALSE },
{ "regex/regex-query-001", "regex/regex-data-01", FALSE },
{ "regex/regex-query-002", "regex/regex-data-01", FALSE },
@@ -124,10 +125,28 @@ test_sparql_query (gconstpointer test_data)
/* load data set */
data_filename = g_strconcat (data_prefix, ".ttl", NULL);
- tracker_data_begin_transaction ();
- tracker_turtle_reader_load (data_filename, &error);
- tracker_data_commit_transaction ();
- g_assert_no_error (error);
+ if (g_file_test (data_filename, G_FILE_TEST_IS_REGULAR)) {
+ tracker_data_begin_transaction ();
+ tracker_turtle_reader_load (data_filename, &error);
+ tracker_data_commit_transaction ();
+ g_assert_no_error (error);
+ } else {
+ /* no .ttl available, assume .rq with SPARQL Update */
+ gchar *data;
+
+ g_free (data_filename);
+
+ data_filename = g_strconcat (data_prefix, ".rq", NULL);
+ g_file_get_contents (data_filename, &data, NULL, &error);
+ g_assert_no_error (error);
+
+ tracker_data_begin_transaction ();
+ tracker_data_update_sparql (data, &error);
+ tracker_data_commit_transaction ();
+ g_assert_no_error (error);
+
+ g_free (data);
+ }
query_filename = g_strconcat (test_prefix, ".rq", NULL);
g_file_get_contents (query_filename, &query, NULL, &error);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]