diff --git a/config/migrations/2023/20230104152916-delete-orphan-person.sparql b/config/migrations/2023/20230104152916-delete-orphan-person.sparql new file mode 100644 index 0000000..8e886f1 --- /dev/null +++ b/config/migrations/2023/20230104152916-delete-orphan-person.sparql @@ -0,0 +1,65 @@ +PREFIX xsd: +PREFIX mu: +PREFIX persoon: +PREFIX ext: +PREFIX person: +PREFIX session: +PREFIX foaf: +PREFIX besluit: + +DELETE { + GRAPH { + ?person ?ppPerson ?ooPerson. + ?heeftGeboorte ?p ?o. + ?registration ?identificator. + ?identificator ?x ?y. + ?registration ?t ?j. + } +} + +WHERE { + GRAPH { + ?person a . + FILTER((NOT EXISTS { ?mandatories ?person. }) + && (NOT EXISTS { ?ministers ?person. })) + } + + GRAPH { + optional {?person ?ppPerson ?ooPerson.} + optional { + ?person persoon:heeftGeboorte ?heeftGeboorte. + ?heeftGeboorte ?p ?o. + } + + optional { + ?person persoon:registratie ?registration. + ?registration ?t ?j. + } + optional { + + ?registration ?identificator. + ?identificator ?x ?y. + } + } +} + +; + +DELETE { + GRAPH { + ?person ?pPerson ?oPerson. + } + +} + + + +WHERE { + GRAPH { + ?person a ; + ?pPerson ?oPerson. + FILTER((NOT EXISTS { ?mandatories ?person. }) && (NOT EXISTS { ?ministers ?person. })) + } + + +}