ivoa-std / DataLink

DataLink standard (DAL)
3 stars 6 forks source link

Add little recognition section using LINK content-type #30

Closed Bonnarel closed 4 years ago

Bonnarel commented 4 years ago

Current spec allows two ways to recognize an URL as a links endpoint in a table. Many data providers are reluctant to deploy these mecahnisms outside the DAL discovery services. A simpler mechanism base on the VOTable LINK element could be used by adding "application/x-votable+xml;content=datalink" in the content-type attribute of the link element . Related to issue #29

Bonnarel commented 4 years ago

I changed the rationale of the LINK mechanism for recognition following Pat's demand

Bonnarel commented 4 years ago

I changed this one following Pat's demand

Regards

Le 17/11/2019 à 03:20, Patrick Dowler a écrit :

@pdowler requested changes on this pull request.

This metadata about an access_url column (for example) works fine when /all/ the links have the same output content type. This isn't really specific to DataLink and it is already a valid option. To make the treatment of recognition complete, we should probably say something like the following:

"When providing a column with URLs, if all the URLs are to a DataLink "links" endpoint, then the preferred approach is to add a LINKS element with the content type (ref to section defining it). If some values are to a "links" endpoint and others to different content types (e.g. single file download), then the VOTable would need a second column to convey the content type."

We could be extra specific/clear for clients if we specified that the two FIELDs should be in a GROUP in order to make a tightly coupled pair of values....


In DataLink.tex https://github.com/ivoa-std/DataLink/pull/30#discussion_r347114826:

@@ -1113,6 +1113,19 @@ \subsection{Example: Self-Describing Service} the descriptors is likely to be unreliable (e.g.\ if providers use HTTP redirects to make old URLs work when service deployment changes).

+\section{New “datalink” content-type for the LINK element in VOTable} + +Beside the cases where \blinks URLs are retrievied from standard DAL services responses or service descriptors, if a FIELD contains an URL retrieving a \blinks response at each row it is easy to tell this to the client using the content-type attribute of an included LINK element, as long as the content-type “application/x-votable+xml;content=datalink” is provided. (see Appendix) + +\begin{verbatim} +<FIELD name="bla" datatype="char" arraysize="*"

  • [utype="Access.reference" ucd="meta.url" ]>

There are some square brackets [ ] here that don't belong.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ivoa-std/DataLink/pull/30?email_source=notifications&email_token=AMP5LTHZ23K5L2FVE5MW2TDQUCS7ZA5CNFSM4JEDXUFKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCL2EDDY#pullrequestreview-317997455, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMP5LTGNU5AEBK4PE5CZMFTQUCS7ZANCNFSM4JEDXUFA.

Bonnarel commented 4 years ago

Hi Pat,

I made this change and added back some of the explaining text of 1.0

Regards

Françoiis

Le 23/11/2019 à 01:08, Patrick Dowler a écrit :

@pdowler requested changes on this pull request.


In DataLink.tex https://github.com/ivoa-std/DataLink/pull/30#discussion_r349840445:

  • <FIELD name="service_def" datatype="char" arraysize="*"
  • ucd="meta.ref" />
  • <FIELD name="error_message" datatype="char" arraysize="*"
  • ucd="meta.code.error" />
  • <FIELD name="semantics" datatype="char" arraysize="*"
  • ucd="meta.code" />
  • <FIELD name="description" datatype="char" arraysize="*"
  • ucd="meta.note" />
  • <FIELD name="content_type" datatype="char" arraysize="*"
  • ucd="meta.code.mime" />
  • <FIELD name="content_length" datatype="long" unit="byte"
  • ucd="phys.size;meta.file" />
  • +<RESOURCE type=”meta” utype=”adhoc:service” ID=”PwL” name=”Power Law fitting”>

In the previous text, the self-describing descriptor specified name="this" so it could be unambiguously distinguished from descriptors for other services. Admittedly, DataLink-1.0 says that is a convention (~SHOULD) rather than a MUST, so we could let services use the name attribute... but we still need a way to separate the self-describing descriptor from other descriptors.

The only other attribute at our disposal is utype: what about utype="adhoc:this" or "adhoc:this-service"?? I kind of like adhoc:this as it says "resource is meta about this" and doesn't clobber use of name.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ivoa-std/DataLink/pull/30?email_source=notifications&email_token=AMP5LTEP3UYVTPCPM7AACELQVBX7RA5CNFSM4JEDXUFKYY3PNVWWK3TUL52HS4DFWFIHK3DMKJSXC5LFON2FEZLWNFSXPKTDN5WW2ZLOORPWSZGOCMXV6MQ#pullrequestreview-321871666, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMP5LTFETEQ6SAO7AKP67FDQVBX7RANCNFSM4JEDXUFA.