4141
4242
4343
44+
4445% definition of table names
4546% \def\radioexttable {ivoa.obscore-radio-ext} % explicit
4647\def\radioexttable {ivoa.obsradio} % not explicitely related to Obscore
4748\def\radioexttable {ivoa.obscore-radio}
4849% definition of standard id for utypes content
49- % \def\obsradioSTDID {ivo://ivoa.net/std/obscore-radio-ext#table-1.0}
50+ % \def\obsradioSTDID {ivo://ivoa.net/std/obscore-radio-ext#table-1.0}
5051
5152\begin {document }
5253
@@ -438,10 +439,12 @@ \subsection{observational configuration and instrumental parameters}
438439\subsection {Auxiliary datasets useful for data quality estimation }
439440
440441Auxiliary datasets such as \emph {uv } distribution map, dirty beam maps, frequency/amplitude plots, phase/amplitude plots are useful for astronomers to check data quality.
442+
441443In that case DataLink \citep {2023ivoa.spec.1215B } may provide a solution to attach these auxiliary data to ObsCore records. The \texttt {semantics } FIELD in the \{ link\}
442444response will contain \# auxiliary for links to these maps or plots while the \texttt {content\_ qualifier } FIELD introduced from 1.1 could contain a term from a defined vocabulary (to be defined) following the IVOA vocabulary definition \citep {2021ivoa.spec.0525D }.
443445
444446
447+
445448\section {The ivoa.obscore\_ radio table }
446449\label {sec:implementation }
447450The ObsCore Extension for Radio is accessed as a table within a TAP
@@ -659,34 +662,43 @@ \section{Registry Aspects}
659662
660663Services compliant with this specification are registered using
661664VODataService \citep {2021ivoa.spec.1102D } tablesets.
665+ Compliant tables use the utype
666+ $$
667+ \hbox {\nolinkurl {ivo://ivoa.net/std/ObsCore#radioExt-1.0}.}
668+ $$
669+ %
662670% The view table providing the
663671% join between the basic ObsCore table and the obscore\_radio table
664672% use the utype
665673% $$
666674% \hbox{\nolinkurl{ivo://ivoa.net/std/obscore#radioext-1.0}.}
667675% $$
668676% and this is a signature of the compliance of the service with the current specification.
669- Due to the status of the current specification as an endorsed note, and in prevision of a major
670- upgrade of the ObsCore specification itself which will address the definition of standardID for the
671- different extensions and recommand how to expose them in the compliant services, we don't define
672- any standardID for the extension yet. The discovery of the services and schema containing the
673- radio extension table MUST be done using the table\_ name only as stated below.
677+ % Due to the status of the current specification as an endorsed note, and in prevision of a major
678+ % upgrade of the ObsCore specification itself which will address the definition of standardID for the
679+ % different extensions and recommand how to expose them in the compliant services, we don't define
680+ % any standardID for the extension yet. The discovery of the services and schema containing the
681+ % radio extension table MUST be done using the table\_name only as stated below.
682+ While it is admitted that the table only sits in the tableset of the
683+ embedding TAP service, implementors are urged to use a seperate registry
684+ record with the main TAP service as an auxiliary capability
685+ \citep {2019ivoa.spec.0520D }. In this way, meaningful information
686+ on coverage in space, time, and spectral axes as per VODataService 1.2 can
687+ be communicated to the Registry, which, again, data providers are urged
688+ to do.
689+ % There is no expectation that the coverage information only
690+ % pertains to data with entries in \verb|ivoa.obscore_radio|, i.e., it may be
691+ % a copy of the coverage of the basic ObsCore table.\footnote{Is that
692+ % acceptable? Or should we require pure radio coverage?}
693+
674694
675695However, discovering the obscore\_ radio table alone would be irrelevant because querying this
676- extension table per se doesn't make sense. The same schema MUST also contain the ObsCore table.
677- Being sure our \textit {ivoa } schema contains these both tables,
696+ extension table per se doesn't make sense. The same service delivering the \verb |obscore_radio | table
697+ MUST also contain the ObsCore table.
698+ Being sure our service contains these both tables,
678699the user is able to build any natural JOIN query between these two tables.
679700
680- % While it is admitted that the table only sits in the tableset of the
681- % embedding TAP service, implementors are urged to use a seperate registry
682- % record with the main TAP service as an auxiliary capability
683- % \citep{2019ivoa.spec.0520D}. In this way, meaningful information
684- % on coverage in space, time, and spectral axes as per VODataService 1.2 can
685- % be communicated to the Registry, which, again, data providers are urged
686- % to do. There is no expectation that the coverage information only
687- % pertains to data with entries in \verb|ivoa.obscore_radio|, i.e., it may be
688- % a copy of the coverage of the basic ObsCore table.\footnote{Is that
689- % acceptable? Or should we require pure radio coverage?}
701+
690702
691703% A sample registry record for an obscore\_radio table comes with this
692704% specification\footnote{\auxiliaryurl{sample-record.xml}}.
@@ -701,31 +713,75 @@ \section{Registry Aspects}
701713query like:
702714
703715\ begin{lstlisting}
704- SELECT DISTINCT(access_url), schema_name, table_name
716+ SELECT DISTINCT(access_url), table_name
717+ FROM rr.res_table
718+ NATURAL JOIN rr.capability
719+ NATURAL JOIN rr.interface
720+ WHERE
721+ standard_id LIKE 'ivo://ivoa.net/std/tap%'
722+ AND intf_role='std'
723+ AND table_utype LIKE 'ivo://ivoa.net/std/ObsCore#radioExt-1.%'
724+ AND EXISTS (select 1 from rr.res_table where
725+ table_name LIKE '%obscore')
726+ \end {lstlisting }
727+
728+ In the current status of the ObsCore specification the last statement in the WHERE clause
729+ is the simplest one to ensure the service also delivers the main obscore table.
730+ In the future this statement could be replaced by
731+ \ begin{lstlisting}
732+ AND EXISTS (select 1 from rr.res_table where
733+ table_utype LIKE 'ivo://ivoa.net/std/obscore#core-1.%')
734+ \end {lstlisting }
735+
736+ When we will have other extensions (for example for time) we may want to
737+ discover services which deliver several extensions in addition to obscore
738+ main table.
739+
740+ This could be done by queries such as
741+
742+ \ begin{lstlisting}
743+ SELECT DISTINCT(access_url), table_name
744+ FROM rr.res_table
745+ NATURAL JOIN rr.capability
746+ NATURAL JOIN rr.interface
747+ WHERE
748+ standard_id LIKE 'ivo://ivoa.net/std/tap%'
749+ AND intf_role='std'
750+ AND table_utype LIKE 'ivo://ivoa.net/std/ObsCore#radioExt-1.%'
751+ AND EXISTS (select 1 from rr.res_table where
752+ table_utype LIKE 'ivo://ivoa.net/std/ObsCore#timeExt-1.0'
753+ AND EXISTS (select 1 from rr.res_table where
754+ table_name LIKE '%obscore')
755+ \end {lstlisting }
756+
757+ assuming that the standardID for the time extension currently in progress will be
758+ $$
759+ \hbox {\nolinkurl {ivo://ivoa.net/std/ObsCore#timeExt-1.0}}
760+ $$
761+
762+ In addition the schema containing the ObsCore main table and potentially some of the extensions
763+ SHOULD use the root ObsCore standardID utype :
764+ $$
765+ \hbox {\nolinkurl {ivo://ivoa.net/std/ObsCore}}
766+ $$
767+
768+
769+ in such a way that the query
770+
771+ \ begin{lstlisting}
772+ SELECT DISTINCT(access_url), table_name, schema_name
705773FROM rr.res_table
706774NATURAL JOIN rr.capability
707775NATURAL JOIN rr.interface
708776NATURAL JOIN rr.res_schema
709777WHERE
710778standard_id LIKE 'ivo://ivoa.net/std/tap%'
711779AND intf_role='std'
712- AND table_name LIKE '%obs_radio'
713- AND schema_name LIKE '%ivoa%'
780+ AND schema_utype LIKE 'ivo://ivoa.net/std/ObsCore'
714781\end {lstlisting }
715782
716- % Alternatively the schema and tables can be discovered this way
783+ would allow to discover all services delivering ObsCore and which extension tables they deliver.
717784
718- % \begin{lstlisting}
719- % SELECT DISTINCT(access_url), table_name, schema_name
720- % FROM rr.res_table
721- % NATURAL JOIN rr.capability
722- % NATURAL JOIN rr.interface
723- % NATURAL JOIN rr.res_schema
724- % WHERE
725- % standard_id LIKE 'ivo://ivoa.net/std/tap%'
726- % AND intf_role='std'
727- % AND schema_utype LIKE 'ivo://ivoa.net/std/ObsCore#obscore-radioExt-%'
728- % \end{lstlisting}
729785
730786\appendix
731787
0 commit comments