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
How do we know which shapes need to be validated when we are processing a transaction?
We can't figure it out by just checking the types of the subjects that we modified, which is what we currently. So maybe we validate every shape? Or every shape that has a sh:path that has a predicate that is in the tx?
Which leads to a second question:
What do we have to validate after processing a transaction?
We currently start with the s-flakes of a subject that got changed, and then depending on the path and the constraints we may pull in other flakes. But if have to re-validate flakes that haven't changed, because of graph-crawling constraints in other shapes, we need a different way to constrain the scope so we don't have to re-validate the whole db: if we have a million Persons in the db, we don't want to re-validate all of them just because we changed one.
An
ex:Person
must have aex:pet
with anex:tail
that is datatypexsd:string
:And we transact perfectly valid Person:
All is good.
But then, we update the pet:
This doesn't trigger validation at all, because we never touch the subject with the class that triggers this shape.
The text was updated successfully, but these errors were encountered: