Skip to content

Presentation: seeAlso: Clarification on need for unique URIs for resources. #2021

@rogerhyam

Description

@rogerhyam

In the Presentation API in 3.3.1 seeAlso the text says:

"The URI of the document must identify a single representation of the data in a particular format. For example, if the same data exists in JSON and XML, then separate resources should be added for each representation, with distinct id and format properties."

The first sentence implies that the JSON representation of the data must have a different URI to the XML representation of the data.

The second sentence can be read that both should have separate resources which should have unique combinations of id and format. i.e. they can have the same URI but different mime types in the format.

This needs to be clarified because if the first sentence is correct it breaks semantic web best practices with regard to content negotiation in which we have a single HTTP URI which gives a 303 redirect to an appropriate resource based on the Accept header presented by the client. The same URI will therefore need to be used in both seeAlso resources.

This should be possible to support content negotiation and 303 redirection

"seeAlso": [
        {
          "id": "https://data.rbge.org.uk/herb/E00421509",
          "type": "Text",
          "label": { "en": [ "Catalogue page for this specimen." ] },
          "format": " text/html"
        },
       {
          "id": "https://data.rbge.org.uk/herb/E00421509",
          "type": "Dataset",
          "label": { "en": [ "Specimen Description in RDF XML." ] },
          "format": "application/rdf+xml"
        }
]

However this may break applications that assume all seeAlso resources have a unique id.

(I'm posting this straight as an issue rather than discussing on the google group because it is pretty damn techie and will confuse a general audience)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions