-
Notifications
You must be signed in to change notification settings - Fork 24
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
Shouldn't a Person email be unique ? #196
Comments
Hi @wizmer, The workaround is to add a schema:identifier property to the person instance and put the person email as value. Then the find_by_identifier function can be used to check whether there is an already registered person with a given email value through search. You can generalize it by using find_by_field if you want to use another field as identifier. I suggest also to use ORCID ids as person identifier whenever possible (at least for people working in research context). May be @olinux can weigh in and help. |
Hi everyone, |
Thanks to both of you for the answers, @MFSY Yes, that's what I was afraid of. After all, SHACL was developed for the Web. How could you guaranty unicity at the Web scale ? @olinux Well, I am not using Pyxus but @genric entity-management library. I am exactly in the case that you described, where indices are not updated yet so instances were created multiple times. I am currently implementing a client side lock that blocks until the indices are updated. I think I have no other choice. You already implemented such thing in Pyxus ? If yes, I'd be interested in having a look. |
@MFSY what is the strategy we should adopt for the BBP Nexus database ? |
Hi @jdcourcol, I propose we take this discussion offline. I'll organize a call for that to revisit how identifiers are handled with the latest Nexus development. As you can see from the question and answers above, it is not trivial to enforce entity unicity based on email value or any other property value with Nexus v0. Of course the devil is in the details and we need to |
Hi,
Due to the async nature of Nexus, I have mistakenly created multiple instance of a Person representing the actual same person. It is due to a bad design on my side but on the other hand I was wondering if it would be doable/beneficial to constraint the unicity of the email address directly in the schema ?
Thanks
The text was updated successfully, but these errors were encountered: