You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
If the top-level ResourceMap does not specify @id, it comes out as an anonymous node rather than referring to "the document itself".
At first glance it would seem best to recommend to add
"@id": ""
in order to identify the resource map as the retrieved resource.
However, one could imagine a poor mans ORE set up, where requesting the Aggregation itself somehow directly responds with the ResourceMap instead of doing a HTTP redirect to the ResourceMap resource:
This response is "kind of" OK by Linked Data standards, the Resource Map is not identified (bnode), but we know it exists. When parsing this, to ensure you are picking the 'right' aggregation in the resource map, the client would just have to look for:
SELECT ?aggr WHERE {
?resourceMap ore:describes ?aggr .
}
... and in this case we should NOT RECOMMEND to use describes anywhere but the top-level.
Each Resource Map MUST be identified by a single protocol-based URI, which MUST be distinct from the Aggregation identified by the Resource Map. This specification uses URI-R to denote URIs that identify Resource Maps. There MAY be multiple Resource Maps for a single Aggregation. Each Resource Map MUST have a distinct URI (rather than forming multiple Representations from a single URI-R). A deference of a URI-R results in a serialization which the assertions described above can be extracted as a set of triples that when combined form an RDF Graph that MUST conform to a well-defined structure.
So I guess the ORE JSON-LD specification should reflect this.
If the top-level ResourceMap does not specify @id, it comes out as an anonymous node rather than referring to "the document itself".
At first glance it would seem best to recommend to add
in order to identify the resource map as the retrieved resource.
However, one could imagine a poor mans ORE set up, where requesting the Aggregation itself somehow directly responds with the ResourceMap instead of doing a HTTP redirect to the ResourceMap resource:
This response is "kind of" OK by Linked Data standards, the Resource Map is not identified (bnode), but we know it exists. When parsing this, to ensure you are picking the 'right' aggregation in the resource map, the client would just have to look for:
... and in this case we should NOT RECOMMEND to use
describes
anywhere but the top-level.However ORE data model has a bit stricter definition for Resource Map:
So I guess the ORE JSON-LD specification should reflect this.
This can be achived by either hard-coding "@id":
By using the empty @id and Content-Location:
The second case is in many ways 'more correct' - but also easier to get wrong..
The 'best' solution is to do a classic HTTP 303 See Other to a representation-specific Resource Map:
A simpler best-practice could be to identify the Aggregation with a hash-based URI:
but this would not as easily allow for multiple resource map representations.
The text was updated successfully, but these errors were encountered: