Difference between revisions of "DCP-4"

From Earth Science Information Partners (ESIP)
Line 26: Line 26:
 
Include multiple ''<link href=.../>'' elements for each dataset to be cast. Different <link/> elements can be categorized as follows:
 
Include multiple ''<link href=.../>'' elements for each dataset to be cast. Different <link/> elements can be categorized as follows:
 
# A <link/> with only the Atom 1.1 ''href'', ''title'' and ''rel'' attributes will be interpreted to reference the 'raw' dataset.
 
# A <link/> with only the Atom 1.1 ''href'', ''title'' and ''rel'' attributes will be interpreted to reference the 'raw' dataset.
# A <link/> with the attributes ''xlink:type="simple"'' with the additional attributes ''xlink:role="<<dap schema URI>>"'' and ''xlink:title="<<some human readable title>>"'' will be interpreted to reference a DAP service endpoint. The URL that can be dereferenced to access the endpoint will be the value of the ''href'' attribute and the ''rel'' attribute will be ''"enclosure''"
+
# A <link/> with the attributes ''xlink:type="simple"'' with the additional attributes ''xlink:role="<<dap schema URI>>"'' and ''title="<<some human readable title that mentions OPeNDAP>>"'' will be interpreted to reference a DAP service endpoint. The URL that can be dereferenced to access the endpoint will be the value of the ''href'' attribute and the ''rel'' attribute will be ''"enclosure''"
# A <link/> with the attributes ''xlink:type="simple"'' with the additional attributes ''xlink:role="<<dap schema URI>>"'', ''xlink:title="<<some human readable title>>"'' and ''xlink:arcrole="<<DAP suffix>>"'' will be interpreted to reference a DAP response object using an endpoint. The ''arcrole'' will denote exactly which response will be returned when the URL that is the value ofthe ''href'' attribute is dereferenced. The ''rel'' attribute will be ''"enclosure''"
+
# A <link/> with the attributes ''xlink:type="simple"'' with the additional attributes ''xlink:role="<<dap schema URI>>"'' and ''xlink:arcrole="<<DAP suffix>>"'' will be interpreted to reference a DAP response object using an endpoint. The ''arcrole'' will denote exactly which response will be returned when the URL that is the value ofthe ''href'' attribute is dereferenced. The ''rel'' attribute will be ''"enclosure''". The ''title'' will contain some human readable text that mentions both OPeNDAP and the specific response.
# Repeat for WCS
+
# Stamp and Repeat for WCS, other protocols.
  
 
== Rationale for the Solution ==
 
== Rationale for the Solution ==

Revision as of 18:46, February 13, 2012

<< Back to the Discovery Change Proposals page


DCP-7: OPeNDAP Links in the Atom <link/> element

  • Progress (fill in the dates as the process moves forward)
  1. Submitted on: when the DCP was submitted
  2. Review period: the review period
  3. Revision: when revisions are being made based on feedback
  4. Vote: the voting period
  5. Final review: when final adjustments are being made and final review
  6. Ratified: when approved.
  7. Rejected: or when rejected.
  • Facilitator: the primary editor to help the DCP move along the process.

Description

To include URLs that reference OPeNDAP servers and/pr response objects in Atom-based casts, use the XLink 1.1 protocol. The technique presented relies on only standard behavior for XLink 1.1 conformant software. It can be trivially extended to other web-based data access protocols (e.g., WCS).

Problem Addressed

We have a number of datacast feeds that are, or have the capability to, include links that can be used to access those cast datasets using OPeNDAP servers. However, few feed readers will understand how to process the responses from those servers. Furthermore, each 'OPeNDAP URL' really specifies a collection of potential responses, each accessed using a specific suffix appended to the pathname component of a/the URI/URL.

Proposed Solution

Include multiple <link href=.../> elements for each dataset to be cast. Different <link/> elements can be categorized as follows:

  1. A <link/> with only the Atom 1.1 href, title and rel attributes will be interpreted to reference the 'raw' dataset.
  2. A <link/> with the attributes xlink:type="simple" with the additional attributes xlink:role="<<dap schema URI>>" and title="<<some human readable title that mentions OPeNDAP>>" will be interpreted to reference a DAP service endpoint. The URL that can be dereferenced to access the endpoint will be the value of the href attribute and the rel attribute will be "enclosure"
  3. A <link/> with the attributes xlink:type="simple" with the additional attributes xlink:role="<<dap schema URI>>" and xlink:arcrole="<<DAP suffix>>" will be interpreted to reference a DAP response object using an endpoint. The arcrole will denote exactly which response will be returned when the URL that is the value ofthe href attribute is dereferenced. The rel attribute will be "enclosure". The title will contain some human readable text that mentions both OPeNDAP and the specific response.
  4. Stamp and Repeat for WCS, other protocols.

Rationale for the Solution

Xlink is the best way to include arbitrary metadata about a link in a link. Using it takes advantage of existing XML standards and so it is within the realm of reason to assume feed readers will behave in a way that is at least not toxic to users.

Discussions

The fact that xlink includes a namespace-escape href attribute and the Atom specification requires that href be present in <link/> elements is cumbersome.

NB: It is not an error for a simple-type element to have no locator (href) attribute value. If a value is not provided, the link is simply untraversable. Such a link may still be useful, for example, to associate properties with the resource by means of XLink attributes. See: http://www.w3.org/TR/xlink11/ section 5.2.

Consensus

Voting results.