diff --git a/case_utils/case_sparql_select/__init__.py b/case_utils/case_sparql_select/__init__.py
index b753664..dcc704e 100644
--- a/case_utils/case_sparql_select/__init__.py
+++ b/case_utils/case_sparql_select/__init__.py
@@ -70,6 +70,11 @@ def main() -> None:
action="store_true",
help="Raise error if no results are returned for query.",
)
+ parser.add_argument(
+ "--use-prefixes",
+ action="store_true",
+ help="Abbreviate node IDs according to graph's encoded prefixes. (This will use prefixes in the graph, not the query.)",
+ )
parser.add_argument(
"out_table",
help="Expected extensions are .html for HTML tables or .md for Markdown tables.",
@@ -124,6 +129,11 @@ def main() -> None:
# The render to ASCII is in support of this script rendering results for website viewing.
# .decode() is because hexlify returns bytes.
column_value = binascii.hexlify(column.toPython()).decode()
+ elif isinstance(column, rdflib.URIRef):
+ if args.use_prefixes:
+ column_value = graph.namespace_manager.qname(column.toPython())
+ else:
+ column_value = column.toPython()
else:
column_value = column.toPython()
if row_no == 0:
diff --git a/tests/case_utils/case_sparql_select/.check-prefixed_results.html b/tests/case_utils/case_sparql_select/.check-prefixed_results.html
new file mode 100644
index 0000000..10e210b
--- /dev/null
+++ b/tests/case_utils/case_sparql_select/.check-prefixed_results.html
@@ -0,0 +1,18 @@
+
+
+
+ |
+ ?nFile |
+
+
+
+
+ 0 |
+ kb:file-1 |
+
+
+ 1 |
+ kb:file-2 |
+
+
+
\ No newline at end of file
diff --git a/tests/case_utils/case_sparql_select/.check-prefixed_results.md b/tests/case_utils/case_sparql_select/.check-prefixed_results.md
new file mode 100644
index 0000000..f49a624
--- /dev/null
+++ b/tests/case_utils/case_sparql_select/.check-prefixed_results.md
@@ -0,0 +1,4 @@
+| | ?nFile |
+|----|-----------|
+| 0 | kb:file-1 |
+| 1 | kb:file-2 |
\ No newline at end of file
diff --git a/tests/case_utils/case_sparql_select/Makefile b/tests/case_utils/case_sparql_select/Makefile
index 22a849b..6431be7 100644
--- a/tests/case_utils/case_sparql_select/Makefile
+++ b/tests/case_utils/case_sparql_select/Makefile
@@ -18,6 +18,8 @@ top_srcdir := $(shell cd ../../.. ; pwd)
tests_srcdir := $(top_srcdir)/tests
all: \
+ prefixed_results.html \
+ prefixed_results.md \
subclass-explicit-none.md \
subclass-implicit-any.md \
w3-output.html \
@@ -31,14 +33,30 @@ all: \
check-w3-markdown
.PRECIOUS: \
+ prefixed_results.% \
subclass-% \
w3-output.%
check: \
check-w3-html \
check-w3-markdown \
+ check-prefixed_results \
check-subclass
+check-prefixed_results: \
+ check-prefixed_results-html \
+ check-prefixed_results-md
+
+check-prefixed_results-html: \
+ .check-prefixed_results.html \
+ prefixed_results.html
+ diff $^
+
+check-prefixed_results-md: \
+ .check-prefixed_results.md \
+ prefixed_results.md
+ diff $^
+
check-subclass: \
check-subclass-explicit-none \
check-subclass-implicit-any
@@ -71,6 +89,21 @@ clean:
*.md \
_*
+prefixed_results.%: \
+ $(tests_srcdir)/.venv.done.log \
+ $(top_srcdir)/case_utils/case_sparql_select/__init__.py \
+ $(top_srcdir)/case_utils/ontology/__init__.py \
+ $(top_srcdir)/case_utils/ontology/version_info.py \
+ subclass.json \
+ subclass.sparql
+ source $(tests_srcdir)/venv/bin/activate \
+ && case_sparql_select \
+ --use-prefixes \
+ _$@ \
+ subclass.sparql \
+ subclass.json
+ mv _$@ $@
+
subclass-explicit-none.md: \
$(tests_srcdir)/.venv.done.log \
$(top_srcdir)/case_utils/case_sparql_select/__init__.py \
diff --git a/tests/case_utils/case_sparql_select/prefixed_results.html b/tests/case_utils/case_sparql_select/prefixed_results.html
new file mode 100644
index 0000000..10e210b
--- /dev/null
+++ b/tests/case_utils/case_sparql_select/prefixed_results.html
@@ -0,0 +1,18 @@
+
+
+
+ |
+ ?nFile |
+
+
+
+
+ 0 |
+ kb:file-1 |
+
+
+ 1 |
+ kb:file-2 |
+
+
+
\ No newline at end of file
diff --git a/tests/case_utils/case_sparql_select/prefixed_results.md b/tests/case_utils/case_sparql_select/prefixed_results.md
new file mode 100644
index 0000000..f49a624
--- /dev/null
+++ b/tests/case_utils/case_sparql_select/prefixed_results.md
@@ -0,0 +1,4 @@
+| | ?nFile |
+|----|-----------|
+| 0 | kb:file-1 |
+| 1 | kb:file-2 |
\ No newline at end of file