Vocabularising dataproduct_type
Markus Demleitner
msdemlei at ari.uni-heidelberg.de
Tue Mar 10 15:01:44 CET 2020
Hi Laurent,
On Tue, Mar 10, 2020 at 02:07:48PM +0100, Laurent Michel wrote:
> > So... what do you suggest to fix this? The definition I'm currently
> > proposing is
>
> I propose :
> measurements: A set of derived measurements obtained from a particular
> original dataset or a catalog of sources compiled from various progenitors.
I've put that in in rev. 5741 (but I've not uploaded it to
ivoa.net/rdf yet), but very frankly I'm not thrilled by "a
catalog of sources compiled from various progenitors" because that's
a *very* wide definition. In particular, I'm always getting a bit
queasy when things get as close to tautologies as "derived from <one
or more> progenitors" -- I'd argue that isn't a restriction on
"catalog" at all.
If you follow that objection, then what's left of the definition is
A set of derived measurements obtained from a particular original
dataset or a catalog of sources.
Hm. I suspect that's not quite what people wanted, was it?
Perhaps it's time to take a step back and ask ourselves what the
concept actually is, i.e., what is the set of things this term should
address, perhaps as a list of files that is a "measuremen" and,
equally importantly, a list of files that is not?
Since I'd still like to make this reflect obscore usage: was there a
collection of use cases back when this term was added to the list of
allowed dataproduct_type values?
And talking about obscore usage, I've just run a global obscore query
for
SELECT TOP 1000
access_url
FROM ivoa.obscore
WHERE dataproduct_type='measurement'
[2] and got back zero rows[1].
This would perhaps indicate that the term isn't all that required and
could be left out for now?
-- Markus
[1] Disclaimer: I ^C-ed out of CSIRO ASKAP and IAPS TAP because I
lost patience with them; so, if they have measurement-typed rows, I'd
have missed them.
[2] In case you'd like to experiment with global obscore queries,
here's the pyvo program I've used:
import pyvo
QUERY = """
SELECT TOP 1000
access_url
FROM ivoa.obscore
WHERE dataproduct_type='measurement'
"""
def query_obscore():
results = []
for svc_rec in pyvo.registry.search(datamodel="obscore"):
print("Querying {}".format(svc_rec.res_title))
try:
svc = pyvo.dal.TAPService(svc_rec.access_url)
results.append(
svc.run_sync(QUERY))
except KeyboardInterrupt:
# someone lost their patience with a service. Query next.
pass
except Exception as msg:
# some service is broken; you *should* complain, but
# then let's be lazy here
print(" Broken: {} ({})\n".format(
svc_rec.access_url, msg))
return table.vstack(results)
def main():
tab = query_obscore()
print(tab)
if __name__=="__main__":
main()
More information about the dal
mailing list