diff --git a/catalog/catalog.binding.https.md b/catalog/catalog.binding.https.md index f6e26fc..e07d920 100644 --- a/catalog/catalog.binding.https.md +++ b/catalog/catalog.binding.https.md @@ -60,7 +60,7 @@ Authorization: ... - The `Authorization` header is optional if the [Catalog Service](../model/terminology.md#catalog-service) does not require authorization. If present, the contents of the `Authorization` header are detailed in the [Authorization section](#13-authorization). -- The `filter` property is optional. If present, the `filter` property can contain an implementation-specific filter expression or query to be executed as part of the [Catalog](../model/terminology.md#catalog) request. +- The `filter` property is optional. If present, the `filter` property can contain an implementation-specific filter expression or query to be executed as part of the [Catalog](../model/terminology.md#catalog) request. If a filter expression is not supported by an implementation, it must return a HTTP 400 (Bad Request) response. ##### Response @@ -100,10 +100,13 @@ If the request is successful, the [Catalog Service](../model/terminology.md#cata ### 3.2 Pagination -A [Catalog Service](../model/terminology.md#catalog-service) may paginate the results of a [Catalog Request Message](./catalog.protocol.md#21-catalog-request-message). Pagination data is specified using [Web Linking](https://datatracker.ietf.org/doc/html/rfc5988) and the HTTP `Link` header. The `Link` header will contain URLs for navigating to previous and subsequent results. The following request sequence demonstrates pagination: +A [Catalog Service](../model/terminology.md#catalog-service) may paginate the results of a [Catalog Request Message](./catalog.protocol.md#21-catalog-request-message). Pagination data must be specified using [Web Linking](https://datatracker.ietf.org/doc/html/rfc5988) and the HTTP `Link` header. The `Link` header will contain URLs for navigating to previous and subsequent results. Only the `next` and `previous` link relation types must be supported. +Note that the content and structure of the link query parameters is not defined by the current specification. + +The following request sequence demonstrates pagination: ```http request -Link: ; rel="next" +Link: ; rel="next" { "@context": "https://w3id.org/dspace/v0.8/context.json", @@ -115,8 +118,8 @@ Link: ; rel="next" Second page response: ```http request -Link: ; rel="previous" -Link: ; rel="next" +Link: ; rel="previous" +Link: ; rel="next" { "@type": "dcat:Catalog", @@ -127,7 +130,7 @@ Link: ; rel="next" Last page response: ```http request -Link: ; rel="previous" +Link: ; rel="previous" { "@type": "dcat:Catalog", diff --git a/catalog/catalog.protocol.md b/catalog/catalog.protocol.md index fd31ecb..3f42204 100644 --- a/catalog/catalog.protocol.md +++ b/catalog/catalog.protocol.md @@ -101,7 +101,7 @@ All messages must be serialized in JSON-LD compact form as specified in the [JSO The Catalog Request Message is message sent by a [Consumer](../model/terminology.md#consumer) to a [Catalog Service](../model/terminology.md#catalog-service). The [Catalog Service](../model/terminology.md#catalog-service) must respond with a [Catalog](#31-ack---catalog), which is a valid instance of a [DCAT Catalog](https://www.w3.org/TR/vocab-dcat-3/#Class:Catalog). -- The message may have a `filter` property which contains an implementation-specific query or filter expression type supported by the [Catalog Service](../model/terminology.md#catalog-service). +- The message may have a `filter` property which contains an implementation-specific query or filter expression type supported by the [Catalog Service](../model/terminology.md#catalog-service). - The [Catalog Service](../model/terminology.md#catalog-service) may require an authorization token. Details for including that token can be found in the protocol binding, e.g., [Catalog HTTPS Binding](./catalog.binding.https.md). Similarly, pagination may be defined in the protocol binding.