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

7.14.1 Change: feature unique to collection rather than entire dataset. #84

Closed
JivanAmara opened this issue Mar 14, 2018 · 6 comments
Closed
Labels
Part 1: Core Issue related to Part 1 - Core

Comments

@JivanAmara
Copy link
Contributor

Some RDBS data sources such as PostGIS or GeoPackage may have collections as tables w/ ids for features in those tables unique only to that table. Making an id unique to all features would require the WFS3 server to create some kind of combination of a table identifier (collection name) and the feature's id to produce an id unique to the entire dataset.

Since the link to reach a particular feature always includes the collection name, I propose changing the requirement so that the feature id need only be unique to the collection it is within.

@pvretano
Copy link
Contributor

I think Requirement 25 already says what you are asking for. No?

@cportele cportele added this to the Part 1, First Draft Release milestone Mar 14, 2018
@cportele cportele added the Part 1: Core Issue related to Part 1 - Core label Mar 14, 2018
@bgsmase
Copy link

bgsmase commented Mar 14, 2018

I haven't been following the progress in detail but I noticed this issue because I seem to remember that WFS 2 has a requirement to have unique identifiers across feature types which does cause difficulties for implementations. (GetFeatureById stored query). However, it seems to me that the draft WFS 3 standard didn't have any such requirement before you added it in the referenced commits #83 and #85?

@JivanAmara
Copy link
Contributor Author

@pvretano Req 25 requires that ids are unique across the "dataset". From the terms and definitions and speaking with @cportele it means all of the data served up by the instance.

@bgsmase A "dataset" is defined as a "collection of data, published or curated by a single agent, and available for access or download in one or more formats", this would be all of the data across feature collections. #83 and #85 were to clarify this, this issue (#84) is to change it.

@cmheazel
Copy link
Contributor

Any solution to this issue should address the following:

Consider the case where I am pulling Features from multiple tables across multiple databases. I'm then going to build a derived dataset from all of those Features.

  1. How do I guarantee unique feature identifiers if feature identifiers are only unique within the table?
    a) I can generate new feature identifiers for the retrieved features. But I loose the association with the source feature.
    b) I can generate new feature identifiers from the URLs for each feature. However, as this process is repeated over time, these feature identifiers could become very large.
    c) I can generate a unique identifier from the URL for each feature (such as a UUID). But I would loose the association with the source feature.
  2. How do I guarantee the uniqueness of each feature?
    Since two table entries may have identical content, I could have identical features with different identifiers. Do we need to distinguish the identifier for the feature object (table unique identifier) from the identifier for the feature concept (what the feature object represents)?

@jampukka
Copy link
Contributor

As long as (#66, #30) each feature in the distribution is part of exactly one collection
this change seems logical.

@cmheazel I think the proposed change has no effect on 1. when pulling features from across multiple databases (or "datasets").

@cportele
Copy link
Member

Discussion 2018-03-27: Change sentence in the requirement to "id is a local identifier of the feature" and clarify that strictly only the URI needs to be unique. Additional restrictions are implementation dependent.

cportele added a commit that referenced this issue Mar 28, 2018
Resolve issues #84 (uniqueness of feature id) and #86 (term 'collection').

Merge as discussed in meeting on 2018-03-27.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Part 1: Core Issue related to Part 1 - Core
Projects
Development

No branches or pull requests

6 participants