-
Notifications
You must be signed in to change notification settings - Fork 27
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
Conformance classes #42
Comments
Minor comments:
|
Does core not include the date the metadata record was created/last updated? |
2020;07-13 SWG Meeting: |
@nmtoken |
#1 it would make harvesting more efficient if there is a process to retrieve records added/update since a certain date/time (the last time harvesting happened) |
@mhogeweg Agreed. We have not had much/any discussion about transactions or harvesting yet. This capability would almost certainly end up being a different part than Part 1: Core. |
@pvretano it seems an oversight to not have the metadata date in core, it is a mandatory requirement for ISO 19115 |
For harvesting of metadata, metadata date is important, not just to target records to be harvested from a catalogue, but also (related) to ensure that a newer record is not overwritten by an older version. And in cases when the same metadata record exists in multiple catalogues, for a user to know which is the most up-to-date version. |
@nmtoken The core is read only. How the catalogue is populated is not in scope for the core. That is the subject of another part of the specification which we have barely discussed. When we get to that, we will include additional metadata in the record to enable efficient harvesting, etc. |
@pvretano harvesting aside metadata date is still important, it should be in core. I don't understand why core doesn't include metadata regarded as mandatory by ISO 19115 (there are only 7 and metadata date is one of them). |
I think the core queryables and how the query is actually made need some work (unless already described elsewhere). some of the queryables are dates, some may be numbers, phone numbers, etc.
misses the opportunity to search in specific fields, like I suggest something like: "if a search term includes a queryable separated by a colon from the search term, the search shall be restricted to the catalog field mapped to the queryable" |
Given that this is issue 42 we should ensure that this issue contains all the answers ;) |
LOL ... sure thing Arthur (aka @tomkralidis)! |
@mhogeweg the core has a deliberately limited set of query capabilities in order to make implementations of core simple. The SWG has discussed handling complex queries by a small set of increasingly more capable query extensions such as an OpenSearch extension and CQL (see https://github.com/opengeospatial/ogcapi-features/tree/master/extensions/cql) where the client has more control over fields, operators, expressions, etc. I like your suggestion of "title:WHYMAP" but I think that would go into one of the more capable extensions such as an OpenSearch extension. |
19-OCT-2020 SWG MEETING: The "requirement" of the queryables was meant to indicate whether that queryable must appear in a records response (i.e. a returnables as well). Upon review of the which are mandatory and which are optional we determined that the set of mandatory "returnables" is too large. So, we need to do 2 things ... (1) create a new table called returnables that lists the subset of queryables that must appear is a records (i.e. id, type, title (maybe) (2) include a strong recommendation for the others. |
11-JAN-2020: Keep the set of core queryable properties to the current set (bbox, datetime, q, type, etc.). Add text to the specification to give permission to add additional URL query parameters based on the core queryables BUT indicate that the nature must be the same as defined in the specification. |
Perhaps it would be valuable to have suggestive text explaining that while adding additional query parameters is allowed, it is advised to review against the queryables defined in the spec so as to maximize interoperability with clients and other servers. |
It looks like /api is considered core as inherited from ogcapi-common (from https://github.com/opengeospatial/ogcapi-records/blob/master/core/standard/clause_7_core.adoc#api-definition). However there is still a separate oas30 conformance class (https://github.com/opengeospatial/ogcapi-records/blob/master/core/standard/clause_13_oas.adoc) with required conformance statement (https://github.com/opengeospatial/ogcapi-records/blob/master/core/standard/requirements/oas30/REQ_oas-conformance.adoc). That is a bit confusing. Should the clause_13_oas.adoc part (and direct references) be removed? I do see some SWGs (e.g. tiles) moving away from a hard dependency on common, as they try to do building blocks. I think that is a bad idea though, partly because it makes the requirements much more vague, and adds "if you are using common, then the way you could do this is..." (e.g. see https://github.com/opengeospatial/ogcapi-tiles/blob/master/core/standard/clause_7_tile_tileSet.adoc#response). |
@bradh HISTORY: the document you are looking at and have been editing was initially copied from COVERAGES which was the first specification that tried to extend from core. We are trying to do the same with RECORDS (i.e. not what tiles is doing). So, there are quite a few artifacts hanging around which I am in the process of removing. I am currently in the MIDDLE of getting the document into better shape for review by the SWG and one of the items on the list is to actually remove clause 13. I think we already discussed this removal a few SWG meetings ago. The next time I push ... sometime in the upcoming week ... Clause 13 should be gone. |
SWG MEETING 08-FEB-2021: Will remove OpenAPI clause and close. |
Removed OAS clause. Closing. |
The purpose of this issues is to discuss the conformance classes that should be in the core. At the moment, I am contemplating the following conformance classes in the core:
The Core Requirements Class is the minimal useful service interface for an OGC Records API. The requirements specified in this Requirements Class are mandatory for all implementations this standard. The core requirements class includes a set of core properties also referred to as
core queryables
and a set of core query parameters. The list of core queyrables includes:NOTE: The requirement column in the following table is meant to indicate whether the corresponding queryables is also a returnable (i.e. a property that MUST appear in the record response).
NOTE: It is STRONGLY recommended that the other queryables also be included as returnables.
The list of core query parameters includes:
The Sort Requirement Class defined requirements needed to perform sorting of search results as per Uwe's proposal (see Issue #136).
The Collections Requirements Class defines requirements for making the /collections endpoint of any OGC Web API searchable using the OGC API Records core queryables and core query parameters. If a server wants to make is /collections end-point queryable it has to do the following:
The OpenSearch Requirements Class defines the requirements needed to support OpenSearch queries. Specifically this means that the implementation can generate an OpenSearch Description document and optionally generate an ATOM response. The OpenSearch Geo extension has more details.
The JSON-Record Requirements Class defines the requirements for a JSON representation of a standard catalogue record. This is basically GeoJSON.
The ATOM Requirements Class defines the requirements for an ATOM representation of a standard catalogue record.
The HTML-Record Requirements Class defines the requirements for an HTML representation of a standard catalogue record.
The text was updated successfully, but these errors were encountered: