<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Hi all,<div class=""><br class=""></div><div class=""><div class=""><br class=""></div><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On 13. Mar 2020, at 10:13, Markus Demleitner &lt;<a href="mailto:msdemlei@ari.uni-heidelberg.de" class="">msdemlei@ari.uni-heidelberg.de</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class="">Hi Registry,<br class=""><br class="">So, I've now added a productType element to the SSA capability. &nbsp;I've<br class="">not yet updated the WD on the doc repo, but you can check out <br class=""><a href="http://docs.g-vo.org/SimpleDALRegExt.pdf" class="">http://docs.g-vo.org/SimpleDALRegExt.pdf</a>, on page 20, or the schema<br class="">at<br class=""><a href="https://volute.g-vo.org/svn/trunk/projects/registry/SimpleDALRegExt/SSA-v1.3.xsd" class="">https://volute.g-vo.org/svn/trunk/projects/registry/SimpleDALRegExt/SSA-v1.3.xsd</a>.<br class=""><br class=""></div></div></blockquote><div><br class=""></div><div><br class=""></div><div>I’ve implemented this in SPLAT, so that when querying registries, SPLAT can classify the services as spectrum or time series services.</div><div><br class=""></div><div>A preliminary version can be found here: &nbsp;<a href="http://soft.g-vo.org/splat-beta/splat-vo-3.15_2beta.jar" class="">http://soft.g-vo.org/splat-beta/splat-vo-3.15_2beta.jar</a></div><div><br class=""></div><div><br class=""></div><div>Margarida</div><div><br class=""></div><div><br class=""></div><div><br class=""></div><br class=""><blockquote type="cite" class=""><div class=""><div class="">The net effect is that you can write one or more productType elements<br class="">in the SSA capability, as in <br class=""><br class=""> &nbsp;&lt;capability standardID="<a href="ivo://ivoa.net/std/SSA" class="">ivo://ivoa.net/std/SSA</a>" <br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;xsi:type="ssap:SimpleSpectralAccess"&gt;<br class=""> &nbsp;&nbsp;&nbsp;&lt;interface role="std" xsi:type="vs:ParamHTTP"&gt;<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;accessURL use="base"<br class=""><blockquote type="cite" class=""><a href="http://dc.zah.uni-heidelberg.de/bgds/l/ssa/ssap.xml?&lt;/accessURL&gt;" class="">http://dc.zah.uni-heidelberg.de/bgds/l/ssa/ssap.xml?&lt;/accessURL&gt;</a><br class=""></blockquote> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;mirrorURL&gt;<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="https://dc.zah.uni-heidelberg.de/bgds/l/ssa/ssap.xml?&lt;/mirrorURL&gt;" class="">https://dc.zah.uni-heidelberg.de/bgds/l/ssa/ssap.xml?&lt;/mirrorURL&gt;</a><br class=""> &nbsp;&nbsp;&nbsp;&lt;/interface&gt;<br class=""> &nbsp;&nbsp;&nbsp;&lt;complianceLevel&gt;query&lt;/complianceLevel&gt;<br class=""><br class=""> &nbsp;&nbsp;&nbsp;&lt;productType&gt;timeseries&lt;/productType&gt; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;--- NEW<br class=""><br class=""> &nbsp;&nbsp;&nbsp;&lt;dataSource&gt;survey&lt;/dataSource&gt;<br class=""> &nbsp;&nbsp;&nbsp;&lt;creationType&gt;archival&lt;/creationType&gt;<br class=""> &nbsp;&nbsp;&nbsp;&lt;supportedFrame&gt;ICRS&lt;/supportedFrame&gt;<br class=""> &nbsp;&nbsp;&nbsp;...<br class=""> &nbsp;&lt;/capability&gt;<br class=""><br class="">(cf.<br class=""><a href="http://dc.g-vo.org/oai.xml?verb=GetRecord&amp;metadataPrefix=ivo_vor&amp;identifier=ivo://org.gavo.dc/bgds/l/ssa" class="">http://dc.g-vo.org/oai.xml?verb=GetRecord&amp;metadataPrefix=ivo_vor&amp;identifier=ivo://org.gavo.dc/bgds/l/ssa</a><br class="">for the full record; you could have multiple productType elements,<br class="">but I've no resource that would need that).<br class=""><br class="">I've already implemented support for this in DaCHS, and I've taught<br class="">the extra feature to the Heidelberg RegTAP service<br class="">(http://dc.g-vo.org/tap). &nbsp;This means that you can search for<br class="">"declared" time series services with something like<br class=""><br class=""> &nbsp;&nbsp;select ivoid from<br class=""> &nbsp;&nbsp;&nbsp;rr.capability<br class=""> &nbsp;&nbsp;&nbsp;natural join (select ivoid from rr.res_detail<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;where <br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;detail_xpath='/capability/productType'<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and detail_value='timeseries') as ts_ssa<br class=""> &nbsp;&nbsp;&nbsp;where<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;standard_id='ivo://ivoa.net/std/ssa'<br class=""><br class="">or, if you're doing a typical "get me all SSA services"-type query,<br class="">enrich your records with product_types information somewhat like this:<br class=""><br class=""> &nbsp;select access_url, product_types, reference_url from<br class=""> &nbsp;rr.capability<br class=""> &nbsp;natural join rr.resource<br class=""> &nbsp;natural join rr.interface<br class=""> &nbsp;natural left outer join (select <br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ivoid, <br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ivo_string_agg(detail_value, '#') as product_types<br class=""> &nbsp;&nbsp;&nbsp;from rr.res_detail<br class=""> &nbsp;&nbsp;&nbsp;where <br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;detail_xpath='/capability/productType'<br class=""> &nbsp;&nbsp;&nbsp;group by ivoid) as pt<br class=""> &nbsp;where<br class=""> &nbsp;&nbsp;&nbsp;standard_id='ivo://ivoa.net/std/ssa'<br class=""><br class="">(where you'd do product_types="spectrum" where you get NULL or empty<br class="">strings).<br class=""><br class="">I give you I've seen prettier queries, but I guess one can get used<br class="">to it, and it's really just a homeopathic change to standards<br class="">solving the time series discovery thing, so I'd say let's do it.<br class=""><br class="">If you have an SSA service serving time series, would you just try<br class="">it? &nbsp;You'll stay validatable if you point the schema location for <br class="">http://www.ivoa.net/xml/SSA/v1.1 to<br class="">http://vo.ari.uni-heidelberg.de/docs/schemata/SSA-v1.3.xsd.<br class=""><br class=""><br class="">The one thing I don't particularly like about this proposal: By<br class="">caproles (http://ivoa.net/documents/caproles/ -- and no, I can't post<br class="">to Registry these days without linking to caproles), this is the<br class="">wrong level of modelling. &nbsp;A resource with an SSA capability serving<br class="">time series, really, should serve time series through a TAP or<br class="">Browser capability as well. &nbsp;And hence, productType really should sit<br class="">on the resource rather than than capability level.<br class=""><br class="">So, the real question in my mind is: should we put productType into<br class="">VODataService right away, so it can also be used by obscore, SIAv2,<br class="">whatever services? &nbsp;From a resource record author perspective, the<br class="">change would be that productType moves one XML level up. &nbsp;In the<br class="">RegTAP query, you'd be using '/productType' rather than<br class="">'/capability/productType' -- no big deal on either side.<br class=""><br class="">But: if it's in VODataService, we'd have to comment on what to do<br class="">when it's not there. &nbsp;On SSA capabilities, that's simple: it's a<br class="">spectrum service. &nbsp;On generic resources, its... complicated.<br class=""><br class="">And that last thing -- clearly saying what a missing productType<br class="">means -- is what made me ignore the wisdom of caproles for a<br class="">pragmatic, perhaps-good-enough solution. &nbsp;If you say we'll likely<br class="">regret that gung-ho approach, I'm perfectly willing to move<br class="">productType into VODataService (which hopefully will move into RFC<br class="">rather soon, too).<br class=""><br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-- Markus<br class=""></div></div></blockquote></div><br class=""><div class="">
<div dir="auto" style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div>—</div><div><br class=""></div><div>Margarida Castro Neves<br class=""><br class="">German Astrophysical Virtual&nbsp;Observatory (GAVO)<br class="">Astronomisches Rechen-Institut (ARI)<br class="">Zentrum für Astronomie, Universität&nbsp;Heidelberg &nbsp;(ZAH)<br class="">Mönchhofstr. 12 - 14, 69120 Heidelberg<br class="">phone +49-6221-54-1891 &nbsp; fax +49-6221-54-1888<br class=""><a href="mailto:mcneves@ari.uni-heidelberg.de" class="">mcneves@ari.uni-heidelberg.de</a><br class="">http://www.ari.uni-heidelberg.de</div><div><br class=""></div><div><br class=""></div><div class=""><br class=""></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""></div></div></body></html>