From 05d73abea8d28c1f2c7c8e9a7f93a80641dadc7d Mon Sep 17 00:00:00 2001 From: Boris De Vloed Date: Fri, 10 Sep 2021 09:01:10 +0200 Subject: [PATCH] added pseudonimization query. disabled by default. --- .../20210907-psuedonimize.sparql.disabled | 103 ++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 config/migrations/20210907-psuedonimize.sparql.disabled diff --git a/config/migrations/20210907-psuedonimize.sparql.disabled b/config/migrations/20210907-psuedonimize.sparql.disabled new file mode 100644 index 0000000..8bf92c5 --- /dev/null +++ b/config/migrations/20210907-psuedonimize.sparql.disabled @@ -0,0 +1,103 @@ +PREFIX rdf: +PREFIX rdfs: +PREFIX person: +PREFIX persoon: +PREFIX foaf: +PREFIX schema: +PREFIX mandaat: +PREFIX locn: +PREFIX adres: +PREFIX xsd: + +DELETE { + GRAPH ?g { + ?person foaf:familyName ?fn. + ?person foaf:givenName ?gn. + ?person persoon:gebruikteVoornaam ?gvn. + ?person persoon:heeftGeboorte ?dob. + ?cp schema:telephone ?phone. + ?cp schema:email ?mail. + ?cp locn:address ?address. + ?address locn:fullAddress ?fa. + ?address adres:Adresvoorstelling.huisnummer ?huisnr. + ?address adres:Adresvoorstelling.busnummer ?busnr. + ?address locn:thoroughfare ?street. + ?address locn:postCode ?postCode. + ?address adres:gemeentenaam ?gemeente. + } +} INSERT { + GRAPH ?g { + ?person foaf:givenName ?gn_s. + ?person foaf:familyName ?fn_s. + ?person persoon:gebruikteVoornaam ?gvn_s. + ?person persoon:heeftGeboorte "1977-01-01T00:00:00Z"^^xsd:dateTime. + ?cp schema:telephone ?phone_s. + ?cp schema:email ?mail_s. + ?cp locn:address ?address_s. + ?address locn:fullAddress ?fa_s. + ?address adres:Adresvoorstelling.huisnummer ?huisnr_s. + ?address adres:Adresvoorstelling.busnummer ?busnr_s. + ?address locn:thoroughfare ?street_s. + ?address locn:postCode ?postCode_s. + ?address adres:gemeentenaam ?gemeente_s. + } +} WHERE { + GRAPH ?g { + BIND("REPLACE_ME_WITH_A_RANDOM_STRING" AS ?salt). + ?person a person:Person. + OPTIONAL { + ?person foaf:givenName ?gn. + BIND(SHA1(CONCAT(?salt, ?gn)) AS ?gn_s). + } + OPTIONAL { + ?person foaf:familyName ?fn. + BIND(SHA1(CONCAT(?salt, ?fn)) AS ?fn_s). + } + OPTIONAL { + ?person persoon:gebruikteVoornaam ?gvn. + BIND(SHA1(CONCAT(?salt, ?gvn)) AS ?gvn_s). + } + OPTIONAL { + ?person persoon:heeftGeboorte ?dob. + } + OPTIONAL { + ?person mandaat:isAangesteldAls ?mandaat. + ?mandaat schema:contactPoint ?cp. + OPTIONAL { + ?cp schema:telephone ?phone. + BIND(SHA1(CONCAT(?salt, ?phone)) AS ?phone_s). + } + OPTIONAL { + ?cp schema:email ?mail. + BIND(SHA1(CONCAT(?salt, ?mail)) AS ?mail_s). + } + OPTIONAL { + ?cp locn:address ?address. + OPTIONAL { + ?address locn:fullAddress ?fa. + BIND(SHA1(CONCAT(?salt, ?fa)) AS ?fa_s). + } + OPTIONAL { + ?address adres:Adresvoorstelling.huisnummer ?huisnr. + BIND(SHA1(CONCAT(?salt, ?huisnr)) AS ?huisnr_s). + } + OPTIONAL { + ?address adres:Adresvoorstelling.busnummer ?busnr. + BIND(SHA1(CONCAT(?salt, ?busnr)) AS ?busnr_s). + } + OPTIONAL { + ?address locn:thoroughfare ?street. + BIND(SHA1(CONCAT(?salt, ?street)) AS ?street_s). + } + OPTIONAL { + ?address locn:postCode ?postCode. + BIND(SHA1(CONCAT(?salt, ?postCode)) AS ?postCode_s). + } + OPTIONAL { + ?address adres:gemeentenaam ?gemeente. + BIND(SHA1(CONCAT(?salt, ?gemeente)) AS ?gemeente_s). + } + } + } + } +}