Remove arch-id-correlation assertion #768
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Resolves Issue #635
Relevant to Issue #625
ASIDE: the "big discussion" in discovery was actually about whether the ID refers to the TD (as a document) or to the Thing being described by the TD. In other words, do we identify the map or the territory? If we choose the latter interpretation, AND insist that only physical entities can be Things, it would mean the same ID would end up getting used for Intermediaries pointing at the same physical entity, which would be logical but would cause chaos in other ways (e.g. collisions in directories, being unable to hide ids of things being proxied which you may want to do for privacy reasons, etc). At the same time, we do tend to reuse the same ID when we subset a TD (for example, limit it to one language after language negotiation) so we can't really say the ID identifies the document, either. I think the correct interpretation is that the id is in fact the the id of the Thing, but that a Thing is an abstraction, and there may in fact be Virtual Things (like Intermediaries) that don't directly map to a physical entity. This logically means that there could be variant TDs describing the same (Virtual) Thing which we frankly have not quite come to terms with yet in WoT Discovery (trying to register two different TDs with the same id in a directory will cause one to overwrite the other) but for now we are going to have to let it go and deal with this in a later round, and assume a 1:1 mapping between TDs and Things so the same ID can be used for both. This is one of several reasons I was arguing for using local ids in directories rather than the IDs in the TDs themselves as directory keys; then it would be no problem to register multiple TDs with the same internal ID, since they would be assigned different local IDs. I lost that argument but plan to re-open it in Discovery 2.0. Part of the issue is the information model for TDs themselves probably needs to resolve this issue first, and fixing that will be a non-backwards-compatible change to the information model.
PS: I know the assertion that was just deleted said the IDs for intermediaries should be correlated, not the same, but since there is no actual normative mechanism to do this, and it conflicts with other assertions about privacy, use of uuids, etc, I still think we should remove it. It's still possible to use links to indicate in an Intermediary what it is "wrapping".
Preview | Diff