GitHub user vscaemh closed a discussion: How to validate before update without having the full graph?
My wish is: If an update violates the SHACL constraints then abort the update. I am currently using python. Currently I upload the staging dataset, run shacl against it, and if it fails, then I do not upload to production. But it seems rather manual, and I would really like a sort of transactional approach where: Submit update -> JENA validates -> On Failure JENA aborts. Instead of: Submit update to staging -> Ask validation against shacl endpoint -> On failure, abort and reset staging I feel like I am missing something obvious. So the sort of geneal question is I have SHACL constraints that requires certain relation between entities. I want to ensure that my graph still adhere to these constraints after adding new knowledge. But some data is in a triple store, and some data is "local", meaning that it has not been added yet. How do I make a sort of "union" graph between the new data and A SUBSET of the existing data and check my constraints without fetching the entire dataset from my triple store? Here is an attempt of a better formulation I have a triple store T. I have some shapes S that requires the class X to be owned by the class Y. An instance of Y, Y_inst already exists in T. Now I want to add an instance of X, X_inst to my triple store. But it fails the validation before update, because Y_inst is unknown, as it is only in the triple store. How can I go about this? It seems to be a relevant research topic e.g. https://ceur-ws.org/Vol-3954/paper1130.pdf but I guess there is some good patterns that I just don't know about? GitHub link: https://github.com/apache/jena/discussions/3697 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
