[tracker/wip/carlosg/serialize-api: 12/26] libtracker-data: Provide graph information at describe queries
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/wip/carlosg/serialize-api: 12/26] libtracker-data: Provide graph information at describe queries
- Date: Sun, 19 Dec 2021 10:35:01 +0000 (UTC)
commit f3c94a4191917c908ca5d83b8ae24c0d58ad0940
Author: Carlos Garnacho <carlosg gnome org>
Date: Sun Nov 21 16:03:37 2021 +0100
libtracker-data: Provide graph information at describe queries
And ensure ordering by first subject then graph, so information for a
single resource from multiple graphs is clustered together. Since
the cursor format and output changed, update the tests that expect a
specific DESCRIBE output.
src/libtracker-data/tracker-sparql.c | 3 +-
tests/libtracker-data/describe/describe-limit.out | 22 +++++------
.../libtracker-data/describe/describe-multiple.out | 44 +++++++++++-----------
.../libtracker-data/describe/describe-pattern.out | 12 +++---
tests/libtracker-data/describe/describe-single.out | 10 ++---
5 files changed, 46 insertions(+), 45 deletions(-)
---
diff --git a/src/libtracker-data/tracker-sparql.c b/src/libtracker-data/tracker-sparql.c
index aa732580c..849bd4501 100644
--- a/src/libtracker-data/tracker-sparql.c
+++ b/src/libtracker-data/tracker-sparql.c
@@ -3369,7 +3369,8 @@ translate_DescribeQuery (TrackerSparql *sparql,
"SELECT "
" COALESCE((SELECT Uri FROM Resource WHERE ID = subject), 'urn:bnode:' || subject),"
" (SELECT Uri FROM Resource WHERE ID = predicate),"
- " object "
+ " object, "
+ " (SELECT Uri FROM Resource WHERE ID = graph) "
"FROM tracker_triples ");
if (sparql->policy.graphs) {
diff --git a/tests/libtracker-data/describe/describe-limit.out
b/tests/libtracker-data/describe/describe-limit.out
index e983c2b48..b536c99e2 100644
--- a/tests/libtracker-data/describe/describe-limit.out
+++ b/tests/libtracker-data/describe/describe-limit.out
@@ -1,11 +1,11 @@
-"a" "http://example/number" "42"
-"a" "http://example/date" "2000-01-01T00:00:01Z"
-"a" "http://example/name" "nameA"
-"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
-"b" "http://example/relation" "z"
-"b" "http://example/number" "73"
-"b" "http://example/date" "2001-01-01T00:00:01Z"
-"b" "http://example/name" "nameB"
-"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
+"b" "http://example/relation" "z"
+"a" "http://example/number" "42"
+"b" "http://example/number" "73"
+"a" "http://example/date" "2000-01-01T00:00:01Z"
+"b" "http://example/date" "2001-01-01T00:00:01Z"
+"a" "http://example/name" "nameA"
+"b" "http://example/name" "nameB"
+"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
+"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://www.w3.org/2000/01/rdf-schema#Resource"
+"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
diff --git a/tests/libtracker-data/describe/describe-multiple.out
b/tests/libtracker-data/describe/describe-multiple.out
index 034058637..8edc0fd45 100644
--- a/tests/libtracker-data/describe/describe-multiple.out
+++ b/tests/libtracker-data/describe/describe-multiple.out
@@ -1,22 +1,22 @@
-"b" "http://example/relation" "z"
-"b" "http://example/number" "73"
-"b" "http://example/date" "2001-01-01T00:00:01Z"
-"b" "http://example/name" "nameB"
-"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
-"z" "http://example/title" "titleZ"
-"z" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"z" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/B"
-"c" "http://example/relation" "x"
-"c" "http://example/number" "113"
-"c" "http://example/name" "nameC"
-"c" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"c" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
-"x" "http://example/title" "titleX"
-"x" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"x" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/B"
-"d" "http://example/relation" "z"
-"d" "http://example/date" "2002-01-01T00:00:01Z"
-"d" "http://example/name" "nameD"
-"d" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"d" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
+"b" "http://example/relation" "z"
+"c" "http://example/relation" "x"
+"d" "http://example/relation" "z"
+"z" "http://example/title" "titleZ"
+"x" "http://example/title" "titleX"
+"b" "http://example/number" "73"
+"c" "http://example/number" "113"
+"b" "http://example/date" "2001-01-01T00:00:01Z"
+"d" "http://example/date" "2002-01-01T00:00:01Z"
+"b" "http://example/name" "nameB"
+"c" "http://example/name" "nameC"
+"d" "http://example/name" "nameD"
+"z" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
+"z" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/B"
+"x" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
+"x" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/B"
+"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
+"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://www.w3.org/2000/01/rdf-schema#Resource"
+"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://www.w3.org/2000/01/rdf-schema#Resource"
+"d" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
diff --git a/tests/libtracker-data/describe/describe-pattern.out
b/tests/libtracker-data/describe/describe-pattern.out
index e512b1d8c..84d8d9520 100644
--- a/tests/libtracker-data/describe/describe-pattern.out
+++ b/tests/libtracker-data/describe/describe-pattern.out
@@ -1,6 +1,6 @@
-"b" "http://example/relation" "z"
-"b" "http://example/number" "73"
-"b" "http://example/date" "2001-01-01T00:00:01Z"
-"b" "http://example/name" "nameB"
-"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
+"b" "http://example/relation" "z"
+"b" "http://example/number" "73"
+"b" "http://example/date" "2001-01-01T00:00:01Z"
+"b" "http://example/name" "nameB"
+"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
+"b" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
diff --git a/tests/libtracker-data/describe/describe-single.out
b/tests/libtracker-data/describe/describe-single.out
index 0bb548ba0..b896021ee 100644
--- a/tests/libtracker-data/describe/describe-single.out
+++ b/tests/libtracker-data/describe/describe-single.out
@@ -1,5 +1,5 @@
-"a" "http://example/number" "42"
-"a" "http://example/date" "2000-01-01T00:00:01Z"
-"a" "http://example/name" "nameA"
-"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
-"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
+"a" "http://example/number" "42"
+"a" "http://example/date" "2000-01-01T00:00:01Z"
+"a" "http://example/name" "nameA"
+"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type"
"http://www.w3.org/2000/01/rdf-schema#Resource"
+"a" "http://www.w3.org/1999/02/22-rdf-syntax-ns#type" "http://example/A"
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]