Accessing the registry through TOPCAT
The use of TOPCAT is preferred.
In TOPCAT, click on VO Menu and select the TAP Query item.
In the TAP URL text box (bottom of the window) : http://voparis-rr.obspm.fr/tap -> Use Service.
Then it is possible to issue ADQL queries in the next page.
How to identify a TAP service
previous (dirty) solution
Look for tables names ending with epn_core
.
Code Block | ||
---|---|---|
| ||
SELECT ivoid FROM rr.res_table WHERE table_name LIKE '%.epn_core' |
This query returns 82 results, but there are duplication and redundant results. This query is thus not optimal.
recommended (better) solution
Search for table utypes
, (e.g., ivo://vopdc.obspm/std/epncore#schema-2.0
).
Warning |
---|
It is possible to filter on the EPNcore version. This helps to avoid out-dated services, but it could be problematic at the time of minor EPN-TAP version changes. This implies that providers must upgrade their resource regularly (as well as on clients). This is to be discussed. |
A query including the EPNcore version would be:
Code Block | ||
---|---|---|
| ||
SELECT ivoid FROM rr.res_table WHERE table_utype = 'ivo://vopdc.obspm/std/epncore#schema-2.0' |
This query is listing with 32 results at the time of writing.
A query matching all EPNcore versions would be:
Code Block | ||
---|---|---|
| ||
SELECT ivoid FROM rr.res_table WHERE table_utype LIKE 'ivo://vopdc.obspm/std/epncore%' |
which returns with 48 results at the time of writing.
For both examples, we retrieve in the same table the TAP access point (e.g., ivo://vopdc.obspm/tap/maser
), as well as EPNcore services (e.g., ivo://vopdc.obspm/lesia/maser/expres/epn
). The TAP servers must be removed. We can filter TAP access points out with the tr:
tableaccess
capability.
Checking if services are correctly registered
Using the previous queries, including the filter to remove TAP endpoints, we get the following query:
Code Block |
---|
SELECT rr.res_table.ivoid FROM rr.res_table WHERE table_utype = 'ivo://vopdc.obspm/std/epncore#schema-2.0' AND ivoid NOT IN (SELECT rr.capability.ivoid FROM rr.capability WHERE cap_type = 'tr:tableaccess') |
We obtain 15 results:
Hints for clients
Retrieve the service infos:
Code Block | ||
---|---|---|
| ||
SELECT rr.res_table.ivoid, access_url, table_name, short_name, res_title, res_description, reference_url FROM rr.res_table NATURAL JOIN rr.resource NATURAL JOIN rr.interface WHERE table_utype = 'ivo://vopdc.obspm/std/epncore#schema-2.0' AND ivoid NOT IN (SELECT rr.capability.ivoid FROM rr.capability WHERE cap_type = 'tr:tableaccess') |
Retrieve also the publisher/contact/creator/contributor:
Code Block | ||
---|---|---|
| ||
SELECT rr.res_table.ivoid, access_url, table_name, short_name, res_title, res_description, reference_url, role_name, base_role AS rol_name FROM rr.res_table NATURAL JOIN rr.resource NATURAL JOIN rr.interface NATURAL JOIN rr.res_role WHERE table_utype = 'ivo://vopdc.obspm/std/epncore#schema-2.0' AND ivoid NOT IN (SELECT rr.capability.ivoid FROM rr.capability WHERE cap_type = 'tr:tableaccess') |