-
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
STAC / Records Harmonization #178
Comments
what is the value in maintaining created/updated for each link vs maintaining it at just the record level? |
Links can be created or updated at different times. Let's say you add a record for a GRIB file and a year later want to add a COG file, then you have different dates for each link. Clients could then be smart and only download one of them if you've harvested the other one before... |
the same is true for any piece of information in the record: point of contact, description, etc. |
Sure, but the metadata is usually written and harvested all at once. |
agree and this then back to the value of putting a date on a single piece of that metadata. we're not talking to new assets that are added to the STAC as a whole (as new data gets collected all the time). the STAC items corresponding to those will have their own creation dates. This is about modifying an existing item with an additional piece of information that for some reason is being tracked separately from the other pieces of information for that item. |
Another harmonization issue is #195 |
Related to closed issue #64. |
I think it's worth having a fresh look again at how STAC and OAPIR align. I'll just list differences, nothing that's already aligned. I'm looking at this list: https://github.com/opengeospatial/ogcapi-records/blob/master/core/standard/clause_7_record.adoc#core-queryables-resource-table First question: There seem to be differences between the table linked to above and the README. Is this intentional?
Any thoughts, @pvretano ? |
Ignore the README for now. I don't have to time to work on the document and keep the README up-to-date relative to the document.
OK.
These are mandatory for a couple of reasons. Records is generic and so the
It is not restricted in any way that I am aware of ... so CommonMark would be fine. Does STAC specifically mention that CommonMark is allowed here? If yes, then I can add a similar "recommendation" to records.
I believe that the only remaining issues with respect to language is the direction and on that score I am fine with just making the default
We are working to get this specification adopted by OGC by the end of the year so from that perspective I would say it is pretty mature. I don't anticipate any further chanages to the
In STAC
The intent was to be aligned with STAC but I will re-review to make sure. Because records is mean to be generic, we may have have loosened the value requirements a bit. Anyway, I'll review.
The intent of the party.yaml schema is to allow The intent was to harmonize the structure used to reference provider information with the STAC provider object so to that extent I can modify the schema to include a As for spliting these two structures ... as I mentioned these are not two separate things. They are just two diffrent ways to include provider information in the record. One by reference; one by in-line value. Question: what would the distinction between "providers" and "contacts" be in STAC? Maybe if I understand that I can propose changes to bring STAC and records closer together on this point.
Records tries to use IANA link relations where possible. Since "prev" and "previous" are both valid IANA link relations, either is fine in Records.
OGC has some kind of authority to define new link relations which are formally defined as a URI and then also given a compact (or CURIE) representation. Here is an example from the OGC definition server ... http://defs.opengis.net/vocprez/object?uri=http://www.opengis.net/def/curie/ogc/1.0/rel/processes. The "formal" value for this In records right now, when we define a "new" rel we use a full URI but eventually we will define CURIEs for all those too.
We inherited this of the OGC APIs. I think in most (all?) cases, the self link is required.
Hmmm ... yeah features and common both require the
See in-line! ;) I'll create a PR to make the changes discussed thus far. We can discuss further and make additional changes in that PR. |
According to https://www.rfc-editor.org/rfc/rfc8288#section-3.5, both
|
Thanks @pvretano for all the comments! Looking forward to the PR. Feel free to ping me for a review.
But it's only really useful if someone defines a common vocabulary, right? If it's just free-form I'm not sure why it needs to be required.
I see. I'm not sure everyone would agree on a "equivalence" between STAC Item and STAC Record, but requiring a title for e.g. EO data such as Sentinel-2 where each is just another capture is not very useful. Those just don't have useful titles. Nevertheless, Somtimes I'd like to have titles for them so that it's not just always the ID...
Anyway, having different required fields is somewhat fine as long as the clients are aware. It means, that a OAR client may error if it reads a STAC Item as it doesn't have the required fields. It also means (for now just for these two fields) a OAR is always STAC complient, but a STAC is usually not OAR compliant. Similar issues occur with time vs datetime. So I guess we acknowledge that OAR and STAC are not 100% compliant, but we try to avoid direct conflicts like with updated/created where the meaning or behavior of fields contradict or so.
Yes, every description field in STAC allows CommonMark explicitly (inspired by OpenAPI). Example:
Okay, great. I'll wait for a confirmation from @tomkralidis and then I'll try to update the subjects extension in STAC to use the OAR spec.
A bit of background: STAC allows SPDX or "various" or "proprietary" (and nothing else). For non-SPDX values at least one link must be given.
I moved this to a separate issue as it seems to be to complex for this issue.
Honestly, I don't like this at all. One or the other is fine, but always having two variants makes the implementation more difficult without any obvious benefit. |
@m-mohr, that is correct and we currently have a section in the specification, Type and Licenses, that has a bunch of recommendations around that very point. There is also Annex C: Common resource types (Informative) that defines common type identifiers for OGC resources. All of this is currently informative and we should probably promote the recommendation to requirements and convert ANNEX C to a conformance class. Other communities of interest would define whatever type identifier values they need. |
There was a discussion at the Sept 2022 OGC Metadata Code Sprint about how Records and STAC could come into closer alignment and the conclusion of that discuss was:
created
andupdated
fields that describe when a resource was created and updated.recordCreated
andrecordUpdated
fields to simply becreated
andupdated
link
structure to add optionalcreated
andupdated
fieldsTo understand the implication, imgine that you have a dataset. That dataset has several distributions (for the sake of example say a ZIP and TGZ distribution). A record is created to describe the dataset (and the
created
andupdated
properties for the record are populated accordingly). Links are added to thelinks
section of the record that point to the two distribution and thecreated
andupdated
fields in each link is populated to reflect when each distribution was created and last updated.NOTE: This issue was created to describe the conclusions for the code sprint discussion and as an anchor for a PR that I am working on to implement the agreed upon changes.
The text was updated successfully, but these errors were encountered: