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

Support editing Individuals reference #64

Open
MichaelHirn opened this issue Feb 6, 2020 · 0 comments
Open

Support editing Individuals reference #64

MichaelHirn opened this issue Feb 6, 2020 · 0 comments

Comments

@MichaelHirn
Copy link
Contributor

Background / Scenario

I want to create a RlayIndividual and that should represent some real-world COMPANY so we have to ensure that a unique CID is generated for that COMPANY and preferably we want that CID to be "traceable" (for a lack of a better word) and not add some UUID as its inherent assertion. Therefore we assign the following inherent assertion:

  • Company class assertion to prevent clashes with other types that may have the same data or object property assertions.
  • Some data or object property assertion that identifies the COMPANY (e.g. a global company ID)

Problem

Now sometime later we realise that the COMPANY we created does not exist/was wrongly created/should not be a Company. So we issue a NegativeClassAssertion for the Company class as well as the correct ClassAssertion e.g. a NULL class assertion to show that it is somehow invalid. Let's assume when we retrieve this COMPANY via the client it aggregates everything and it computes correctly that its ClassAssertions are ['NULL'].

Let's assume now that in the future we come across the actual COMPANY that has this global company ID and we create it, we will, once we retrieve it, get a NULL Individual back and not a Company class, because the CID of the invalid COMPANY did not change.

The problem is that we want to change the reference of an Individual, its CID, by negatively asserting its previous class assertion, but that does not happen currently.

Possible Solutions

  1. Actually delete the Individually and recreate it with a NULL class assertion instead of an Company class assertion
  2. Add the NegativeAssertion to its inherent assertions.

Either way we (1) will and should get back a new CID, (2) have to figure out if assertions that used the reference should be updated or should point to the now (empty?) Individual, (3) have to figure out how this behavior will be supported in the client.

cc @hobofan

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant