Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PAV Review edits. #342

Merged
merged 1 commit into from
Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
10 changes: 10 additions & 0 deletions core/openapi/ogcapi-records-1-building-blocks.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,16 @@ components:
type: string
explode: false
style: form
ids:
name: ids
in: query
required: false
schema:
type: array
items:
type: string
explode: false
style: form
language:
name: language
in: query
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ paths:
- $ref: 'https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/ogcapi-records-1-building-blocks.yaml#/components/parameters/q'
- $ref: 'https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/ogcapi-records-1-building-blocks.yaml#/components/parameters/type'
- $ref: 'https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/ogcapi-records-1-building-blocks.yaml#/components/parameters/externalId'
- $ref: 'https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/ogcapi-records-1-building-blocks.yaml#/components/parameters/ids'
- $ref: 'https://raw.githubusercontent.com/opengeospatial/ogcapi-records/master/core/openapi/ogcapi-records-1-building-blocks.yaml#/components/parameters/sortby'
responses:
'200':
Expand Down
1 change: 1 addition & 0 deletions core/openapi/ogcapi-records-1-example-ref-schema-repo.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ paths:
- $ref: 'parameters/q.yaml'
- $ref: 'parameters/type.yaml'
- $ref: 'parameters/externalId.yaml'
- $ref: 'parameters/ids.yaml'
- $ref: 'parameters/sortby.yaml'
responses:
'200':
Expand Down
13 changes: 13 additions & 0 deletions core/openapi/parameters/ids.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
---
name: ids
in: query
description:
The optional ids parameter allows a specified of records to be fetched
from a catalogue using their identifiers.
required: false
schema:
type: array
items:
type: string
explode: false
style: form
13 changes: 0 additions & 13 deletions core/standard/abstract_tests/ATS_class_searchable-catalog_crs.adoc

This file was deleted.

12 changes: 0 additions & 12 deletions core/standard/abstract_tests/searchable-catalog_crs/ATS_crs.adoc

This file was deleted.

9 changes: 3 additions & 6 deletions core/standard/annex_ats.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
[appendix]
:appendix-caption: Annex
[[annex_ats]]
== Conformance Class Abstract Test Suite (Normative)

=== Conformance Class: Record Core
Expand Down Expand Up @@ -50,7 +51,7 @@ include::abstract_tests/ATS_class_oas30.adoc[]

include::abstract_tests/ATS_class_record-core-query-parameters.adoc[]

=== Conformance Class: Filtering using the Common Query Language (CQL)
=== Conformance Class: Filtering using the Common Query Language (CQL2)

include::abstract_tests/ATS_class_record-filter.adoc[]

Expand All @@ -62,14 +63,10 @@ include::abstract_tests/ATS_class_sorting.adoc[]

include::abstract_tests/ATS_class_searchable-catalog.adoc[]

=== Conformance Class: Searchable Catalog CRS

include::abstract_tests/ATS_class_searchable-catalog_crs.adoc[]

=== Conformance Class: Searchable Catalog Filtering

include::abstract_tests/ATS_class_searchable-catalog_filtering.adoc[]

=== Conformance Class: Searchable Catalog Sorting

include::abstract_tests/ATS_class_searchable-catalog_sorting.adoc[]
include::abstract_tests/ATS_class_searchable-catalog_sorting.adoc[]
6 changes: 3 additions & 3 deletions core/standard/clause_0_front_material.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ A record is the atomic unit of information in a catalog, It contains descriptive
* links to access the resource,
* etc.

This information is generic and can be used to describe a wide variety of resources. This specification expects and encourages implementations to enrich the information content of a record to suit specific use cases, requirements, domains or communities.
This information is generic and can be used to describe a wide variety of resources. This specification expects and encourages implementations to enrich the information content of a record to suit specific use cases, requirements, domains or communities of interest.

A collection of records is itself described by a record that provides descriptive information about the catalog. The collection also provides access to the records of the collection either by explicitly linking to each record that is an item of the collection or by providing a search endpoint that allows the collection of records to be searched.

Expand All @@ -43,15 +43,15 @@ The search API allows collections of records to be searched using logically conn
[cols="25,35,10,20",options="header"]
|===
|Resource |Path |HTTP method |Document reference
|Landing page |`/` |GET |<<landing-page,API landing page>>
|Landing page |`/` |GET |https://docs.ogc.org/is/17-069r3/17-069r3.html#_api_landing_page[API landing page]
|Conformance declaration |`/conformance` |GET |<<conformance_class,Conformance>>
|Record collections |`/collections` |GET |<<record-collections,Record collections>>
|Record collection |`/collections/{collectionId}` |GET |<<clause-record-collection,Record Collection>>
|Records |`/collections/{collectionId}/items` |GET |<<records-access,Records access>>
|Record |`/collections/{collectionId}/items/{recordId}` |GET |<<clause-record-core,Record Core>>
|===

A special use case of the catalog deployed as an API is the _local resources catalog_. A local resources catalog is a catalog deployed to make local resources offered by a provider searchable using the catalog information model and API. An example of a local resources catalog is the `/collections` endpoint of http://docs.opengeospatial.org/DRAFTS/20-024.html[OGC API - Common - Part 2: Geospatial data] or http://docs.ogc.org/is/17-069r3/17-069r3.html[OGC API - Features - Part 1: Core]. Adding catalog capabilities to this endpoint allows a client to search for collections that satisfy a specified filter expression. Any API endpoint whose function is to provide a list of resources, such as the `/collections` endpoint, can be extended to be a local resources catalog to search for records describing resources served by that API.
A special use case of the catalog deployed as an API is the _local resources catalog_. A local resources catalog is a catalog deployed to make local resources offered by a provider searchable using the catalog information model and API. An example of a local resources catalog is the `/collections` endpoint of http://docs.opengeospatial.org/DRAFTS/20-024.html[OGC API - Common - Part 2: Geospatial data] or http://docs.ogc.org/is/17-069r3/17-069r3.html[OGC API - Features - Part 1: Core]. Adding catalog capabilities to this endpoint allows a client to search for collections that satisfy a specified filter expression. Any API endpoint defined in an OGC API specification whose function is to provide a list of resources, such as the `/collections` endpoint, can be extended to be a local resources catalog that can be searched for records describing resources served by that API.

[[keywords]]
[big]*ii. Keywords*
Expand Down
2 changes: 1 addition & 1 deletion core/standard/clause_10_security.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@

Given the dependencies on <<OACommon,OGC API - Common>> and <<OAFeat-1,OGC API - Features>> and OGC API - Features and OGC API - Common, aspects of security are discussed in those specifications.

Metadata record encryption is out of scope for this specification, however communities who wish to implement record encryption are free to do so as needed.
Metadata record encryption is out of scope for this Standard, however communities who wish to implement record encryption are free to do so as needed.
42 changes: 23 additions & 19 deletions core/standard/clause_2_conformance.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@

=== Overview

Conformance with this standard shall be checked using the tests specified in Annex A (normative) of this document. The framework, concepts, and methodology for testing, and the criteria to claim conformance, are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site.
Conformance with this Standard shall be checked using the tests specified in <<annex_ats,Annex A (normative)>> of this document. The framework, concepts, and methodology for testing, and the criteria to claim conformance, are specified in the OGC Compliance Testing Policies and Procedures and the OGC Compliance Testing web site.

The standardization target of the conformance classes:

Expand All @@ -17,7 +17,7 @@ The standardization target of the conformance classes:
* <<clause-record-core-query-parameters,Record query parameters>>
* <<clause-records-api,Records API>>
* <<clause-sorting,Sorting>>
* <<clause-filter,Filtering>>
* <<clause-filtering,Filtering>>
* <<clause-searchable-catalog,Searchable Catalog>>
* <<clause-searchable-catalog_filtering,Searchable Catalog - Filtering>>
* <<clause-searchable-catalog_sorting,Searchable Catalog - Sorting>>
Expand All @@ -26,7 +26,7 @@ The standardization target of the conformance classes:
* <<clause-local-resources-catalog_filtering,Local Resources Catalog - Filtering>>
* <<clause-local-resources-catalog_sorting,Local Resources Catalog - Sorting>>
* <<clause-autodiscovery,Autodiscovery>>
* <<rc_oas30,OpenAPI 3.0>>
* <<clause-oas30,OpenAPI 3.0>>

is "Web APIs".

Expand All @@ -37,14 +37,14 @@ The standardization target of the conformance classes:

is "Document encoding".

https://docs.opengeospatial.org/is/17-069r4/17-069r4.html[OGC API - Features] provides a common foundation for OGC API standards for feature access. Therefore, this standard should be viewed as an extension to OGC API - Features. Conformance to this standard requires demonstrated conformance to the applicable Conformance Classes of https://docs.opengeospatial.org/is/17-069r4/17-069r4.html#_conformance[OGC API - Features].
https://docs.opengeospatial.org/is/17-069r4/17-069r4.html[OGC API - Features] provides a common foundation for OGC API standards for feature access. Therefore, this Standard should be viewed as an extension to OGC API - Features. Conformance to this Standard requires demonstrated conformance to the applicable Conformance Classes of https://docs.opengeospatial.org/is/17-069r4/17-069r4.html#_conformance[OGC API - Features].

The Conformance Classes implemented by an API are advertised through the <<conformance-classes,`/conformance`>> path on the <<landing-page,landing page>>. Each Conformance Class has an associated Requirements Class. The Requirements Classes define the functional requirements which will be tested through the associated Conformance Class.
The Conformance Classes implemented by an API are advertised through the <<conformance-classes,`/conformance`>> path on the https://docs.ogc.org/is/17-069r3/17-069r3.html#_api_landing_page[landing page]. Each Conformance Class has an associated Requirements Class. The Requirements Classes define the functional requirements which will be tested through the associated Conformance Test.

[[building-block-requirements-classes]]
=== Building blocks

This standard also identifies nine (9) building block requirements classes:
This standard also identifies ten (10) building block requirements classes:

* <<clause-record-core,Record Core>>
* <<clause-record-collection,Record collection>>
Expand All @@ -54,6 +54,7 @@ This standard also identifies nine (9) building block requirements classes:
* <<clause-filtering,Filtering>>
* <<requirements-class-json-clause,JSON>>
* <<requirements-class-html-clause,HTML>>
* <<clause-oas30,OpenAPI 3.0>>
* <<clause-autodiscovery,Autodiscovery>>

The <<clause-record-core,_Record Core_>> conformance class defines the requirements for the core schema of a catalog record which is a set of properties (<<core-properties,core properties>>) that can be used to make any resource discoverable via a catalog. This core set of properties can be extended as required by specific communities of interest and/or use cases.
Expand All @@ -72,12 +73,14 @@ The <<requirements-class-json-clause,_JSON_>> conformance class defines the requ

The <<requirements-class-html-clause,_HTML_>> conformance class defines the requirements for an HTML representation of a standard catalog record.

The <<clause-autodiscovery,Autodiscovery>> conformance class defines requirements that allow catalogs associated with a web page or web site to be discovered.
The <<<<clause-oas30,OpenAPI 3.0>> conformance class defines the requirements for server that use an http://spec.openapis.org/oas/v3.0.3#openapi-document[OpenAPI 3.0] document to define their API.

The <<clause-autodiscovery,Autodiscovery>> conformance class defines requirements that allow catalogs that conform to this Standard and are associated with a web page or web site to be automatically discovered.

[[catalog-requirements-classes]]
=== Catalog deployments

Using the above-mentioned building blocks, this standard identifies the following catalog requirements classes:
Using the above-mentioned building blocks, this Standard identifies the following catalog requirements classes:

* <<clause-crawlable-catalog,Crawlable Catalog>>
* <<clause-searchable-catalog,Searchable Catalog>>
Expand All @@ -104,19 +107,20 @@ The <<clause-local-resources-catalog,Local Resources Catalog>>, <<clause-local-r
|<<clause-record-collection,Record collection>> |_Optional_ |Mandatory |N/A
|<<clause-record-core-query-parameters,Record query parameters>> |N/A |_Mandatory_ |_Mandatory_
|<<clause-records-api,Records API>> |N/A |Mandatory |N/A
|<<clause-sorting,Sorting>> |N/A_ |_Optional_ |_Optional_
|<<clause-filter,Filtering>> |N/A |_Optional_ |_Optional_
|<<clause-sorting,Sorting>> |N/A |_Optional_ |_Optional_
|<<clause-filtering,Filtering>> |N/A |_Optional_ |_Optional_
|<<requirements-class-json-clause,JSON>> |_Optional_ |_Optional_ |_Optional_
|<<requirements-class-html-clause,HTML>> |_Optional_ |_Optional_ |_Optional_
|<<clause-oas30,OpenAPI 3.0>> |N/A |_Optional_ |_Optional_
|===

=== Implementations

Implementors of this specification select one or more of the <<catalog-requirements-classes,catalog requirements classes>> they wish to implement and then implement the required building block requirements classes.
Implementors of this Standard select one or more of the <<catalog-requirements-classes,catalog deployment requirements classes>> they wish to implement and then implement the required building block requirements classes.

=== Conformance testing

Conformance with this standard shall be checked using all the relevant tests
Conformance with this Standard shall be checked using all the relevant tests
specified in <<ats,Annex A>> of this document. The framework, concepts, and
methodology for testing, and the criteria to be achieved to claim conformance
are specified in the OGC Compliance Testing Policies and Procedures and the
Expand All @@ -127,9 +131,9 @@ OGC Compliance Testing web site.
[cols="30,70",options="header"]
|===
|Conformance class |URI
|<<ats_crawlable-catalog,Crawlable Catalog>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/crawlable-catalog
|<<ats_crawlable_catalog,Crawlable Catalog>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/crawlable-catalog
|<<ats_searchable-catalog,Searchable Catalog>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/searchable-catalog
|<<ats_searchable-catalog_filtering,Searchable Catalog - Filtering>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/searchable-catalog-filtering
|<<ats_searchable_catalog_filtering,Searchable Catalog - Filtering>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/searchable-catalog-filtering
|<<ats_searchable-catalog_sorting,Searchable Catalog - Sorting>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/searchable-catalog-sorting
|<<ats_local-resources-catalog,Local Resources Catalog>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/local-resources-catalog
|<<ats_local-resources-catalog_filtering,Local Resources Catalog - Filtering>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/local-resources-catalog-filtering
Expand All @@ -141,12 +145,12 @@ OGC Compliance Testing web site.
[cols="30,70",options="header"]
|===
|Conformance class |URI
|<<ats_core_record,Record Core>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/record-core
|<<ats_record_collection,Record Collection>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/record-collection
|<<ats_record_core-query-parameters,Record query parameters>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/record-core-query-parameters
|<<ats_record_api,Records API>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/record-api
|<<ats_record-core,Record Core>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/record-core
|<<ats_record-collection,Record Collection>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/record-collection
|<<ats_record-core-query-parameters,Record query parameters>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/record-core-query-parameters
|<<ats_records-api,Records API>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/record-api
|<<ats_sorting,Sorting>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/sorting
|<<ats_filtering,Filtering>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/filtering
|<<ats_cql-filter,Filtering>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/filtering
|<<ats_json,JSON>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/json
|<<ats_html,HTML>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/html
|<<ats_oas30,OpenAPI 3.0>> |http://www.opengis.net/spec/ogcapi-records-1/1.0/conf/oas30
Expand Down