From 2c6d73d3897ce1d335ff696fd55dc7fdf93cb1e6 Mon Sep 17 00:00:00 2001 From: mirdono Date: Wed, 19 Jun 2024 11:27:34 +0200 Subject: [PATCH] feat: replace founding relation by membership relation - Remove relations based on `ext:isFounderOfOrganization` predicate from the data model. - Migrate the `ext:isFounderOfOrganization` triples to new, appropriate triples. --- .../20230824160500-founding-members.sparql | 35 +++++++++++++++++++ config/resources/domain.json | 11 ------ 2 files changed, 35 insertions(+), 11 deletions(-) create mode 100644 config/migrations/2023/20230824160000-related-organizations/20230824160500-founding-members.sparql diff --git a/config/migrations/2023/20230824160000-related-organizations/20230824160500-founding-members.sparql b/config/migrations/2023/20230824160000-related-organizations/20230824160500-founding-members.sparql new file mode 100644 index 0000000..6264ca4 --- /dev/null +++ b/config/migrations/2023/20230824160000-related-organizations/20230824160500-founding-members.sparql @@ -0,0 +1,35 @@ +PREFIX skos: +PREFIX org: +PREFIX mu: + +DELETE { + GRAPH ?g { + ?foundingOrg ?foundedOrg. + } +} +INSERT { + GRAPH ?g { + ?foundingOrg org:memberOf ?foundedOrg. + + ?membership + a org:Membership; + mu:uuid ?uuid; + org:organization ?foundedOrg; + org:member ?foundingOrg; + org:role . + } +} +WHERE { + VALUES ?g { + + + + } + + GRAPH ?g { + ?foundingOrg ?foundedOrg. + } + + BIND(SHA1(CONCAT(STR(?foundingOrg), STR(?foundedOrg), "founded by")) as ?uuid) + BIND(IRI(CONCAT("http://data.lblod.info/id/lidmaatschap/", ?uuid)) AS ?membership) +} \ No newline at end of file diff --git a/config/resources/domain.json b/config/resources/domain.json index fb55143..278af59 100644 --- a/config/resources/domain.json +++ b/config/resources/domain.json @@ -462,17 +462,6 @@ "cardinality": "one", "inverse": true }, - "founded-organizations": { - "predicate": "ext:isFounderOfOrganization", - "target": "organizations", - "cardinality": "many" - }, - "was-founded-by-organizations": { - "predicate": "ext:isFounderOfOrganization", - "target": "organizations", - "cardinality": "many", - "inverse": true - }, "memberships-of-organizations": { "predicate": "org:member", "target": "memberships",