SimpleDALRegExt 1.2 WD
Markus Demleitner
msdemlei at ari.uni-heidelberg.de
Fri Mar 13 10:13:35 CET 2020
Hi Registry,
On Mon, Feb 24, 2020 at 01:43:17PM +0100, Margarida Castro Neves wrote:
> > On 19. Feb 2020, at 14:44, Markus Demleitner <msdemlei at ari.uni-heidelberg.de> wrote:
> > On Tue, Feb 18, 2020 at 02:49:01PM +0100, ada nebot wrote:
> >> I was wondering, would this also be the place for describing
> >> services providing timeseries ?
> >
> > Where these services are SSAP services, definitely yes. Obscore is a
> > different matter (I'd say one for VODataService).
[...]
> >> What would we need to add / change for that?
> >
> > Well, essentially some piece of metadata that lets a client like
> > SPLAT work out that the service won't give it spectra but time
> > series. That way, it could have a selector like
> >
> > () Observational Spectra
> > () Theoretical Spectra
> > () Time Series
> >
> > in the SSA search dialogue (that currently only has the first two).
So, I've now added a productType element to the SSA capability. I've
not yet updated the WD on the doc repo, but you can check out
http://docs.g-vo.org/SimpleDALRegExt.pdf, on page 20, or the schema
at
https://volute.g-vo.org/svn/trunk/projects/registry/SimpleDALRegExt/SSA-v1.3.xsd.
The net effect is that you can write one or more productType elements
in the SSA capability, as in
<capability standardID="ivo://ivoa.net/std/SSA"
xsi:type="ssap:SimpleSpectralAccess">
<interface role="std" xsi:type="vs:ParamHTTP">
<accessURL use="base"
>http://dc.zah.uni-heidelberg.de/bgds/l/ssa/ssap.xml?</accessURL>
<mirrorURL>
https://dc.zah.uni-heidelberg.de/bgds/l/ssa/ssap.xml?</mirrorURL>
</interface>
<complianceLevel>query</complianceLevel>
<productType>timeseries</productType> <--- NEW
<dataSource>survey</dataSource>
<creationType>archival</creationType>
<supportedFrame>ICRS</supportedFrame>
...
</capability>
(cf.
http://dc.g-vo.org/oai.xml?verb=GetRecord&metadataPrefix=ivo_vor&identifier=ivo://org.gavo.dc/bgds/l/ssa
for the full record; you could have multiple productType elements,
but I've no resource that would need that).
I've already implemented support for this in DaCHS, and I've taught
the extra feature to the Heidelberg RegTAP service
(http://dc.g-vo.org/tap). This means that you can search for
"declared" time series services with something like
select ivoid from
rr.capability
natural join (select ivoid from rr.res_detail
where
detail_xpath='/capability/productType'
and detail_value='timeseries') as ts_ssa
where
standard_id='ivo://ivoa.net/std/ssa'
or, if you're doing a typical "get me all SSA services"-type query,
enrich your records with product_types information somewhat like this:
select access_url, product_types, reference_url from
rr.capability
natural join rr.resource
natural join rr.interface
natural left outer join (select
ivoid,
ivo_string_agg(detail_value, '#') as product_types
from rr.res_detail
where
detail_xpath='/capability/productType'
group by ivoid) as pt
where
standard_id='ivo://ivoa.net/std/ssa'
(where you'd do product_types="spectrum" where you get NULL or empty
strings).
I give you I've seen prettier queries, but I guess one can get used
to it, and it's really just a homeopathic change to standards
solving the time series discovery thing, so I'd say let's do it.
If you have an SSA service serving time series, would you just try
it? You'll stay validatable if you point the schema location for
http://www.ivoa.net/xml/SSA/v1.1 to
http://vo.ari.uni-heidelberg.de/docs/schemata/SSA-v1.3.xsd.
The one thing I don't particularly like about this proposal: By
caproles (http://ivoa.net/documents/caproles/ -- and no, I can't post
to Registry these days without linking to caproles), this is the
wrong level of modelling. A resource with an SSA capability serving
time series, really, should serve time series through a TAP or
Browser capability as well. And hence, productType really should sit
on the resource rather than than capability level.
So, the real question in my mind is: should we put productType into
VODataService right away, so it can also be used by obscore, SIAv2,
whatever services? From a resource record author perspective, the
change would be that productType moves one XML level up. In the
RegTAP query, you'd be using '/productType' rather than
'/capability/productType' -- no big deal on either side.
But: if it's in VODataService, we'd have to comment on what to do
when it's not there. On SSA capabilities, that's simple: it's a
spectrum service. On generic resources, its... complicated.
And that last thing -- clearly saying what a missing productType
means -- is what made me ignore the wisdom of caproles for a
pragmatic, perhaps-good-enough solution. If you say we'll likely
regret that gung-ho approach, I'm perfectly willing to move
productType into VODataService (which hopefully will move into RFC
rather soon, too).
-- Markus
More information about the registry
mailing list