Skip to content

Commit 145d411

Browse files
committed
update sect. 4 & 5+ typo correction, harmonize table names
1 parent 63ce6a8 commit 145d411

2 files changed

Lines changed: 46 additions & 98 deletions

File tree

Appendix.tex

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ \subsection{Use case - s\_resolution\_min}
2424

2525
\begin{verbatim}
2626
SELECT * FROM ivoa.obscore
27-
NATURAL JOIN ivoa.obscore-radio
27+
NATURAL JOIN ivoa.obscore_radio
2828
WHERE
2929
s_resolution_min > 0.017
3030
AND (target_name = 'Virgo A' OR
@@ -42,7 +42,7 @@ \subsection{Use case - s\_resolution\_max}
4242

4343
\begin{verbatim}
4444
SELECT * FROM ivoa.obscore
45-
NATURAL JOIN ivoa.obscore-radio
45+
NATURAL JOIN ivoa.obscore_radio
4646
WHERE s_resolution_max < 0.017
4747
AND
4848
(target_name = 'IC443' OR
@@ -59,7 +59,7 @@ \subsection{Use case - s\_fov\_min - large field of views}
5959
II Target name = Abell 194 or position inside 15 arcmin from 21.5054167, -1.3672221 \\
6060
\begin{verbatim}
6161
SELECT * FROM ivoa.obscore
62-
NATURAL JOIN ivoa.obscore-radio
62+
NATURAL JOIN ivoa.obscore_radio
6363
WHERE s_fov_min > 0.8 AND
6464
(target_name = 'Abell 194' OR
6565
CONTAINS(POINT(s_ra,s_dec),CIRCLE(21.5054167,-1.3672221,0.25)) = 1))
@@ -74,7 +74,7 @@ \subsection{Use case - s\_fov\_min - extended target completly included}
7474
II. The circle defined by the minimum FOV of the dataset fully contains the circle delimiting Pictor A. \\
7575
\begin{verbatim}
7676
SELECT * FROM ivoa.obscore
77-
NATURAL JOIN ivoa.obscore-radio
77+
NATURAL JOIN ivoa.obscore_radio
7878
WHERE target_name = 'Pictor A' AND
7979
CONTAINS(CIRCLE(79.9571789, -45.7788479,(8/60)/2),
8080
CIRCLE(s_ra, s_dec, s_fov_min/2)) = 1)
@@ -92,7 +92,7 @@ \subsection{Use case - dataproduct\_type}
9292

9393
\begin{verbatim}
9494
SELECT * FROM ivoa.obscore
95-
NATURAL JOIN ivoa.obscore-radio
95+
NATURAL JOIN ivoa.obscore_radio
9696
WHERE obs_collection EQ 'INAF-Medicina, single dish'
9797
AND (em_min >=20000 AND em_max <= 21000)
9898
AND (dataproduct_type EQ 'spatial profile' OR scan_mode LIKE "*map*")
@@ -112,7 +112,7 @@ \subsection{Use case - f\_resolution, frequency ranges}
112112
\begin{verbatim}
113113
SELECT *, 299792458 / em_max as f_min, 299792458 / em_min as f_max
114114
FROM ivoa.obscore
115-
NATURAL JOIN ivoa.obscore-radio
115+
NATURAL JOIN ivoa.obscore_radio
116116
WHERE dataproduct_type = 'cube' AND
117117
f_resolution < 1000000 AND
118118
299792458 / em_max > 1.0 e+9 AND
@@ -145,7 +145,7 @@ \subsection{Use case - high resolution data around FRB targets }
145145
\textit{Give me high-resolution data on possible persistent radio sources within an arc second of FRB 121102:}
146146

147147
\begin{verbatim}
148-
SELECT * FROM ivoa.obscore NATURAL JOIN ivoa.obscore-radio
148+
SELECT * FROM ivoa.obscore NATURAL JOIN ivoa.obscore_radio
149149
WHERE CONTAINS(POINT(s_ra,s_dec),CIRCLE(82.99458,33.14794,0.0003)) = 1
150150
AND s_resolution_max < 0.001
151151
\end{verbatim}
@@ -157,7 +157,7 @@ \subsection{Use case - reasonable fidelity}
157157

158158
\begin{verbatim}
159159
SELECT * FROM ivoa.obscore
160-
NATURAL JOIN ivoa.obscore-radio
160+
NATURAL JOIN ivoa.obscore_radio
161161
WHERE CONTAINS(POINT(s_ra,s_dec),CIRCLE(24.4212500,33.1588889,0.003)) = 1
162162
AND s_largest_angular_scale > 0.018
163163
AND uv_distribution_fill > 0.2
@@ -180,8 +180,6 @@ \subsection{ use case - visibility data product and target object selection }
180180
AND target_name = 'Fornax cluster'
181181
\end{verbatim}
182182

183-
184-
185183
\subsection{Use case - maximum angular scale selection}
186184
\textit{Any visibility dataset Within an arcec around FRB 121102 where maximum angular scale is larger than 1 minute .}\\ \\
187185
Show me all datasets satisfying:\\
@@ -190,7 +188,7 @@ \subsection{Use case - maximum angular scale selection}
190188
III. Position within 1 arcsec of 82.99458 + 33.14794
191189
\begin{verbatim}
192190
SELECT * FROM ivoa.obscore
193-
NATURAL JOIN ivoa.obscore-radio
191+
NATURAL JOIN ivoa.obscore_radio
194192
WHERE dataproduct_type = 'visibility'
195193
AND s_largest_angular_scale_max > 0.018
196194
AND CONTAINS(POINT(s_ra,s_dec),CIRCLE(82.99458, 33.14794,0.0003)) = 1))
@@ -207,7 +205,7 @@ \subsection{Use case - maximum angular scale selection with reasonable fidelity}
207205
V. Position within 1 arcsec of 82.99458 + 33.14794
208206
\begin{verbatim}
209207
SELECT * FROM ivoa.obscore
210-
NATURAL JOIN ivoa.obscore-radio
208+
NATURAL JOIN ivoa.obscore_radio
211209
WHERE dataproduct_type = 'visibilty'
212210
AND s_largest_angular_scale_max > 0.018
213211
AND uv_distribution_fill > 0.7
@@ -225,7 +223,7 @@ \subsection{Use case - time selection }
225223

226224
\begin{verbatim}
227225
SELECT * FROM ivoa.obscore
228-
NATURAL JOIN ivoa.obscore-radio
226+
NATURAL JOIN ivoa.obscore_radio
229227
WHERE instr_type = 'beamForming'
230228
AND dataproduct_type = 'timeseries'
231229
AND t_resolution < 0.1 AND
@@ -242,7 +240,7 @@ \subsection{Use case - instrument type and mode selection }
242240
IV. position inside 3 arcmin around 187.2779159404900 +02.0523882305500
243241
\begin{verbatim}
244242
SELECT * FROM ivoa.obscore
245-
NATURAL JOIN ivoa.obscore-radio
243+
NATURAL JOIN ivoa.obscore_radio
246244
WHERE instr_type = 'SD'
247245
AND scan_mode = 'raster'
248246
AND (target_name = '3C 273' OR
@@ -261,7 +259,7 @@ \subsection{Use case - instrument type and frequency selection }
261259

262260
\begin{verbatim}
263261
SELECT * FROM ivoa.obscore
264-
NATURAL JOIN ivoa.obscore-radio
262+
NATURAL JOIN ivoa.obscore_radio
265263
WHERE (instr_type = 'SD' OR
266264
instr_type = 'beamForming')
267265
AND 299792458 / em_max > 500
@@ -279,7 +277,7 @@ \subsection{Use case - instrument parameters selection }
279277
III. antenna maximum distance in meters > 5000 \\
280278

281279
\begin{verbatim}
282-
SELECT * FROM ivoa.obscore-radio
280+
SELECT * FROM ivoa.obscore_radio
283281
WHERE instr_type = 'interferometry'
284282
AND instr_tel_number > 40
285283
AND instr_tel_max_dist > 5000

ObsCoreExtensionForRadioData.tex

Lines changed: 32 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -353,20 +353,17 @@ \subsection{Frequency characterization}
353353
\begin{itemize}
354354
\item compute two free parameters \emph{f\_min} and \emph{f\_max} this way \emph{f\_min} = c / \emph{em\_max} and \emph{f\_max} = c / \emph{em\_min} with c = 299 792 458 m/s
355355
\item express queries and results in terms of frequencies by using the same formulae in the ADQL queries (see \ref{sec:FreqRanges})
356-
357-
\item let the interface do these conversions
356+
\item let the interface do these conversions
357+
\item use User Defined Functions on TAP services, like \emph{ivo\_interval\_overlaps, ivo\_specconv}
358358
\end{itemize}
359359

360360
%\textit{To avoid inconsistency between the core attributes \emph{em\_min, em\_max} and \emph{em\_respower} and these additional quantities we suggest to compute these new quantities when building a view on top of the basic ObsCore table. The frequency attributes MUST be expressed in Hz to allow interoperability.}
361361

362362
\subsection{Spatial frequency coverage for visibilities }
363363
These parameters are valid for interferometry only.
364364

365-
%uv\_distance\_min and uv\_distance\_max are straigthforward.
366365
The absolute \emph{uv}\_distance\_min and \emph{uv}\_distance\_max in the \emph{uv} plane give some outlier minimum and maximum scale in some direction.
367-
%are evaluated by fitting an ellipse on the visibilities present in the uv plane.
368366

369-
% Mireille but still for the spec it is good to redefine them here
370367
To compute the ellipse's eccentricity of the \emph{uv} distribution a principal component analysis
371368
(PCA) with 2 components is performed over the data points sampling the \emph{uv} plane to select the
372369
main axis of data scattering.
@@ -426,7 +423,7 @@ \subsection{Observational configuration and instrumental parameters}
426423

427424
The scanning strategy adopted in an observation is described by the parameter \emph{scan\_mode}. This parameter covers both spatial
428425
and frequency scanning modes (see Sect.~\ref{subsec:sd} for details and table~\ref{tab:scanmode} for possible values).
429-
It is applicable to SD as well as interferometry cases.
426+
It is applicable to SD as well as to interferometry cases.
430427

431428

432429
\begin{longtable}{ | p{5cm}| p{7cm}| }
@@ -450,11 +447,10 @@ \subsection{Observational configuration and instrumental parameters}
450447

451448
% \texttt{target}&\texttt{extrasolar target follow up}\cr
452449
\sptablerule
453-
\caption{Values and definitions of the scan-mode attribute.}
450+
\caption{Values and definitions of the scan\_mode attribute.}
454451
\label{tab:scanmode}
455452
\end{longtable}
456453

457-
458454
Pointing mode distinguishes observations pointed on a fixed target from
459455
observations fixed on a given elevation and azimuth.
460456
%In addition the wobble mode observes both the source and the surrounding background.
@@ -470,20 +466,20 @@ \subsection{Observational configuration and instrumental parameters}
470466
% \item Wobble : observations measuring both the source and the surroundings
471467
\end{itemize}
472468

473-
\subsection{Auxiliary datasets useful for data quality estimation}
469+
\subsection{Auxiliary datasets for data quality estimation}
474470

475471
Auxiliary datasets such as \emph{uv} distribution map, dirty beam maps, frequency/amplitude plots, phase/amplitude plots are useful for astronomers to check data quality.
476472

477-
In 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\}
478-
response 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}.
473+
In that case, DataLink \citep{2023ivoa.spec.1215B} may provide a solution to attach these auxiliary data files to ObsCore records. The link , described in the specification as \{link\}
474+
response will contain \#auxiliary in the \texttt{semantics} FIELD to bind maps or plots and a term identifying the nature of the data file in the \texttt{content\_qualifier} FIELD. Such a term would belong to a defined vocabulary following the IVOA vocabulary definition \citep{2021ivoa.spec.0525D} . See the example below.
475+
% insert data link example table here
479476

480477
\section{The ivoa.obscore\_radio table}
481478
\label{sec:implementation}
482479
The ObsCore Extension for Radio is accessed as a table within a TAP
483-
\citep{2019ivoa.spec.0927D} service.\footnote{I think we should require a
484-
few UDFs on TAP services: ivo\_interval\_overlaps, ivo\_specconv} At this
480+
\citep{2019ivoa.spec.0927D} service. At this
485481
point, the name of this table is fixed to \verb|ivoa.obscore_radio|.
486-
Within the ivoa, it is forbidden to use this name for anything else than a table compliant
482+
Within the IVOA, it is forbidden to use this name for anything else than a table compliant
487483
with this specification.
488484

489485
%However, in order to allow for later evolution -- which may allow
@@ -492,63 +488,28 @@ \section{The ivoa.obscore\_radio table}
492488

493489
A TAP service that has \verb|ivoa.obscore_radio| must also have a table
494490
compliant to any version 1 of ObsCore, i.e., a table
495-
\verb|ivoa.obscore| containing only the basic ObsCore attributes.
496-
the two tables must share exactly the obs\_publisher\_did
497-
column such
491+
\verb|ivoa.obscore| containing only the basic ObsCore attributes. The two tables must share exactly the \emph{obs\_publisher\_did} column such
498492
that a \verb|NATURAL JOIN| will yield per-dataset rows of obscore and
499493
radio extension metadata.
500-
%Which columns these are is site-specific.
501494

502495
To ensure that all compliant services can execute the same queries,
503-
all columns in tables~\ref{tab:ExtensionAtt} and \ref{tab:ExtensionAtt_instrumental} must be present in such a
504-
table, although any may be NULL. At least a foreign key into \verb|ivoa.obscore| will typically
505-
make the extension table user-visible. Additional free columns (such as \emph{f\_min}, \emph{f\_max} ) may also
506-
be added.\footnote{can we make rules such that such additional columns
507-
will not interfere with later extensions?}.
496+
all columns described in following tables ~\ref{tab:ExtensionAtt} , ~\ref{tab:ExtensionAtt_interferometry} and \ref{tab:ExtensionAtt_instrumental} must be gathered in the \verb|ivoa.obscore_radio|
497+
table, although some of them may be NULL if no value apply . At least a foreign key into \verb|ivoa.obscore| will typically
498+
make the extension table user-visible.
499+
%Additional free columns (such as \emph{f\_min}, \emph{f\_max} ) may also be added.
500+
%\footnote{can we make rules such that such additional columns will not interfere with later extensions?}.
508501

509502
The intention is that clients will write queries like
510503
\begin{lstlisting}
511504
SELECT [any obscore and obscore_radio columns or expressions]
512-
FROM
513-
ivoa.obscore
514-
NATURAL JOIN ivoa.obscore_radio
515-
WHERE
516-
[constraints]
505+
FROM ivoa.obscore
506+
NATURAL JOIN ivoa.obscore_radio
507+
WHERE [constraints]
517508
\end{lstlisting}
518509

519510
%In addition a view performing this JOIN is included in the ivoa schema in
520511
%order to make it directly available for service users .
521512

522-
% commented below: FB version
523-
%The ObsCore Extension for Radio data is accessed in a table containing also ObsCore fields within a TAP
524-
%\citep{2019ivoa.spec.0927D} service.\todo{I think we should require a
525-
%few UDFs on TAP services: ivo\_interval\_overlaps, ivo\_specconv} At this
526-
%point, the name of this table is fixed to \verb|ivoa.obscore_radio|.
527-
%However, in order to allow for later evolution -- which may allow
528-
%multiple compliant tables per service --, this name should not be used
529-
%for discovery (see sect.~\ref{sec:registry}).
530-
%
531-
%A TAP service that has \verb|ivoa.obscore_radio| must also have a table
532-
%compliant to any version 1 of ObsCore, i.e., a table
533-
%\verb|ivoa.obscore|; containing only the basic ObsCore attributes.
534-
%This table can be implemented as a simple view on the \verb|ivoa.obscore_radio|
535-
%table
536-
%
537-
%To ensure that all compliant services can execute the same queries,
538-
%all columns in table~\ref{tab:ExtensionAtt} must be present in such a
539-
%table, although any may be NULL. Additional columns may be present\todo{can we make rules such that such additional columns
540-
%
541-
%will not interfere with later extensions?}.
542-
%
543-
%The intention is that clients will write queries like
544-
%\begin{lstlisting}
545-
%SELECT [any obscore and obs_radio columns or expressions]
546-
%FROM
547-
%ivoa.obscore_radio
548-
%
549-
%WHERE
550-
%[constraints]
551-
%\end{lstlisting}
552513
% commented : Markus initial PR
553514
%without having to know the exact foreign key(s) in use on any given
554515
%service. This means that while one service can opt to join on
@@ -584,7 +545,7 @@ \section{The ivoa.obscore\_radio table}
584545
\sptablerule
585546
\texttt{f\_resolution}&\texttt{absolute spectral resolution in frequency}&\texttt{Char.SpectralAxis.\newline Coverage.Bounds\newline Limits.HiLim}&{em.freq;stat.max}&Khz\cr
586547
\sptablerule
587-
\caption{ObsCore extension proposal for radio data in general.}
548+
\caption{ObsCore extension columns proposal for radio data in general.}
588549
\label{tab:ExtensionAtt}
589550
\end{longtable}
590551
\end{landscape}
@@ -626,7 +587,7 @@ \section{The ivoa.obscore\_radio table}
626587
%\sptablerule
627588
%\texttt{frequency\_amplitude}&\texttt{dirty beam}&\texttt{via DataLink}&{via DataLink}&&interferometry\cr
628589
%\sptablerule
629-
\caption{ObsCore extension proposal for radio interferometry.}
590+
\caption{ObsCore extension columns proposal for radio interferometry.}
630591
\label{tab:ExtensionAtt_interferometry}
631592
\end{longtable}
632593
\end{landscape}
@@ -653,7 +614,7 @@ \section{The ivoa.obscore\_radio table}
653614
\texttt{tracking\_type}&\texttt{target tracking modes}&\texttt{Provenance.\newline Observation.\newline tracking\_mode}&instr.param& \cr
654615
\sptablerule
655616

656-
\caption{ObsCore radio extension proposal for instrumental parameters.}
617+
\caption{ObsCore radio extension columns for instrumental parameters.}
657618
\label{tab:ExtensionAtt_instrumental}
658619
\end{longtable}
659620
\end{landscape}
@@ -704,9 +665,7 @@ \section{Registry Aspects}
704665
Services compliant with this specification are registered using
705666
VODataService \citep{2021ivoa.spec.1102D} tablesets.
706667
Compliant tables use the utype
707-
$$
708-
\hbox{\nolinkurl{ivo://ivoa.net/std/ObsCore#radioExt-1.0}.}
709-
$$
668+
$$ \hbox{\nolinkurl{ivo://ivoa.net/std/ObsCore#radioExt-1.0}.} $$
710669
%
711670
%The view table providing the
712671
%join between the basic ObsCore table and the obscore\_radio table
@@ -725,22 +684,17 @@ \section{Registry Aspects}
725684
record with the main TAP service as an auxiliary capability
726685
\citep{2019ivoa.spec.0520D}. In this way, meaningful information
727686
on coverage in space, time, and spectral axes as per VODataService 1.2 can
728-
be communicated to the Registry, which, again, data providers are urged
687+
be communicated to the Registry, which data providers are urged
729688
to do.
730689
%There is no expectation that the coverage information only
731690
%pertains to data with entries in \verb|ivoa.obscore_radio|, i.e., it may be
732691
%a copy of the coverage of the basic ObsCore table.\footnote{Is that
733692
%acceptable? Or should we require pure radio coverage?}
734693

735-
736-
However, discovering the obscore\_radio table alone would be irrelevant because querying this
737-
extension table per se doesn't make sense. The same service delivering the \verb|obscore_radio| table
738-
MUST also contain the ObsCore table.
694+
However, discovering the \verb|obscore_radio| table alone would be irrelevant. The same service delivering the \verb|obscore_radio| table MUST also contain the ObsCore table.
739695
Being sure our service contains these both tables,
740696
the user is able to build any natural JOIN query between these two tables.
741697

742-
743-
744698
%A sample registry record for an obscore\_radio table comes with this
745699
%specification\footnote{\auxiliaryurl{sample-record.xml}}.
746700

@@ -763,7 +717,7 @@ \section{Registry Aspects}
763717
AND intf_role='std'
764718
AND table_utype LIKE 'ivo://ivoa.net/std/ObsCore#radioExt-1.%'
765719
AND EXISTS (select 1 from rr.res_table where
766-
table_name LIKE '%obscore')
720+
table_name LIKE '%obscore')
767721
\end{lstlisting}
768722

769723
In the current status of the ObsCore specification the last statement in the WHERE clause
@@ -774,11 +728,11 @@ \section{Registry Aspects}
774728
table_utype LIKE 'ivo://ivoa.net/std/obscore#core-1.%')
775729
\end{lstlisting}
776730

777-
When we will have other extensions (for example for time) we may want to
778-
discover services which deliver several extensions in addition to obscore
731+
When we will have other extensions (for example for time series or high energy data) we may want to
732+
discover services which supporting several extensions in addition to the obscore
779733
main table.
780734

781-
This could be done by queries such as
735+
Querying ObsTAP services with multiple extensions could be done by querying the relational registry such as:
782736

783737
\begin{lstlisting}
784738
SELECT DISTINCT(access_url), table_name
@@ -800,14 +754,12 @@ \section{Registry Aspects}
800754
\hbox{\nolinkurl{ivo://ivoa.net/std/ObsCore#timeExt-1.0}}
801755
$$
802756

803-
In addition the schema containing the ObsCore main table and potentially some of the extensions
757+
In addition the TAP schema containing the ObsCore main table and potentially some of the extensions
804758
SHOULD use the root ObsCore standardID utype :
805759
$$
806760
\hbox{\nolinkurl{ivo://ivoa.net/std/ObsCore}}
807761
$$
808-
809-
810-
in such a way that the query
762+
Then the following query would allow to discover all services exposing ObsCore metadata as well as which extension tables they deliver.
811763

812764
\begin{lstlisting}
813765
SELECT DISTINCT(access_url), table_name, schema_name
@@ -821,9 +773,7 @@ \section{Registry Aspects}
821773
AND schema_utype LIKE 'ivo://ivoa.net/std/ObsCore'
822774
\end{lstlisting}
823775

824-
would allow to discover all services delivering ObsCore and which extension tables they deliver.
825-
826-
776+
\newpage
827777
\appendix
828778

829779
\input{Appendix.tex}

0 commit comments

Comments
 (0)