DALI 1.1 Erratum 1: Drop resource attribute on continuation
Author: Markus Demleitner
Date last changed: 2023-01-20
Date accepted: 2023-04-05
Rationale
In section 2.3.4,
DALI 1.1 says:
If the examples are spread over multiple linked documents, the links to documents with additional examples must be within the parent element defining the vocab attribute and the link elements must contain the following additional attributes: a property attribute with the value continuation, a resource attribute with an empty value (referring to the current document), and the href attribute with the URL of another document formatted as above (i.e. another collection of examples that clients should read to collect the full set of examples).
During implementation, it was noticed that the regulation on the
resource
attribute yields bad RDF triples, as the
resource
attribute, rather than making the current document the subject of the
continuation
triple as claimed by the current specification language, actually changes the object of the triple (to the current document). Indeed, the subject defaults to the current document (and if it didn't, the
about
attribute would have to be used to change it).
Expressed in Turtle, the current specification would yield
<> example:continuation <>
that is, the current document is the continuation of the current document, which clearly is nonsensical.
What instead should be expressed by markup like
<a property="continuation"
href="http://dc.g-vo.org/rr/q/ex/examples"
>RegTAP queries
is
<> example:continuation <http://dc.g-vo.org/rr/q/ex/examples>
This is accomplished by not having any
resource
attribute.
Erratum content
In section 2.3.4 strike the phrase
, a resource attribute with an empty value (referring to the current document),
Impact assessment
TAP services that already make use of continuation will should drop the resource attribute.
With the change, clients using RDFa parsers to evaluate
DALI examples documents will correctly interpret the continuation markup; hence, it would unbreak them.
In practice, I expect no impact at all. Firstly, a census of TAP examples using
import re
import sys
from pyvo import registry
import requests
for rec in registry.search(servicetype="tap"):
exurl = rec.get_service("tap")._baseurl+"/examples"
try:
extx = requests.get(exurl, timeout=2).text
except requests.exceptions.RequestException as ex:
sys.stderr.write(f"Broken {exurl}: {ex}\n")
if re.search(r"property\s*=\s*.continuation.", extx):
print(f"Has continuation: {exurl}")
shows that only one site currently has a continuation (and that already has dropped the resource attribute). In addition, for all I know, no client is parsing example documents using RDF tooling.