You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
Actually delete the Individually and recreate it with a NULL class assertion instead of an Company class assertion
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.
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.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 aNegativeClassAssertion
for theCompany
class as well as the correctClassAssertion
e.g. aNULL
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 aCompany
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
NULL
class assertion instead of anCompany
class assertionEither 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
The text was updated successfully, but these errors were encountered: