diff --git a/.gitignore b/.gitignore
index d6b6a17..3f398c9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,4 +1,5 @@
# Virtuoso files /data/db
+/data/db.bck/**
/data/db/*
!/data/db/virtuoso.ini
!/data/db/toLoad
diff --git a/config/authorization/config.ex b/config/authorization/config.ex
index e52cb73..30364c4 100644
--- a/config/authorization/config.ex
+++ b/config/authorization/config.ex
@@ -8,70 +8,86 @@ alias Acl.GroupSpec.GraphCleanup, as: GraphCleanup
defmodule Acl.UserGroups.Config do
- @error_type [
- "https://docs.oasis-open-projects.org/oslc-op/core/v3.0/os/core-vocab.html#Error"
- ]
+ @error_type [
+ "https://docs.oasis-open-projects.org/oslc-op/core/v3.0/os/core-vocab.html#Error"
+ ]
- @protected_resource_type [
- "http://www.w3.org/ns/org#Organization",
- "http://data.vlaanderen.be/ns/besluit#Besluit",
- "https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit",
- "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
+ @worship_type [
+ "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
"http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"http://data.lblod.info/vocabularies/erediensten/EredienstBestuurseenheid",
- "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
- "https://data.vlaanderen.be/ns/persoon#Geboorte",
- "http://mu.semte.ch/vocabularies/ext/GeslachtCode",
"http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
- "http://www.w3.org/ns/adms#Identifier",
- "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
- "http://www.w3.org/ns/org#ChangeEvent",
"http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren",
- "http://www.w3.org/ns/prov#Location",
- "http://www.w3.org/ns/org#Site",
- "http://www.w3.org/ns/locn#Address",
- "http://www.w3.org/ns/person#Person",
- "http://data.vlaanderen.be/ns/mandaat#Mandaat",
- "http://data.vlaanderen.be/ns/mandaat#Mandataris",
- "http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode",
- "http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
- "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
- "http://schema.org/ContactPoint",
- "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
+ ]
+
+ @public_type [
"http://www.w3.org/ns/org#Role",
- "http://www.w3.org/ns/org#Post",
- "http://data.lblod.info/vocabularies/contacthub/AgentInPositie",
+ "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
+ "http://xmlns.com/foaf/0.1/Person",
+ "http://xmlns.com/foaf/0.1/OnlineAccount",
+ "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
+ "http://www.w3.org/ns/dcat#Dataset",
+ "http://www.w3.org/ns/dcat#Distribution",
+ "http://www.w3.org/ns/dcat#Catalog",
+ "http://mu.semte.ch/vocabularies/ext/GeslachtCode",
+ "http://data.lblod.info/vocabularies/leidinggevenden/FunctionarisStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
- "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
- "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
- "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
- "http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat",
"http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
+ "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
+ "http://www.w3.org/2004/02/skos/core#ConceptScheme",
+ "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
+ "http://www.w3.org/2004/02/skos/core#Concept",
+ "http://publications.europa.eu/ontology/euvoc#Country",
+ "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
+ "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
+ "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
"http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
"http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
- "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
- "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
- "http://lblod.data.gift/vocabularies/organisatie/Rechtsvormtype",
- "http://www.w3.org/2004/02/skos/core#ConceptScheme",
- "http://www.w3.org/2004/02/skos/core#Concept",
+ "http://lblod.data.gift/vocabularies/organisatie/Rechtsvormtype"
+ ]
+
+ @org_type [
+ "http://www.w3.org/ns/org#Organization",
+ "http://data.vlaanderen.be/ns/besluit#Besluit",
+ "https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit",
+ "http://www.w3.org/ns/org#Site",
+ "http://www.w3.org/ns/locn#Address",
+ "http://www.w3.org/ns/person#Person",
+ "http://schema.org/ContactPoint",
+ "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
+ "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
+ "http://www.w3.org/ns/adms#Identifier",
+ "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
+ "http://data.vlaanderen.be/ns/mandaat#Mandaat",
+ "http://data.vlaanderen.be/ns/mandaat#Mandataris",
+ "http://data.lblod.info/vocabularies/leidinggevenden/Functionaris",
+ "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
+ "http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat",
+ "http://www.w3.org/ns/org#Post",
+ "http://www.w3.org/ns/org#ChangeEvent",
+ "http://data.lblod.info/vocabularies/contacthub/AgentInPositie"
+ ]
+
+ @shared_protected_type [
+ "http://www.w3.org/ns/prov#Location",
"http://xmlns.com/foaf/0.1/Image",
- "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
- "http://publications.europa.eu/ontology/euvoc#Country"
- ]
+ "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject"
+ ]
+
defp access_by_role( group_string ) do
%AccessByQuery{
# vars: ["session_group","session_role"], todo we might have to create multiple graph depending on role
- vars: [],
+ vars: [],
query: sparql_query_for_access_role( group_string ) }
end
@@ -80,48 +96,88 @@ defmodule Acl.UserGroups.Config do
PREFIX mu:
SELECT distinct ?session_group ?session_role WHERE {
ext:sessionGroup/mu:uuid ?session_group;
- ext:sessionRole ?session_role.
+ ext:activeSessionRole ?session_role.
FILTER( ?session_role = \"#{group_string}\" )
}"
end
def user_groups do
[
- %GroupSpec{
+
+ %GroupSpec{
name: "acmidm-lezer",
useage: [:read],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-lezer" ),
graphs: [
%GraphSpec{
- graph: "http://mu.semte.ch/graphs/organisatieportaal",
+ graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
- resource_types: @protected_resource_type
+ resource_types: @org_type
}
}
]
},
- %GroupSpec{
+ %GroupSpec{
name: "acmidm-editeerder",
useage: [:read, :write, :read_for_write],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-editeerder" ),
graphs: [
%GraphSpec{
- graph: "http://mu.semte.ch/graphs/organisatieportaal",
+ graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
- resource_types: @protected_resource_type ++ @error_type
+ resource_types: @org_type ++ @error_type
}
}
]
},
- %GroupSpec{
+ %GroupSpec{
name: "acmidm-beheerder",
useage: [:read, :write, :read_for_write],
access: access_by_role( "ABBOrganisatiePortaalGebruiker-beheerder" ),
graphs: [
%GraphSpec{
- graph: "http://mu.semte.ch/graphs/organisatieportaal",
+ graph: "http://mu.semte.ch/graphs/administrative-unit",
constraint: %ResourceConstraint{
- resource_types: @protected_resource_type ++ @error_type
+ resource_types: @org_type ++ @error_type
+ }
+ }
+ ]
+ },
+ %GroupSpec{
+ name: "acmidm-worship-lezer",
+ useage: [:read],
+ access: access_by_role( "ABBOrganisatiePortaalErediensten-lezer" ),
+ graphs: [
+ %GraphSpec{
+ graph: "http://mu.semte.ch/graphs/worship-service",
+ constraint: %ResourceConstraint{
+ resource_types: @org_type ++ @worship_type
+ }
+ }
+ ]
+ },
+ %GroupSpec{
+ name: "acmidm-worship-editeerder",
+ useage: [:read, :write, :read_for_write],
+ access: access_by_role( "ABBOrganisatiePortaalErediensten-editeerder" ),
+ graphs: [
+ %GraphSpec{
+ graph: "http://mu.semte.ch/graphs/worship-service",
+ constraint: %ResourceConstraint{
+ resource_types: @org_type ++ @error_type ++ @worship_type
+ }
+ }
+ ]
+ },
+ %GroupSpec{
+ name: "acmidm-worship-beheerder",
+ useage: [:read, :write, :read_for_write],
+ access: access_by_role( "ABBOrganisatiePortaalErediensten-beheerder" ),
+ graphs: [
+ %GraphSpec{
+ graph: "http://mu.semte.ch/graphs/worship-service",
+ constraint: %ResourceConstraint{
+ resource_types: @org_type ++ @error_type ++ @worship_type
}
}
]
@@ -130,19 +186,21 @@ defmodule Acl.UserGroups.Config do
name: "public",
useage: [:read],
access: %AlwaysAccessible{},
- graphs: [ %GraphSpec{
- graph: "http://mu.semte.ch/graphs/public", # mock login only
+ graphs: [
+ %GraphSpec{
+ graph: "http://mu.semte.ch/graphs/public",
constraint: %ResourceConstraint{
- resource_types: [
- "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
- "http://xmlns.com/foaf/0.1/Person",
- "http://xmlns.com/foaf/0.1/OnlineAccount",
- "http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
- "http://www.w3.org/ns/dcat#Dataset",
- "http://www.w3.org/ns/dcat#Distribution",
- "http://www.w3.org/ns/dcat#Catalog"
- ]
- } }]},
+ resource_types: @public_type
+ }
+ },
+ %GraphSpec{
+ graph: "http://mu.semte.ch/graphs/shared",
+ constraint: %ResourceConstraint{
+ resource_types: @shared_protected_type ++ @org_type
+ }
+ }
+
+ ]},
# // CLEANUP
#
diff --git a/config/delta-producer/dump-file-publisher/config.json b/config/delta-producer/dump-file-publisher/config.json
index a73ccad..42c183f 100644
--- a/config/delta-producer/dump-file-publisher/config.json
+++ b/config/delta-producer/dump-file-publisher/config.json
@@ -31,7 +31,7 @@
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
- "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/worship-posts" : {
+ "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/worship-posts": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/WorshipPostsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/worship-posts",
"fileBaseName": "dump-worship-posts",
@@ -39,7 +39,7 @@
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
- "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts" : {
+ "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/WorshipPostsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/worship-posts",
"fileBaseName": "dump-worship-posts",
diff --git a/config/delta-producer/organizations/export.json b/config/delta-producer/organizations/export.json
index bb86cfb..510c48b 100644
--- a/config/delta-producer/organizations/export.json
+++ b/config/delta-producer/organizations/export.json
@@ -3,9 +3,11 @@
{
"type": "http://www.w3.org/ns/person#Person",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
- "properties": [
+ "properties": [
"http://xmlns.com/foaf/0.1/givenName",
"http://xmlns.com/foaf/0.1/familyName",
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam",
@@ -16,7 +18,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -26,7 +28,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
"strictTypeExport": "true",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/shared"
],
"properties": [
"http://data.lblod.info/vocabularies/contacthub/startdatum",
@@ -46,7 +49,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -55,7 +58,8 @@
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://schema.org/email",
@@ -67,7 +71,9 @@
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://www.w3.org/ns/org#role",
@@ -78,7 +84,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -87,7 +93,7 @@
{
"type": "http://www.w3.org/ns/org#Role",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -96,7 +102,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -105,7 +111,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -115,7 +121,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
@@ -142,7 +149,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
@@ -166,7 +174,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"strictTypeExport": "true",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
@@ -187,7 +196,9 @@
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
@@ -201,7 +212,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -210,7 +221,8 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/financieringspercentage",
@@ -221,7 +233,9 @@
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/administrative-unit",
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#notation",
@@ -231,7 +245,9 @@
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/administrative-unit",
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
@@ -240,7 +256,9 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
@@ -258,7 +276,8 @@
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://www.w3.org/ns/org#siteAddress",
@@ -269,7 +288,8 @@
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://purl.org/dc/terms/date",
@@ -282,7 +302,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -291,7 +311,7 @@
{
"type": "http://www.w3.org/2004/02/skos/core#Concept",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -300,7 +320,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -309,16 +329,17 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
- "type": "http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
+ "type": "http://data.lblod.info/vocabularies/erediensten/RolBedienaar",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/contacthub/startdatum",
@@ -333,26 +354,30 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/voldaan",
"http://data.lblod.info/vocabularies/erediensten/criterium",
"http://data.lblod.info/vocabularies/erediensten/criteriumbewijsstuktype"
]
- },{
+ },
+ {
"type": "http://publications.europa.eu/ontology/euvoc#Country",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2000/01/rdf-schema#label"
]
- },{
+ },
+ {
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://www.w3.org/ns/org#role",
@@ -364,7 +389,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -373,7 +398,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -382,7 +407,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -391,7 +416,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -400,7 +425,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
diff --git a/config/delta-producer/public/export.json b/config/delta-producer/public/export.json
index 49d2931..2cbfa05 100644
--- a/config/delta-producer/public/export.json
+++ b/config/delta-producer/public/export.json
@@ -5,7 +5,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
@@ -36,7 +37,8 @@
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
@@ -63,13 +65,13 @@
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
-
],
"properties": [
"http://www.w3.org/ns/org#siteAddress",
@@ -80,14 +82,14 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"^http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
-
],
"properties": [
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
@@ -105,7 +107,9 @@
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#siteAddress",
@@ -122,13 +126,14 @@
"http://xmlns.com/foaf/0.1/page",
"http://schema.org/email",
"http://schema.org/telephone"
-
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/adms#identifier",
@@ -143,7 +148,9 @@
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"^https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator",
@@ -158,7 +165,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -171,7 +178,9 @@
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
@@ -188,7 +197,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -200,7 +209,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -212,7 +221,9 @@
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service",
+ "http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"http://data.lblod.info/vocabularies/contacthub/typeWijziging",
@@ -233,7 +244,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -245,7 +256,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -257,7 +268,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
diff --git a/config/delta-producer/worship-posts/export.json b/config/delta-producer/worship-posts/export.json
index 83a173d..ef2656a 100644
--- a/config/delta-producer/worship-posts/export.json
+++ b/config/delta-producer/worship-posts/export.json
@@ -3,7 +3,8 @@
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -14,7 +15,8 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -32,7 +34,8 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -49,7 +52,9 @@
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/administrative-unit",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -67,7 +72,8 @@
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -84,7 +90,8 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -95,7 +102,8 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -106,7 +114,8 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -122,7 +131,8 @@
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -133,7 +143,8 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/shared",
+ "http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -150,7 +161,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -161,7 +172,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -172,7 +183,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -182,7 +193,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -192,7 +203,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -202,7 +213,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -212,7 +223,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -222,7 +233,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -232,7 +243,7 @@
{
"type": "http://mu.semte.ch/vocabularies/ext/GeslachtCode",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -242,7 +253,7 @@
{
"type": "http://publications.europa.eu/ontology/euvoc#Country",
"graphsFilter": [
- "http://mu.semte.ch/graphs/organisatieportaal"
+ "http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
diff --git a/config/delta/rules.js b/config/delta/rules.js
index 2b2899f..6d9ffc6 100644
--- a/config/delta/rules.js
+++ b/config/delta/rules.js
@@ -3,7 +3,7 @@ export default [
match: {
graph: {
type: "uri",
- value: "http://mu.semte.ch/graphs/organisatieportaal"
+ value: "http://mu.semte.ch/graphs/administrative-unit"
}
},
callback: {
@@ -20,7 +20,25 @@ export default [
match: {
graph: {
type: "uri",
- value: "http://mu.semte.ch/graphs/organisatieportaal"
+ value: "http://mu.semte.ch/graphs/worship-service"
+ }
+ },
+ callback: {
+ url: 'http://search/update',
+ method: 'POST'
+ },
+ options: {
+ resourceFormat: "v0.0.1",
+ gracePeriod: 10000,
+ ignoreFromSelf: true
+ }
+ },
+
+ {
+ match: {
+ graph: {
+ type: "uri",
+ value: "http://mu.semte.ch/graphs/administrative-unit"
}
},
callback: {
@@ -33,6 +51,25 @@ export default [
ignoreFromSelf: true
}
},
+
+ {
+ match: {
+ graph: {
+ type: "uri",
+ value: "http://mu.semte.ch/graphs/worship-service"
+ }
+ },
+ callback: {
+ url: 'http://resource/.mu/delta',
+ method: 'POST'
+ },
+ options: {
+ resourceFormat: "v0.0.1",
+ gracePeriod: 250,
+ ignoreFromSelf: true
+ }
+ },
+
{
match: {
predicate: {
@@ -48,7 +85,7 @@ export default [
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
- optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
+ optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
{
@@ -63,9 +100,9 @@ export default [
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
- "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
- "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
- ]
+ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
+ "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
+ ]
}
},
{
@@ -83,7 +120,7 @@ export default [
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
- optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
+ optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
{
@@ -98,9 +135,9 @@ export default [
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
- "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
- "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
- ]
+ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
+ "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
+ ]
}
},
{
@@ -118,7 +155,7 @@ export default [
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
- optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
+ optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
{
@@ -133,9 +170,9 @@ export default [
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
- "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
- "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
- ]
+ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
+ "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
+ ]
}
},
{
@@ -153,7 +190,7 @@ export default [
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
- optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
+ optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
{
@@ -169,9 +206,9 @@ export default [
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
- "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
- "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
- ]
+ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
+ "http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
+ ]
}
},
{
@@ -193,7 +230,7 @@ export default [
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
- optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
+ optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
}
]
diff --git a/config/dispatcher/dispatcher.ex b/config/dispatcher/dispatcher.ex
index 7f5dbb7..e72e468 100644
--- a/config/dispatcher/dispatcher.ex
+++ b/config/dispatcher/dispatcher.ex
@@ -225,6 +225,9 @@ defmodule Dispatcher do
match "/accounts/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://accountdetail/accounts/"
end
+ match "/active-role/*path", %{ accept: [:json], layer: :api} do
+ Proxy.forward conn, path, "http://roles/"
+ end
match "/groups/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://resource/groups/"
end
@@ -262,20 +265,36 @@ defmodule Dispatcher do
forward conn, path, "http://adressenregister/"
end
+ match "/worship/person-information-updates/*path", %{ layer: :api_services, accept: %{ json: true } } do
+ forward conn, path, "http://privacy-worship/person-information-updates"
+ end
+
+ match "/worship/person-information-requests/*path", %{ layer: :api_services, accept: %{ json: true } } do
+ forward conn, path, "http://privacy-worship/person-information-requests"
+ end
+
+ match "/worship/person-information-ask/*path", %{ layer: :api_services, accept: %{ json: true } } do
+ forward conn, path, "http://privacy-worship/person-information-ask/"
+ end
+
+ match "/worship/person-information-validate-ssn/*path", %{ layer: :api_services, accept: %{ json: true } } do
+ forward conn, path, "http://privacy-worship/person-information-validate-ssn/"
+ end
+
match "/person-information-updates/*path", %{ layer: :api_services, accept: %{ json: true } } do
- forward conn, path, "http://privacy/person-information-updates"
+ forward conn, path, "http://privacy-unit/person-information-updates"
end
match "/person-information-requests/*path", %{ layer: :api_services, accept: %{ json: true } } do
- forward conn, path, "http://privacy/person-information-requests"
+ forward conn, path, "http://privacy-unit/person-information-requests"
end
match "/person-information-ask/*path", %{ layer: :api_services, accept: %{ json: true } } do
- forward conn, path, "http://privacy/person-information-ask/"
+ forward conn, path, "http://privacy-unit/person-information-ask/"
end
match "/person-information-validate-ssn/*path", %{ layer: :api_services, accept: %{ json: true } } do
- forward conn, path, "http://privacy/person-information-validate-ssn/"
+ forward conn, path, "http://privacy-unit/person-information-validate-ssn/"
end
get "/uri-info/*path", %{ layer: :api_services, accept: %{ json: true } } do
diff --git a/config/loket-consumer/leidinggevenden-dispatching/config.js b/config/loket-consumer/leidinggevenden-dispatching/config.js
index e280733..2afb525 100644
--- a/config/loket-consumer/leidinggevenden-dispatching/config.js
+++ b/config/loket-consumer/leidinggevenden-dispatching/config.js
@@ -7,7 +7,7 @@ const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_AT
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
-const INGEST_GRAPH = process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/organisatieportaal`;
+const INGEST_GRAPH = process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/administrative-unit`;
if (!process.env.FILE_SYNC_GRAPH)
@@ -26,4 +26,4 @@ module.exports = {
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/leidinggevenden-dispatching/delta-sync-dispatching.js b/config/loket-consumer/leidinggevenden-dispatching/delta-sync-dispatching.js
index c8d8ba1..669895b 100644
--- a/config/loket-consumer/leidinggevenden-dispatching/delta-sync-dispatching.js
+++ b/config/loket-consumer/leidinggevenden-dispatching/delta-sync-dispatching.js
@@ -1,13 +1,10 @@
-const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
-const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
- DIRECT_DATABASE_ENDPOINT,
- MU_CALL_SCOPE_ID_INITIAL_SYNC,
+const { transformStatements, batchedDbUpdate, deleteFromAllGraphs } = require('./util');
+const {
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
- INGEST_GRAPH,
- FILE_SYNC_GRAPH
+ INGEST_GRAPH
} = require('./config');
/**
@@ -34,43 +31,40 @@ async function dispatch(lib, data) {
const insertStatements = inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
if (deleteStatements.length) {
- await transformStatements(fetch, deleteStatements).then(
- transformedStatements => {
- deleteFromAllGraphs(
- muAuthSudo.updateSudo,
- transformedStatements,
- { 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
- process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
- MAX_DB_RETRY_ATTEMPTS,
- SLEEP_BETWEEN_BATCHES,
- SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
- );
- }
- )
+ const transformedStatementsToDelete = await transformStatements(fetch, deleteStatements);
+ if (transformedStatementsToDelete.length) {
+ await deleteFromAllGraphs(
+ muAuthSudo.updateSudo,
+ transformedStatementsToDelete,
+ { 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
+ process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
+ MAX_DB_RETRY_ATTEMPTS,
+ SLEEP_BETWEEN_BATCHES,
+ SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
+ );
+ }
}
-
if (insertStatements.length) {
- await transformStatements(fetch, insertStatements).then(
- transformedStatements => {
- batchedDbUpdate(
- muAuthSudo.updateSudo,
- INGEST_GRAPH,
- transformedStatements,
- { 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
- process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
- BATCH_SIZE,
- MAX_DB_RETRY_ATTEMPTS,
- SLEEP_BETWEEN_BATCHES,
- SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
- "INSERT"
- );
- }
- )
+ const transformedStatementsToInsert = await transformStatements(fetch, insertStatements);
+ if (transformedStatementsToInsert.length) {
+ await batchedDbUpdate(
+ muAuthSudo.updateSudo,
+ INGEST_GRAPH,
+ transformedStatementsToInsert,
+ { 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
+ process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
+ BATCH_SIZE,
+ MAX_DB_RETRY_ATTEMPTS,
+ SLEEP_BETWEEN_BATCHES,
+ SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
+ "INSERT"
+ );
+ }
}
}
}
module.exports = {
dispatch
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/leidinggevenden-dispatching/initial-sync-dispatching.js b/config/loket-consumer/leidinggevenden-dispatching/initial-sync-dispatching.js
index 88017c1..7967073 100644
--- a/config/loket-consumer/leidinggevenden-dispatching/initial-sync-dispatching.js
+++ b/config/loket-consumer/leidinggevenden-dispatching/initial-sync-dispatching.js
@@ -1,4 +1,4 @@
-const { transformStatements, batchedDbUpdate, partition } = require('./util');
+const { transformStatements, batchedDbUpdate } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
@@ -6,8 +6,7 @@ const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
- INGEST_GRAPH,
- FILE_SYNC_GRAPH
+ INGEST_GRAPH
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
@@ -36,24 +35,23 @@ async function dispatch(lib, data) {
if (termObjects.length) {
originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`)
- await transformStatements(fetch, originalInsertTriples).then(
- transformedInsertTriples => {
- batchedDbUpdate(
- muAuthSudo.updateSudo,
- INGEST_GRAPH,
- transformedInsertTriples,
- { 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
- endpoint,
- BATCH_SIZE,
- MAX_DB_RETRY_ATTEMPTS,
- SLEEP_BETWEEN_BATCHES,
- SLEEP_TIME_AFTER_FAILED_DB_OPERATION
- )
- }
- )
+ const transformedStatementsToInsert = await transformStatements(fetch, originalInsertTriples);
+ if (transformedStatementsToInsert.length) {
+ await batchedDbUpdate(
+ muAuthSudo.updateSudo,
+ INGEST_GRAPH,
+ transformedStatementsToInsert,
+ { 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
+ endpoint,
+ BATCH_SIZE,
+ MAX_DB_RETRY_ATTEMPTS,
+ SLEEP_BETWEEN_BATCHES,
+ SLEEP_TIME_AFTER_FAILED_DB_OPERATION
+ );
+ }
}
}
module.exports = {
dispatch
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/leidinggevenden-dispatching/util.js b/config/loket-consumer/leidinggevenden-dispatching/util.js
index ff3932f..bdf477b 100644
--- a/config/loket-consumer/leidinggevenden-dispatching/util.js
+++ b/config/loket-consumer/leidinggevenden-dispatching/util.js
@@ -150,4 +150,4 @@ module.exports = {
deleteFromAllGraphs,
partition,
transformStatements
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/mandate-dispatching/config.js b/config/loket-consumer/mandate-dispatching/config.js
index e280733..2afb525 100644
--- a/config/loket-consumer/mandate-dispatching/config.js
+++ b/config/loket-consumer/mandate-dispatching/config.js
@@ -7,7 +7,7 @@ const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_AT
const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
-const INGEST_GRAPH = process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/organisatieportaal`;
+const INGEST_GRAPH = process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/administrative-unit`;
if (!process.env.FILE_SYNC_GRAPH)
@@ -26,4 +26,4 @@ module.exports = {
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/mandate-dispatching/delta-sync-dispatching.js b/config/loket-consumer/mandate-dispatching/delta-sync-dispatching.js
index c8d8ba1..669895b 100644
--- a/config/loket-consumer/mandate-dispatching/delta-sync-dispatching.js
+++ b/config/loket-consumer/mandate-dispatching/delta-sync-dispatching.js
@@ -1,13 +1,10 @@
-const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
-const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
- DIRECT_DATABASE_ENDPOINT,
- MU_CALL_SCOPE_ID_INITIAL_SYNC,
+const { transformStatements, batchedDbUpdate, deleteFromAllGraphs } = require('./util');
+const {
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
- INGEST_GRAPH,
- FILE_SYNC_GRAPH
+ INGEST_GRAPH
} = require('./config');
/**
@@ -34,43 +31,40 @@ async function dispatch(lib, data) {
const insertStatements = inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
if (deleteStatements.length) {
- await transformStatements(fetch, deleteStatements).then(
- transformedStatements => {
- deleteFromAllGraphs(
- muAuthSudo.updateSudo,
- transformedStatements,
- { 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
- process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
- MAX_DB_RETRY_ATTEMPTS,
- SLEEP_BETWEEN_BATCHES,
- SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
- );
- }
- )
+ const transformedStatementsToDelete = await transformStatements(fetch, deleteStatements);
+ if (transformedStatementsToDelete.length) {
+ await deleteFromAllGraphs(
+ muAuthSudo.updateSudo,
+ transformedStatementsToDelete,
+ { 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
+ process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
+ MAX_DB_RETRY_ATTEMPTS,
+ SLEEP_BETWEEN_BATCHES,
+ SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
+ );
+ }
}
-
if (insertStatements.length) {
- await transformStatements(fetch, insertStatements).then(
- transformedStatements => {
- batchedDbUpdate(
- muAuthSudo.updateSudo,
- INGEST_GRAPH,
- transformedStatements,
- { 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
- process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
- BATCH_SIZE,
- MAX_DB_RETRY_ATTEMPTS,
- SLEEP_BETWEEN_BATCHES,
- SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
- "INSERT"
- );
- }
- )
+ const transformedStatementsToInsert = await transformStatements(fetch, insertStatements);
+ if (transformedStatementsToInsert.length) {
+ await batchedDbUpdate(
+ muAuthSudo.updateSudo,
+ INGEST_GRAPH,
+ transformedStatementsToInsert,
+ { 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
+ process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
+ BATCH_SIZE,
+ MAX_DB_RETRY_ATTEMPTS,
+ SLEEP_BETWEEN_BATCHES,
+ SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
+ "INSERT"
+ );
+ }
}
}
}
module.exports = {
dispatch
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/mandate-dispatching/initial-sync-dispatching.js b/config/loket-consumer/mandate-dispatching/initial-sync-dispatching.js
index 88017c1..152abda 100644
--- a/config/loket-consumer/mandate-dispatching/initial-sync-dispatching.js
+++ b/config/loket-consumer/mandate-dispatching/initial-sync-dispatching.js
@@ -1,4 +1,4 @@
-const { transformStatements, batchedDbUpdate, partition } = require('./util');
+const { transformStatements, batchedDbUpdate } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
@@ -6,8 +6,7 @@ const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
- INGEST_GRAPH,
- FILE_SYNC_GRAPH
+ INGEST_GRAPH
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
@@ -36,24 +35,23 @@ async function dispatch(lib, data) {
if (termObjects.length) {
originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`)
- await transformStatements(fetch, originalInsertTriples).then(
- transformedInsertTriples => {
- batchedDbUpdate(
- muAuthSudo.updateSudo,
- INGEST_GRAPH,
- transformedInsertTriples,
- { 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
- endpoint,
- BATCH_SIZE,
- MAX_DB_RETRY_ATTEMPTS,
- SLEEP_BETWEEN_BATCHES,
- SLEEP_TIME_AFTER_FAILED_DB_OPERATION
- )
- }
- )
+ const transformedStatementsToInsert = await transformStatements(fetch, originalInsertTriples);
+ if (transformedStatementsToInsert.length) {
+ await batchedDbUpdate(
+ muAuthSudo.updateSudo,
+ INGEST_GRAPH,
+ transformedStatementsToInsert,
+ { 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
+ endpoint,
+ BATCH_SIZE,
+ MAX_DB_RETRY_ATTEMPTS,
+ SLEEP_BETWEEN_BATCHES,
+ SLEEP_TIME_AFTER_FAILED_DB_OPERATION
+ )
+ }
}
}
module.exports = {
dispatch
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/mandate-dispatching/util.js b/config/loket-consumer/mandate-dispatching/util.js
index ff3932f..bdf477b 100644
--- a/config/loket-consumer/mandate-dispatching/util.js
+++ b/config/loket-consumer/mandate-dispatching/util.js
@@ -150,4 +150,4 @@ module.exports = {
deleteFromAllGraphs,
partition,
transformStatements
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/positions-dispatching/config.js b/config/loket-consumer/positions-dispatching/config.js
index 911277b..ab34eca 100644
--- a/config/loket-consumer/positions-dispatching/config.js
+++ b/config/loket-consumer/positions-dispatching/config.js
@@ -1,18 +1,32 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 100;
-const MU_CALL_SCOPE_ID_INITIAL_SYNC = process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC || 'http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync';
-const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES = process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == 'true' ? true : false;
-const DIRECT_DATABASE_ENDPOINT = process.env.DIRECT_DATABASE_ENDPOINT || 'http://virtuoso:8890/sparql';
+const MU_CALL_SCOPE_ID_INITIAL_SYNC =
+ process.env.MU_CALL_SCOPE_ID_INITIAL_SYNC ||
+ "http://redpencil.data.gift/id/concept/muScope/deltas/consumer/initialSync";
+const BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES =
+ process.env.BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES == "true" ? true : false;
+const DIRECT_DATABASE_ENDPOINT =
+ process.env.DIRECT_DATABASE_ENDPOINT || "http://virtuoso:8890/sparql";
const MAX_DB_RETRY_ATTEMPTS = parseInt(process.env.MAX_DB_RETRY_ATTEMPTS || 5);
-const MAX_REASONING_RETRY_ATTEMPTS = parseInt(process.env.MAX_REASONING_RETRY_ATTEMPTS || 5);
-const SLEEP_BETWEEN_BATCHES = parseInt(process.env.SLEEP_BETWEEN_BATCHES || 1000);
-const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000);
-const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000);
-const INGEST_GRAPH = process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/organisatieportaal`;
-const PRIVACY_SENSITIVE_GRAPH = process.env.PRIVACY_SENSITIVE_GRAPH || `http://mu.semte.ch/graphs/privacy-centric-graph`;
-const UNFILTERED_MAPPING = 'main';
-const MAIN_INFO_MAPPING = 'main-info';
-const PRIVATE_INFO_MAPPING = 'private-info';
-
+const MAX_REASONING_RETRY_ATTEMPTS = parseInt(
+ process.env.MAX_REASONING_RETRY_ATTEMPTS || 5
+);
+const SLEEP_BETWEEN_BATCHES = parseInt(
+ process.env.SLEEP_BETWEEN_BATCHES || 1000
+);
+const SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION = parseInt(
+ process.env.SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION || 10000
+);
+const SLEEP_TIME_AFTER_FAILED_DB_OPERATION = parseInt(
+ process.env.SLEEP_TIME_AFTER_FAILED_DB_OPERATION || 60000
+);
+const INGEST_GRAPH =
+ process.env.INGEST_GRAPH || `http://mu.semte.ch/graphs/worship-service`;
+const PRIVACY_SENSITIVE_GRAPH =
+ process.env.PRIVACY_SENSITIVE_GRAPH ||
+ `http://mu.semte.ch/graphs/worship-privacy-centric-graph`;
+const UNFILTERED_MAPPING = "main";
+const MAIN_INFO_MAPPING = "main-info";
+const PRIVATE_INFO_MAPPING = "private-info";
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
@@ -33,4 +47,5 @@ module.exports = {
UNFILTERED_MAPPING,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING,
-};
\ No newline at end of file
+ FILE_SYNC_GRAPH,
+};
diff --git a/config/loket-consumer/positions-dispatching/delta-sync-dispatching.js b/config/loket-consumer/positions-dispatching/delta-sync-dispatching.js
index d826b2e..5384005 100644
--- a/config/loket-consumer/positions-dispatching/delta-sync-dispatching.js
+++ b/config/loket-consumer/positions-dispatching/delta-sync-dispatching.js
@@ -1,4 +1,4 @@
-const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
+const { transformStatements, batchedDbUpdate, deleteFromAllGraphs } = require('./util');
const {
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
@@ -72,7 +72,7 @@ async function dispatch(lib, data) {
PRIVACY_SENSITIVE_GRAPH,
transformedStatementsToInsertPrivate,
{ 'mu-call-scope-id': 'http://redpencil.data.gift/id/concept/muScope/deltas/write-for-dispatch' },
- process.env.MU_SPARQL_ENDPOINT, //Note: this is the default endpoint through auth
+ process.env.MU_SPARQL_ENDPOINT, // Note: this is the default endpoint through auth
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
@@ -85,4 +85,4 @@ async function dispatch(lib, data) {
module.exports = {
dispatch
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/positions-dispatching/initial-sync-dispatching.js b/config/loket-consumer/positions-dispatching/initial-sync-dispatching.js
index f5fedc8..86f34b7 100644
--- a/config/loket-consumer/positions-dispatching/initial-sync-dispatching.js
+++ b/config/loket-consumer/positions-dispatching/initial-sync-dispatching.js
@@ -38,43 +38,38 @@ async function dispatch(lib, data) {
if (termObjects.length) {
originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`)
- await transformStatements(fetch, originalInsertTriples, MAIN_INFO_MAPPING).then(
- transformedInsertTriples => {
- if (transformedInsertTriples.length) {
- batchedDbUpdate(
- muAuthSudo.updateSudo,
- INGEST_GRAPH,
- transformedInsertTriples,
- { 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
- endpoint,
- BATCH_SIZE,
- MAX_DB_RETRY_ATTEMPTS,
- SLEEP_BETWEEN_BATCHES,
- SLEEP_TIME_AFTER_FAILED_DB_OPERATION
- )
- }
- }
- );
- await transformStatements(fetch, originalInsertTriples, PRIVATE_INFO_MAPPING).then(
- transformedInsertTriples => {
- if (transformedInsertTriples.length) {
- batchedDbUpdate(
- muAuthSudo.updateSudo,
- PRIVACY_SENSITIVE_GRAPH,
- transformedInsertTriples,
- { 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
- endpoint,
- BATCH_SIZE,
- MAX_DB_RETRY_ATTEMPTS,
- SLEEP_BETWEEN_BATCHES,
- SLEEP_TIME_AFTER_FAILED_DB_OPERATION
- )
- }
- }
- );
+ const transformedStatementsToInsert = await transformStatements(fetch, originalInsertTriples, MAIN_INFO_MAPPING);
+ if (transformedStatementsToInsert.length) {
+ await batchedDbUpdate(
+ muAuthSudo.updateSudo,
+ INGEST_GRAPH,
+ transformedStatementsToInsert,
+ { 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
+ endpoint,
+ BATCH_SIZE,
+ MAX_DB_RETRY_ATTEMPTS,
+ SLEEP_BETWEEN_BATCHES,
+ SLEEP_TIME_AFTER_FAILED_DB_OPERATION
+ );
+ }
+
+ const transformedStatementsToInsertPrivate = await transformStatements(fetch, originalInsertTriples, PRIVATE_INFO_MAPPING);
+ if (transformedStatementsToInsertPrivate.length) {
+ await batchedDbUpdate(
+ muAuthSudo.updateSudo,
+ PRIVACY_SENSITIVE_GRAPH,
+ transformedStatementsToInsertPrivate,
+ { 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
+ endpoint,
+ BATCH_SIZE,
+ MAX_DB_RETRY_ATTEMPTS,
+ SLEEP_BETWEEN_BATCHES,
+ SLEEP_TIME_AFTER_FAILED_DB_OPERATION
+ );
+ }
}
}
module.exports = {
dispatch
-};
\ No newline at end of file
+};
diff --git a/config/loket-consumer/positions-dispatching/util.js b/config/loket-consumer/positions-dispatching/util.js
index ce38369..f6411a2 100644
--- a/config/loket-consumer/positions-dispatching/util.js
+++ b/config/loket-consumer/positions-dispatching/util.js
@@ -151,4 +151,4 @@ module.exports = {
deleteFromAllGraphs,
partition,
transformStatements
-};
\ No newline at end of file
+};
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132500-delete-elastic-index.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132500-delete-elastic-index.sparql
new file mode 100644
index 0000000..8d7e1b4
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132500-delete-elastic-index.sparql
@@ -0,0 +1 @@
+delete where { graph ?g{ ?s a ; ?p ?o } }
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132600-move-all-worship-types.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132600-move-all-worship-types.sparql
new file mode 100644
index 0000000..7a791af
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132600-move-all-worship-types.sparql
@@ -0,0 +1,44 @@
+PREFIX xsd:
+PREFIX mu:
+PREFIX persoon:
+PREFIX ext:
+PREFIX person:
+PREFIX session:
+PREFIX foaf:
+PREFIX besluit:
+PREFIX ere:
+PREFIX mandaat:
+PREFIX org:
+PREFIX generiek:
+
+
+DELETE {
+ GRAPH {
+ ?s ?p ?o
+ }
+}
+INSERT {
+ GRAPH {
+ ?s ?p ?o
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?s a ?type; ?p ?o.
+
+ filter (?type in (
+ ere:EredienstMandataris,
+ ere:BestuurVanDeEredienst,
+ ere:PositieBedienaar,
+ ere:BetrokkenLokaleBesturen,
+ ere:VerbondenJuridischeStructuren,
+ ere:RolBedienaar,
+ ere:EredienstBestuurseenheid,
+ ere:VoorwaardenBedienaar,
+ ere:CentraalBestuurVanDeEredienst,
+ ere:RepresentatiefOrgaan
+ ))
+
+ }
+}
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132601-move-all-worsip-governing-bodies.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132601-move-all-worsip-governing-bodies.sparql
new file mode 100644
index 0000000..ef16265
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132601-move-all-worsip-governing-bodies.sparql
@@ -0,0 +1,90 @@
+PREFIX xsd:
+PREFIX mu:
+PREFIX persoon:
+PREFIX ext:
+PREFIX person:
+PREFIX session:
+PREFIX foaf:
+PREFIX besluit:
+PREFIX ere:
+PREFIX mandaat:
+PREFIX org:
+PREFIX generiek:
+
+
+DELETE {
+ GRAPH {
+ ?governingBody ?p ?o.
+ }
+}
+INSERT {
+ GRAPH {
+ ?governingBody ?p ?o.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?governingBody ?post; ?p ?o.
+
+ filter exists {
+ GRAPH {
+ ?mandatories ?post.
+
+ }
+ }
+ }
+
+}
+
+;
+
+DELETE {
+ GRAPH {
+ ?specialization ?specializationP ?specializationO.
+ }
+}
+INSERT {
+ GRAPH {
+ ?specialization ?specializationP ?specializationO.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?specialization ?specializationP ?specializationO.
+
+ filter exists {
+ GRAPH {
+ ?governingBody generiek:isTijdspecialisatieVan ?specialization.
+ }
+ }
+ }
+
+}
+
+;
+
+DELETE {
+ GRAPH {
+ ?bestuur ?bestuurP ?bestuurO.
+ }
+}
+INSERT {
+ GRAPH {
+ ?bestuur ?bestuurP ?bestuurO.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?bestuur ?bestuurP ?bestuurO.
+ filter exists {
+ GRAPH {
+
+ ?specialization besluit:bestuurt ?bestuur.
+ }
+ }
+ }
+
+}
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132602-move-all-worsip-governing-bodies-2.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132602-move-all-worsip-governing-bodies-2.sparql
new file mode 100644
index 0000000..173d4dc
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132602-move-all-worsip-governing-bodies-2.sparql
@@ -0,0 +1,73 @@
+PREFIX xsd:
+PREFIX mu:
+PREFIX persoon:
+PREFIX ext:
+PREFIX person:
+PREFIX session:
+PREFIX foaf:
+PREFIX besluit:
+PREFIX ere:
+PREFIX mandaat:
+PREFIX org:
+PREFIX generiek:
+
+
+DELETE {
+ GRAPH {
+ ?governingBody ?p ?o.
+ }
+}
+INSERT {
+ GRAPH {
+ ?governingBody ?p ?o.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?governingBody
+ ?post; ?p ?o.
+
+ filter exists {
+ GRAPH {
+ ?mandatories ?post.
+
+ }
+ }
+ }
+
+}
+;
+
+
+DELETE {
+ GRAPH {
+ ?post a ?type;
+ mu:uuid ?uuid;
+ ?role.
+ }
+}
+INSERT {
+ GRAPH {
+ ?post a ?type; mu:uuid ?uuid;
+ ?role.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?post a ?type;
+ mu:uuid ?uuid;
+
+ ?role.
+
+ filter exists {
+ GRAPH {
+ ?mandatories ?post.
+
+ }
+ }
+ }
+
+}
+
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132603-move-all-worsip-governing-bodies-3.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132603-move-all-worsip-governing-bodies-3.sparql
new file mode 100644
index 0000000..e4ece33
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132603-move-all-worsip-governing-bodies-3.sparql
@@ -0,0 +1,93 @@
+PREFIX xsd:
+PREFIX mu:
+PREFIX persoon:
+PREFIX ext:
+PREFIX person:
+PREFIX session:
+PREFIX foaf:
+PREFIX besluit:
+PREFIX ere:
+PREFIX mandaat:
+PREFIX org:
+PREFIX generiek:
+
+
+DELETE {
+ GRAPH {
+ ?governingBody ?p ?o.
+ }
+}
+INSERT {
+ GRAPH {
+ ?governingBody ?p ?o.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?governingBody ?post; ?p ?o.
+
+ filter exists {
+ GRAPH {
+ ?mandatories ?post.
+
+ }
+ }
+ }
+
+}
+
+;
+
+DELETE {
+ GRAPH {
+ ?specialization ?specializationP ?specializationO.
+ }
+}
+INSERT {
+ GRAPH {
+ ?specialization ?specializationP ?specializationO.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?specialization ?specializationP ?specializationO.
+
+ filter exists {
+ GRAPH {
+ ?governingBody generiek:isTijdspecialisatieVan ?specialization.
+ }
+ }
+ }
+
+}
+
+;
+
+
+PREFIX besluit:
+
+DELETE {
+ GRAPH {
+ ?bestuur ?bestuurP ?bestuurO.
+ }
+}
+INSERT {
+ GRAPH {
+ ?bestuur ?bestuurP ?bestuurO.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?bestuur besluit:bestuurt ?s;?bestuurP ?bestuurO.
+ filter exists {
+ GRAPH {
+
+ ?s ?p ?o.
+ }
+ }
+ }
+
+}
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132604-move-bestrokken.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132604-move-bestrokken.sparql
new file mode 100644
index 0000000..62a10af
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132604-move-bestrokken.sparql
@@ -0,0 +1,36 @@
+PREFIX xsd:
+PREFIX mu:
+PREFIX persoon:
+PREFIX ext:
+PREFIX person:
+PREFIX session:
+PREFIX foaf:
+PREFIX besluit:
+PREFIX ere:
+PREFIX mandaat:
+PREFIX org:
+PREFIX generiek:
+
+
+DELETE {
+ GRAPH {
+ ?s ?bestrokke.
+ }
+}
+INSERT {
+ GRAPH {
+ ?s ?bestrokke.
+ }
+}
+
+WHERE {
+ GRAPH {
+
+ ?s ?bestrokke.
+
+ }
+
+}
+
+
+
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132605-move-all-worsip-change-events.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132605-move-all-worsip-change-events.sparql
new file mode 100644
index 0000000..b07ee2f
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132605-move-all-worsip-change-events.sparql
@@ -0,0 +1,87 @@
+PREFIX xsd:
+PREFIX mu:
+PREFIX persoon:
+PREFIX ext:
+PREFIX person:
+PREFIX session:
+PREFIX foaf:
+PREFIX besluit:
+PREFIX ere:
+PREFIX mandaat:
+PREFIX org:
+PREFIX generiek:
+
+
+DELETE {
+ GRAPH {
+ ?s ?p ?o.
+ }
+}
+INSERT {
+ GRAPH {
+ ?s ?p ?o.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?resultingOrganization a ?type.
+
+ }
+ GRAPH {
+
+ ?s ext:resultingOrganization ?resultingOrganization.
+ ?s ?p ?o.
+ }
+
+}
+;
+
+DELETE {
+ GRAPH {
+ ?s ?p ?o.
+ }
+}
+INSERT {
+ GRAPH {
+ ?s ?p ?o.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?resultingOrganization a ?type.
+
+ }
+ GRAPH {
+
+ ?s ?resultingOrganization.
+ ?s ?p ?o.
+ }
+
+}
+;
+DELETE {
+ GRAPH {
+ ?s ?p ?o.
+ }
+}
+INSERT {
+ GRAPH {
+ ?s ?p ?o.
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?resultingOrganization a ?type.
+
+ }
+ GRAPH {
+
+ ?s org:resultingOrganization ?resultingOrganization.
+ ?s ?p ?o.
+ }
+
+}
+
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132606-duplicate-person.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132606-duplicate-person.sparql
new file mode 100644
index 0000000..6ccb0ab
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132606-duplicate-person.sparql
@@ -0,0 +1,76 @@
+PREFIX xsd:
+PREFIX mu:
+PREFIX persoon:
+PREFIX ext:
+PREFIX person:
+PREFIX session:
+PREFIX foaf:
+PREFIX besluit:
+PREFIX ere:
+PREFIX mandaat:
+PREFIX org:
+PREFIX generiek:
+
+INSERT {
+ graph {
+ ?person a person:Person;
+ mu:uuid ?uuid;
+ foaf:givenName ?givenName;
+ foaf:familyName ?familyName;
+ ?isAangesteldAls;
+ persoon:gebruikteVoornaam ?firstNameUsed.
+ }
+
+}
+WHERE {
+ graph {
+ ?person a person:Person;
+ mu:uuid ?uuid;
+ foaf:givenName ?givenName;
+ foaf:familyName ?familyName.
+ optional {?person persoon:gebruikteVoornaam ?firstNameUsed. }
+ optional {?person ?isAangesteldAls.}
+
+ filter (exists
+ {
+ graph {
+ ?mandatories ?person.
+ }
+ }
+
+ || exists {
+ graph {
+ ?ministers ?person.
+ }
+ })
+
+ }
+}
+;
+
+# delete orphans
+DELETE {
+ graph {
+ ?person a person:Person;
+ foaf:givenName ?givenName;
+ foaf:familyName ?familyName;
+ ?isAangesteldAls;
+ persoon:gebruikteVoornaam ?firstNameUsed.
+ }
+
+}
+WHERE {
+ graph {
+ ?person a person:Person;
+ foaf:givenName ?givenName;
+ foaf:familyName ?familyName.
+ optional{?person persoon:gebruikteVoornaam ?firstNameUsed.}
+ optional {?person ?isAangesteldAls.}
+
+ FILTER((NOT EXISTS { ?mandatories ?person. })
+ && (NOT EXISTS { ?ministers ?person. }))
+
+ }
+}
+
+
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132607-move-shared-types.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132607-move-shared-types.sparql
new file mode 100644
index 0000000..1376169
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132607-move-shared-types.sparql
@@ -0,0 +1,290 @@
+PREFIX xsd:
+PREFIX mu:
+PREFIX persoon:
+PREFIX ext:
+PREFIX person:
+PREFIX session:
+PREFIX foaf:
+PREFIX besluit:
+PREFIX ere:
+PREFIX mandaat:
+PREFIX org:
+PREFIX generiek:
+PREFIX skos:
+PREFIX schema:
+PREFIX organisatie:
+PREFIX locn:
+# move geboorte to private graph
+
+DELETE {
+ GRAPH {
+ ?s ?p ?o
+ }
+}
+ INSERT {
+ GRAPH {
+ ?s ?p ?o
+ }
+}
+WHERE {
+
+ GRAPH {
+ ?s a ; ?p ?o.
+ }
+}
+
+;
+
+DELETE {
+ graph {
+ ?contactPoint ?p ?o.
+ ?addr ?x ?y.
+ }
+}
+insert {
+ graph {
+ ?contactPoint ?p ?o.
+ ?addr ?x ?y.
+
+ }
+}
+where {
+ graph {
+
+ ?contactPoint ?p ?o.
+ optional {
+ ?contactPoint ?addr.
+ ?addr ?x ?y.
+ }
+ filter (exists {
+ graph {
+ ?s ?contactPoint.
+ }
+ })
+ }
+}
+;
+
+
+DELETE {
+ GRAPH {
+ ?primarySite ?siteAddr; ?p ?o.
+ ?siteAddr ?x ?y.
+ ?addr ?addrP ?addrO.
+ ?locAddr ?locP ?locO
+ }
+}
+INSERT {
+ GRAPH {
+ ?primarySite ?siteAddr; ?p ?o.
+ ?siteAddr ?x ?y.
+ ?addr ?addrP ?addrO.
+ ?locAddr ?locP ?locO
+ }
+}
+Where {
+ Graph {
+ ?primarySite ?siteAddr;
+ ?p ?o.
+ ?siteAddr ?x ?y.
+ optional {
+ ?siteAddr locn:address ?locAddr .
+ ?locAddr ?locP ?locO.
+ }
+ optional {
+ ?primarySite organisatie:bestaatUit ?addr.
+ ?addr ?addrP ?addrO.
+ }
+
+
+ filter (exists {
+ graph {
+ ?s ?primarySite.
+ }
+ }
+ )
+
+
+ }
+}
+;
+
+DELETE {
+ GRAPH {
+ ?s a ?type; ?p ?o.
+ }
+}
+INSERT {
+ GRAPH {
+ ?s a ?type; ?p ?o.
+ }
+}
+Where {
+ Graph {
+ ?s a ?type; ?p ?o.
+ filter (?type in(,
+ ,
+
+ )
+ && exists {
+ graph {
+ ?x ?y ?z.
+ filter(?z=?s)
+ }
+ }
+ )
+
+
+ }
+}
+
+;
+
+DELETE {
+ GRAPH {
+
+ ?primarySite ?bestaatUit; ?p ?o.
+ ?bestaatUit ?bestaatUitP ?bestaatUitO.
+
+ }
+}
+INSERT {
+ GRAPH {
+
+ ?primarySite ?bestaatUit; ?p ?o.
+ ?bestaatUit ?bestaatUitP ?bestaatUitO.
+}
+}
+Where {
+ Graph {
+ ?primarySite ?bestaatUit; ?p ?o.
+ ?bestaatUit ?bestaatUitP ?bestaatUitO.
+
+
+ filter (exists {
+ graph {
+ ?unit ?primarySite.
+ }
+ }
+ )
+
+
+ }
+}
+;
+
+DELETE {
+ GRAPH {
+ ?s a ?type; ?p ?o.
+ }
+}
+INSERT {
+ GRAPH {
+ ?s a ?type; ?p ?o.
+ }
+}
+
+Where {
+ Graph {
+ ?s a ?type; ?p ?o.
+ filter (?type in(,
+ ,
+ ,
+
+ )
+ )
+
+
+ }
+}
+
+
+
+;
+
+DELETE {
+ GRAPH {
+ ?s a ;
+ mu:uuid ?uuid;
+ ?classification;
+ org:hasSubOrganization ?subOrg;
+ skos:prefLabel ?name.
+
+
+ }
+}
+INSERT {
+ GRAPH {
+ ?s a ;
+ mu:uuid ?uuid;
+ ?classification;
+ org:hasSubOrganization ?subOrg;
+ skos:prefLabel ?name.
+
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?s a ;
+ ?classification;
+ mu:uuid ?uuid;
+ org:hasSubOrganization ?subOrg;
+ skos:prefLabel ?name.
+
+ filter(?classification in (
+ ,
+
+ ))
+
+
+ }
+}
+
+;
+
+DELETE {
+ GRAPH {
+ ?s a ;
+ mu:uuid ?uuid;
+ ?classification;
+ skos:prefLabel ?name.
+
+
+ }
+}
+INSERT {
+ GRAPH {
+ ?s a ;
+ mu:uuid ?uuid;
+ ?classification;
+
+ skos:prefLabel ?name.
+
+ }
+}
+
+WHERE {
+ GRAPH {
+ ?s a ;
+ ?classification;
+ mu:uuid ?uuid;
+ skos:prefLabel ?name.
+
+
+ filter(?classification in (
+ ,
+
+ )&& exists {
+
+ graph {
+
+ ?subOrg org:hasSubOrganization ?s .
+}
+
+})
+
+
+ }
+}
+
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132608-move-public-types.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132608-move-public-types.sparql
new file mode 100644
index 0000000..9b929d1
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132608-move-public-types.sparql
@@ -0,0 +1,40 @@
+delete {
+ graph {
+ ?s ?p ?o
+ }
+}
+insert {
+ graph {
+ ?s ?p ?o
+ }
+}
+where {
+ graph {
+ ?s a ?type; ?p ?o.
+ filter (?type in (
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+ ,
+
+
+
+ ))
+ }
+}
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132609-move-to-administrative-unit.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132609-move-to-administrative-unit.sparql
new file mode 100644
index 0000000..bab2563
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132609-move-to-administrative-unit.sparql
@@ -0,0 +1,3 @@
+# must be the latest to run
+
+MOVE TO
diff --git a/config/migrations/2023/20230401132400-hard-split/20230401132610-add-mock-user-1.sparql b/config/migrations/2023/20230401132400-hard-split/20230401132610-add-mock-user-1.sparql
new file mode 100644
index 0000000..192c7b5
--- /dev/null
+++ b/config/migrations/2023/20230401132400-hard-split/20230401132610-add-mock-user-1.sparql
@@ -0,0 +1,44 @@
+PREFIX ext:
+ PREFIX besluit:
+ PREFIX mu:
+ PREFIX skos:
+ PREFIX dcterms:
+ PREFIX foaf:
+
+ INSERT DATA {
+ GRAPH {
+ besluit:Bestuurseenheid .
+ mu:uuid "141d9d6b-54af-4d17-b313-8d1c30bc3f5b" .
+ skos:prefLabel "Agentschap Binnenlands Bestuur" .
+ dcterms:identifier "OVO001835" .
+ foaf:Person .
+ mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3470" .
+ foaf:firstName "Josephine" .
+ foaf:familyName "Lezer" .
+ foaf:member .
+ foaf:account .
+ foaf:OnlineAccount .
+ mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0989" .
+ foaf:accountServiceHomepage .
+ ext:sessionRole "ABBOrganisatiePortaalGebruiker-lezer" .
+ foaf:Person .
+