Compare commits

..

1 Commits

Author SHA1 Message Date
Claire Lovisa
a796c83826 Merge pull request #244 from lblod/feature/extend-public-producer
Feature/extend public producer
2023-03-21 16:52:31 +01:00
418 changed files with 1655 additions and 261019 deletions

13
.gitignore vendored
View File

@@ -1,25 +1,20 @@
# Virtuoso files /data/db
/data/publication-triplestore/*
/data/db.bck/**
/data/db/*
/data/db/virtuoso.ini
!/data/db/virtuoso.ini
!/data/db/toLoad
!/data/db/toLoad/*
/data/files/*
!/data/files/exports/.gitkeep
/data/temp/*
docker-compose.override.yml
.idea
*.iml
/data/elasticsearch/**
/data/ldes-feed/*
/tmp
.DS_STORE
.env
/config/migrations/private-data/*
/config/migrations/local/*
/config/proxy/nginx.htpasswd
@@ -29,11 +24,9 @@ DS_STORE
/config/proxy-https/cert.pem
/config/proxy-https/key.pem
# Kalliope config files
source.json
output.json
security.json
out.json
security.yml
config/proxy-https/proxy_ssl.conf
/config/search/update-handler.store
/config/search/dev/update-handler.store

View File

@@ -1,67 +0,0 @@
# Changelog
## 1.28.5 (2025-01-23)
### Frontend
- Bump to [v1.28.3](https://github.com/lblod/frontend-organization-portal/releases/tag/v1.28.3)
### Backend
- Datafix: correct merger change events for worship organisations (OP-3534)
- Avoid municipality filter to include partial matches (OP-3509)
### Deploy notes
- `drc restart migrations-triggering-indexing; drc logs -ft --tail=200 migrations-triggering-indexing`
- `drc pull frontend; drc up -d frontend`
- Perform a full re-index by executing `./scripts/reset-elastic.sh`
## 1.28.4 (2025-01-16)
### Backend
#### Data
- Performance fix on 1.28.3 [DL-6377]
### Deploy commands
```
drc restart migrations
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs # or wait for the healing to kick in
```
## 1.28.3 (2025-01-16)
### Backend
#### Data
- Datafix. Fusiegemeentes had different bestuursfuncties attached to OCMW and Gemeente. [DL-6377]
However, business-rule-wise, these bestuursfuncties are shared.
### Deploy commands
```
drc restart migrations
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs # or wait for the healing to kick in
```
## 1.28.2 (2025-01-13)
### Backend
- Added "Opdrachthoudende vereniging met private deelname" in delta public (DL-6368)
### Deploy commands
```
drc restart migrations
drc exec delta-producer-background-jobs-initiator curl -X POST http://localhost/public/healing-jobs # or wait for the healing to kick in
```
## 1.28.1 (2025-01-11)
### Backend
- Import 2025 NIS codes and update werkingsgebieden (OP-3342)
- Add merger change events for merged police zones (OP-3454)
- Delete local involvements for worship services (OP-3501, OP-3512)
- Move link between new municipalities and province to shared graph (OP-3513, OP-3514)
### Deploy notes
- Restart both migration services
#### Docker commands
- `drc restart migrations; drc logs -ft --tail=200 migrations`
- `drc restart migrations-triggering-indexing; drc logs -ft --tail=200 migrations-triggering-indexing`
## 1.28.0 (2025-01-02)
### Backend
- Bump frontend to `v1.28.0`
- Add end date for governing bodies for municipalities and OCMWs and update status (OP-3348)
- Update municipality and province name in organisation's addresses (OP-3410)
- Add merger change events for merged municipalities and OCMWs (OP-3412)
- Updates names for merged municipalities and OCMWs (OP-3456)
### Deploy notes
- Restart both migration services
- Bump frontend
#### Docker commands
- `drc restart migrations; drc logs -ft --tail=200 migrations`
- `drc restart migrations-triggering-indexing; drc logs -ft --tail=200 migrations-triggering-indexing`
- `drc pull frontend; drc up -d frontend`

View File

@@ -7,180 +7,121 @@ alias Acl.GroupSpec, as: GroupSpec
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"
]
@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.lblod.info/vocabularies/erediensten/RolBedienaar",
"http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
"http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"http://data.lblod.info/vocabularies/erediensten/VerbondenJuridischeStructuren",
"http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan"
]
@error_type [
"https://docs.oasis-open-projects.org/oslc-op/core/v3.0/os/core-vocab.html#Error"
]
@public_type [
"http://www.w3.org/ns/org#Role",
"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/MandatarisStatusCode",
"http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"http://mu.semte.ch/vocabularies/ext/GeregistreerdeOrganisatieClassificatieCode",
"http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"http://www.w3.org/2004/02/skos/core#ConceptScheme",
"http://lblod.data.gift/vocabularies/organisatie/BedienaarFinancieringCode",
"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/Rechtsvormtype"
]
@org_type [
"http://purl.org/dc/terms/Agent",
"http://www.w3.org/ns/org#Organization",
"http://www.w3.org/ns/regorg#RegisteredOrganization",
"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",
"http://mu.semte.ch/vocabularies/ext/KboOrganisatie",
]
@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"
]
defp access_by_role(group_string) do
@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",
"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",
"http://www.w3.org/ns/org#Role",
"http://www.w3.org/ns/org#Post",
"http://data.lblod.info/vocabularies/contacthub/AgentInPositie",
"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/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://xmlns.com/foaf/0.1/Image",
"http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject",
"http://publications.europa.eu/ontology/euvoc#Country"
]
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: [],
query: sparql_query_for_access_role(group_string)
}
# vars: ["session_group","session_role"], todo we might have to create multiple graph depending on role
vars: [],
query: sparql_query_for_access_role( group_string ) }
end
defp sparql_query_for_access_role(group_string) do
defp sparql_query_for_access_role( group_string ) do
"PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
SELECT distinct ?session_group ?session_role WHERE {
<SESSION_ID> ext:sessionGroup/mu:uuid ?session_group;
ext:activeSessionRole ?session_role.
ext:sessionRole ?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"),
access: access_by_role( "ABBOrganisatiePortaalGebruiker-lezer" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/administrative-unit",
graph: "http://mu.semte.ch/graphs/organisatieportaal",
constraint: %ResourceConstraint{
resource_types: @org_type
resource_types: @protected_resource_type
}
}
]
},
%GroupSpec{
%GroupSpec{
name: "acmidm-editeerder",
useage: [:read, :write, :read_for_write],
access: access_by_role("ABBOrganisatiePortaalGebruiker-editeerder"),
access: access_by_role( "ABBOrganisatiePortaalGebruiker-editeerder" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/administrative-unit",
graph: "http://mu.semte.ch/graphs/organisatieportaal",
constraint: %ResourceConstraint{
resource_types: @org_type ++ @error_type
resource_types: @protected_resource_type ++ @error_type
}
}
]
},
%GroupSpec{
%GroupSpec{
name: "acmidm-beheerder",
useage: [:read, :write, :read_for_write],
access: access_by_role("ABBOrganisatiePortaalGebruiker-beheerder"),
access: access_by_role( "ABBOrganisatiePortaalGebruiker-beheerder" ),
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/administrative-unit",
graph: "http://mu.semte.ch/graphs/organisatieportaal",
constraint: %ResourceConstraint{
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
resource_types: @protected_resource_type ++ @error_type
}
}
]
@@ -189,21 +130,19 @@ defmodule Acl.UserGroups.Config do
name: "public",
useage: [:read],
access: %AlwaysAccessible{},
graphs: [
%GraphSpec{
graph: "http://mu.semte.ch/graphs/public",
constraint: %ResourceConstraint{
resource_types: @public_type
}
},
%GraphSpec{
graph: "http://mu.semte.ch/graphs/shared",
constraint: %ResourceConstraint{
resource_types: @shared_protected_type ++ @org_type
}
}
]
},
graphs: [ %GraphSpec{
graph: "http://mu.semte.ch/graphs/public", # mock login only
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"
]
} }]},
# // CLEANUP
#

View File

@@ -1,268 +0,0 @@
const PREFIXES = `
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX schema: <http://schema.org/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>`
const contextConfig = {
addTypes: {
scope: 'all', // 'inserts, 'deletes', 'all' or none. To add rdf:type to subjects of inserts, deletes or both
exhausitive: false, // true or false: find all types for a subject, even if one is already present in delta
},
contextQueries: [
{
trigger: { // subjectType or predicateValue
subjectType: "org:Site"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
${subject} ext:goesInGraph ?graphThree.
${subject} ext:goesInGraph ?graphFour.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnitOne org:hasPrimarySite ${subject}.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnitTwo org:hasSite ${subject}.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphTwo)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnitThree org:hasPrimarySite ${subject}.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphThree)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnitFour org:hasSite ${subject}.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphFour)
}
}`
},
{
trigger: { // subjectType or predicateValue
subjectType: "schema:ContactPoint"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?siteOne org:siteAddress ${subject}.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?siteTwo org:siteAddress ${subject}.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphTwo)
}
}`
},
{
trigger: { // subjectType or predicateValue
subjectType: "locn:Address"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?siteOne organisatie:bestaatUit ${subject}.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?siteTwo organisatie:bestaatUit ${subject}.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphTwo)
}
}`
},
//Predicate triggers to solve out of order deltas
{
trigger: { // subjectType or predicateValue
predicateValue: "org:hasSite"
},
//We assume that only administrative units are in the shared graph of OP due to the need of sharing the prefLabel with worships services
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/shared> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphTwo)
}
${subject} org:hasSite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}`
},
{
trigger: { // subjectType or predicateValue
predicateValue: "org:hasPrimarySite"
},
//We assume that only administrative units are in the shared graph of OP due to the need of sharing the prefLabel with worships services
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
${subject} ext:goesInGraph ?graphOne.
${subject} ext:goesInGraph ?graphTwo.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
} WHERE {
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/shared> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/administrative-unit> AS ?graphOne)
}
OPTIONAL {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
${subject} a ?type.
}
BIND(<http://mu.semte.ch/graphs/worship-service> AS ?graphTwo)
}
${subject} org:hasPrimarySite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}`
},
{
trigger: { // subjectType or predicateValue
predicateValue: "org:siteAddress"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?contact ?pContact ?oContact.
?addressContact ?pAddressContact ?oAddressContact.
} WHERE {
${subject} org:siteAddress ?contact.
?contact ?pContact ?oContact.
OPTIONAL {
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
}`
},
{
trigger: { // subjectType or predicateValue
predicateValue: "locn:address"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?addressContact ?pAddressContact ?oAddressContact.
} WHERE {
${subject} locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}`
},
{
trigger: { // subjectType or predicateValue
predicateValue: "organisatie:bestaatUit"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?address ?pAddress ?oAddress.
} WHERE {
${subject} organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}`
}
]
}
module.exports = {
contextConfig,
PREFIXES
};

View File

@@ -1,104 +0,0 @@
const {
deleteFromPublicGraph,
insertIntoPublicGraph,
deleteFromSpecificGraphs,
insertIntoSpecificGraphs
} = require('./util');
const {
LANDING_ZONE_GRAPH
} = require('./config')
const publicTypes = [
'<http://lblod.data.gift/vocabularies/organisatie/TypeVestiging>'
]
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext && termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
const {public: insertsOnPublic, target: insertsOnGraphs} = separateBetweenTargetAndPublic(original.inserts, withContext.inserts)
const {public: deletesOnPublic, target: deletesOnGraphs} = separateBetweenTargetAndPublic(original.deletes, withContext.deletes)
await deleteFromPublicGraph(lib, deletesOnPublic);
await deleteFromSpecificGraphs(lib, deletesOnGraphs);
await insertIntoPublicGraph(lib, insertsOnPublic);
await insertIntoSpecificGraphs(lib, insertsOnGraphs);
}
}
function separateBetweenTargetAndPublic(changes, context) {
const changesOnPublic = new Set();
const changesOnGraphs = {};
for(let change of changes) {
const subject = change.subject;
const contextTriples = context.filter((context) => context.subject === subject);
const graphTriple = contextTriples.find(
(context) => context.predicate === '<http://mu.semte.ch/vocabularies/ext/goesInGraph>'
&& context.object !== `<${LANDING_ZONE_GRAPH}>`
)
const otherContextTriples = context.filter(
(context) => context.predicate !== '<http://mu.semte.ch/vocabularies/ext/goesInGraph>'
&& context.predicate !== '<http://mu.semte.ch/vocabularies/ext/contextDataGoesInGraph>'
&& !(context.subject === subject && context.predicate === '<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>')
);
if(graphTriple) {
const graph = graphTriple.object.slice(1,-1); // We have to slice it to remove the "<" and ">"
if(change.object !== '') {
if(!changesOnGraphs[graph]) {
changesOnGraphs[graph] = new Set();
}
changesOnGraphs[graph].add(`${change.subject} ${change.predicate} ${change.object}.`)
}
for(let triple of otherContextTriples) {
if(triple.object === '') continue;
if(!changesOnGraphs[graph]) {
changesOnGraphs[graph] = new Set();
}
changesOnGraphs[graph].add(`${triple.subject} ${triple.predicate} ${triple.object}.`)
}
}
const typeTriple = contextTriples.find(
(context) => context.subject === subject
&& context.predicate === '<http://www.w3.org/1999/02/22-rdf-syntax-ns#type>'
);
if(!typeTriple) continue;
const type = typeTriple.object;
if(publicTypes.includes(type)) {
changesOnPublic.add(`${change.subject} ${change.predicate} ${change.object}.`)
for(let triple of otherContextTriples) {
changesOnPublic.add(`${triple.subject} ${triple.predicate} ${triple.object}.`)
}
}
}
return {public: changesOnPublic, target: changesOnGraphs}
}
module.exports = {
dispatch
};

View File

@@ -1,337 +0,0 @@
const {
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
LANDING_ZONE_GRAPH,
BATCH_SIZE,
} = require('./config');
const prefixes = `
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX schema: <http://schema.org/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX ext:<http://mu.semte.ch/vocabularies/ext/>
`
async function batchedDbUpdate(
muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
async function insertIntoPublicGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into public graph`);
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
'http://mu.semte.ch/graphs/public',
Array.from(statements),
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function insertIntoSpecificGraphs(lib, statementsWithGraphs) {
for( let graph in statementsWithGraphs) {
console.log(`Inserting ${statementsWithGraphs[graph].length} statements into ${graph} graph`);
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
graph,
Array.from(statementsWithGraphs[graph]),
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
}
async function deleteFromPublicGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from public graph`);
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
'http://mu.semte.ch/graphs/public',
Array.from(statements),
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function deleteFromSpecificGraphs(lib, statementsWithGraphs) {
for( let graph in statementsWithGraphs) {
console.log(`Deleting ${statementsWithGraphs[graph].length} statements from ${graph} graph`);
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
graph,
Array.from(statementsWithGraphs[graph]),
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
}
async function moveDataAfterInitialSync(muUpdate, endpoint) {
// Move primary sites admin units
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnit org:hasPrimarySite ?site.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnit a ?type.
}
GRAPH <${LANDING_ZONE_GRAPH}> {
?adminUnit org:hasPrimarySite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}
}
`, undefined, endpoint)
// Move sites administrative units
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnit org:hasSite ?site.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?adminUnit a ?type.
}
GRAPH <${LANDING_ZONE_GRAPH}> {
?adminUnit org:hasSite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}
}
`, undefined, endpoint)
// Move primary sites worships
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnit org:hasPrimarySite ?site.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnit a ?type.
}
GRAPH <${LANDING_ZONE_GRAPH}> {
?adminUnit org:hasPrimarySite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}
}
`, undefined, endpoint)
// Move sites worships
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnit org:hasSite ?site.
?site ?pSite ?oSite.
?contact ?pContact ?oContact.
?address ?pAddress ?oAddress.
?addressContact ?pAddressContact ?oAddressContact.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?adminUnit a ?type.
}
GRAPH <${LANDING_ZONE_GRAPH}> {
?adminUnit org:hasSite ?site.
?site ?pSite ?oSite.
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
?contact locn:address ?addressContact.
?addressContact ?pAddressContact ?oAddressContact.
}
UNION
{
?site org:siteAddress ?contact.
?contact ?pContact ?oContact.
}
UNION
{
?site organisatie:bestaatUit ?address.
?address ?pAddress ?oAddress.
}
}
}
`, undefined, endpoint)
// Move sites worships
await muUpdate(`
${prefixes}
INSERT {
GRAPH <http://mu.semte.ch/graphs/public> {
?type a <http://lblod.data.gift/vocabularies/organisatie/TypeVestiging>.
?type ?a ?b.
}
} WHERE {
GRAPH <${LANDING_ZONE_GRAPH}> {
?type a <http://lblod.data.gift/vocabularies/organisatie/TypeVestiging>.
?type ?a ?b.
}
}
`, undefined, endpoint)
}
module.exports = {
batchedDbUpdate,
moveDataAfterInitialSync,
insertIntoPublicGraph,
deleteFromPublicGraph,
insertIntoSpecificGraphs,
deleteFromSpecificGraphs,
};

View File

@@ -0,0 +1,54 @@
{
"export": [
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#scopeNote"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.w3.org/ns/org#classification"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#scopeNote"
]
}
]
}

View File

@@ -1,42 +0,0 @@
[
{
"name": "organizations",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"dumpFileCreationJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations",
"cronPatternDumpJob": "42 * * * *",
"cronPatternHealingJob": "0 0 4 * * *",
"startInitialSync": true
},
{
"name": "public",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"dumpFileCreationJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/public",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/public",
"cronPatternDumpJob": "11 */4 * * *",
"cronPatternHealingJob": "0 0 4 * * *",
"startInitialSync": true
},
{
"name": "organizations-public-info",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"dumpFileCreationJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations-public-info",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations-public-info",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations-public-info",
"cronPatternDumpJob": "27 */4 * * *",
"cronPatternHealingJob": "0 0 4 * * *",
"startInitialSync": true
},
{
"name": "worship-posts",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"dumpFileCreationJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/worship-posts",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/worship-posts",
"cronPatternDumpJob": "17 */4 * * *",
"cronPatternHealingJob": "0 0 3 * * *",
"startInitialSync": true
}
]

View File

@@ -1,9 +1,24 @@
{
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/administrative-units": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/administrative-units",
"fileBaseName": "dump-administrative-units",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/administrative-units": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/administrative-units",
"fileBaseName": "dump-administrative-units",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations",
"fileBaseName": "dump-organizations",
"publicationGraphEndpoint": "http://publication-triplestore:8890/sparql",
"targetDcatGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-deltas",
"targetFilesGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-deltas",
"cleanupOldDumps": true
@@ -12,34 +27,14 @@
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations",
"fileBaseName": "dump-organizations",
"publicationGraphEndpoint": "http://publication-triplestore:8890/sparql",
"targetDcatGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-deltas",
"targetFilesGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-deltas",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations-public-info": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsPublicInfoCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-public-info",
"fileBaseName": "dump-organizations-public-info",
"publicationGraphEndpoint": "http://publication-triplestore:8890/sparql",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations-public-info": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/OrganizationsPublicInfoCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-public-info",
"fileBaseName": "dump-organizations-public-info",
"publicationGraphEndpoint": "http://publication-triplestore:8890/sparql",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/public": {
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/PublicCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/public",
"fileBaseName": "dump-public",
"publicationGraphEndpoint": "http://publication-triplestore:8890/sparql",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true
@@ -48,25 +43,22 @@
"dcatDataSetSubject": "http://data.lblod.info/datasets/delta-producer/dumps/PublicCacheGraphDump",
"targetGraph": "http://redpencil.data.gift/id/deltas/producer/public",
"fileBaseName": "dump-public",
"publicationGraphEndpoint": "http://publication-triplestore:8890/sparql",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"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",
"publicationGraphEndpoint": "http://publication-triplestore:8890/sparql",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"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",
"publicationGraphEndpoint": "http://publication-triplestore:8890/sparql",
"targetDcatGraph": "http://mu.semte.ch/graphs/public",
"targetFilesGraph": "http://mu.semte.ch/graphs/public",
"cleanupOldDumps": true

View File

@@ -1,338 +0,0 @@
{
"conceptScheme": "http://lblod.data.gift/concept-schemes/0d101f02-609d-4cde-bb07-639d874470c4",
"export": [
{
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/org#linkedTo",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite"
]
},
{
"type": "http://www.w3.org/ns/regorg#RegisteredOrganization",
"strictTypeExport": "true",
"graphsFilter": ["http://mu.semte.ch/graphs/administrative-unit"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/typebetrokkenheid",
"http://www.w3.org/ns/org#organization",
"http://data.lblod.info/vocabularies/erediensten/financieringspercentage"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://data.lblod.info/vocabularies/erediensten/functie"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": ["http://mu.semte.ch/graphs/worship-service"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
]
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": ["http://mu.semte.ch/graphs/worship-service"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier>/<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/RepresentatiefOrgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"graphsFilter": [
"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",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://purl.org/dc/terms/date",
"http://purl.org/dc/terms/description",
"http://data.lblod.info/vocabularies/contacthub/typeWijziging",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/org#changedBy",
"http://lblod.data.gift/vocabularies/organisatie/veranderingsgebeurtenisResultaat",
"http://www.w3.org/ns/org#originalOrganization",
"http://www.w3.org/ns/org#resultingOrganization",
"http://data.europa.eu/m8g/hasFormalFramework"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role"
]
},
{
"type": "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://www.w3.org/2004/02/skos/core#Concept",
"graphsFilter": ["http://mu.semte.ch/graphs/public"],
"pathToConceptScheme": ["http://www.w3.org/2004/02/skos/core#inScheme"],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#notation",
"https://schema.org/startDate",
"https://schema.org/endDate",
"http://www.w3.org/2004/02/skos/core#broader",
"http://www.w3.org/2004/02/skos/core#exactMatch",
"http://www.w3.org/2004/02/skos/core#narrower",
"http://www.w3.org/2004/02/skos/core#narrowMatch"
]
}
]
}

View File

@@ -3,11 +3,9 @@
{
"type": "http://www.w3.org/ns/person#Person",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"properties": [
"http://xmlns.com/foaf/0.1/givenName",
"http://xmlns.com/foaf/0.1/familyName",
"https://data.vlaanderen.be/ns/persoon#gebruikteVoornaam",
@@ -18,7 +16,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/MandatarisStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -28,8 +26,7 @@
"type": "http://data.lblod.info/vocabularies/erediensten/EredienstMandataris",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://data.lblod.info/vocabularies/contacthub/startdatum",
@@ -49,7 +46,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/HelftVerkiezing",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -58,23 +55,19 @@
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://schema.org/email",
"http://schema.org/faxNumber",
"http://schema.org/telephone",
"http://xmlns.com/foaf/0.1/page",
"http://www.w3.org/ns/locn#address"
]
},
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/ns/org#role",
@@ -85,7 +78,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -94,7 +87,7 @@
{
"type": "http://www.w3.org/ns/org#Role",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -103,7 +96,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -112,7 +105,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -122,12 +115,10 @@
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -151,12 +142,10 @@
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -173,51 +162,14 @@
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur",
"http://data.lblod.info/vocabularies/erediensten/denominatie",
"http://data.lblod.info/vocabularies/erediensten/grensoverschrijdend",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -228,45 +180,14 @@
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification"
]
},
{
"type": "http://www.w3.org/ns/regorg#RegisteredOrganization",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
"http://data.lblod.info/vocabularies/erediensten/typeEredienst"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
@@ -274,14 +195,13 @@
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost",
"http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie"
"http://www.w3.org/ns/org#hasPost"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -290,8 +210,7 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://data.lblod.info/vocabularies/erediensten/financieringspercentage",
@@ -302,9 +221,7 @@
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#notation",
@@ -314,9 +231,7 @@
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
@@ -325,9 +240,7 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
@@ -345,8 +258,7 @@
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/ns/org#siteAddress",
@@ -357,8 +269,7 @@
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://purl.org/dc/terms/date",
@@ -371,7 +282,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -380,28 +291,16 @@
{
"type": "http://www.w3.org/2004/02/skos/core#Concept",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://www.w3.org/ns/prov#Location",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared"
],
"properties": [
"http://www.w3.org/2000/01/rdf-schema#label",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://mu.semte.ch/vocabularies/ext/werkingsgebiedNiveau",
"http://www.w3.org/2004/02/skos/core#exactMatch"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -410,17 +309,16 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"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/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://data.lblod.info/vocabularies/contacthub/startdatum",
@@ -435,30 +333,26 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/VoorwaardenBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"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/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"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/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/ns/org#role",
@@ -470,16 +364,16 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinancieringCode",
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarFinanceringCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -488,7 +382,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/VoorwaardenBedienaarCriterium",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -497,7 +391,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BedienaarCriteriumBewijsstuk",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"
@@ -506,7 +400,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://www.w3.org/2004/02/skos/core#prefLabel"

View File

@@ -5,8 +5,7 @@
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
@@ -15,7 +14,6 @@
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -37,8 +35,7 @@
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
@@ -47,7 +44,6 @@
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/regorg#orgStatus",
@@ -66,9 +62,7 @@
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
@@ -86,7 +80,6 @@
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
@@ -99,75 +92,23 @@
"http://www.w3.org/ns/regorg#orgStatus"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"comment": "Bound to ABB only.",
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://purl.org/dc/terms/identifier",
"http://www.w3.org/ns/org#classification"
],
"additionalFilter": "BIND(<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> as ?subject)"
},
{
"type": "http://www.w3.org/ns/regorg#RegisteredOrganization",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/administrative-unit"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#werkingsgebied",
"http://www.opengis.net/ont/geosparql#sfWithin",
"http://www.w3.org/2002/07/owl#sameAs",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/ns/adms#identifier",
"http://www.w3.org/ns/org#changedBy",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPost",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#hasSubOrganization",
"http://www.w3.org/ns/org#linkedTo",
"http://www.w3.org/ns/org#resultedFrom",
"http://www.w3.org/ns/regorg#orgStatus",
"https://data.lblod.info/vocabularies/generiek/geplandeEindDatum",
"http://www.w3.org/ns/org#purpose"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/org#linkedTo",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/adms#identifier"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -179,8 +120,7 @@
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -191,14 +131,13 @@
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"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://mu.semte.ch/vocabularies/core/uuid",
@@ -210,15 +149,14 @@
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"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": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -237,9 +175,7 @@
{
"type": "http://schema.org/ContactPoint",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#siteAddress",
@@ -256,14 +192,13 @@
"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/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/adms#identifier",
@@ -276,24 +211,10 @@
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"^https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator",
@@ -306,21 +227,10 @@
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
]
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
],
"additionalFilter": "?ro <http://www.w3.org/ns/adms#identifier>/<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?subject ; a <http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan> ."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -331,38 +241,50 @@
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/RepresentatiefOrgaanClassificatieCode",
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost",
"http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie"
],
"additionalFilter": "?subject (<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://www.w3.org/ns/org#classification>/<http://www.w3.org/2004/02/skos/core#inScheme>)|(<http://www.w3.org/ns/org#classification>/<http://www.w3.org/2004/02/skos/core#inScheme>) <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b> ."
"http://www.w3.org/ns/org#hasPost"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -375,7 +297,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -388,9 +310,7 @@
{
"type": "http://www.w3.org/ns/org#ChangeEvent",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://data.lblod.info/vocabularies/contacthub/typeWijziging",
@@ -412,7 +332,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/Veranderingsgebeurtenis",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -425,7 +345,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -438,7 +358,7 @@
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
@@ -451,9 +371,7 @@
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"^http://www.w3.org/ns/org#hasPost",
@@ -469,9 +387,7 @@
{
"type": "http://data.lblod.info/vocabularies/leidinggevenden/Bestuursfunctie",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/administrative-unit"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"pathToConceptScheme": [
"^http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie",
@@ -484,19 +400,6 @@
"http://www.w3.org/ns/org#role",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/GeregistreerdeOrganisatieClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"pathToConceptScheme": [
"http://www.w3.org/2004/02/skos/core#inScheme"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
}
]
}

View File

@@ -1,93 +0,0 @@
{
"organizations": {
"deltaInterval": 10000,
"errorCreatorUri": "http://lblod.data.gift/services/delta-producer-publication-graph-maintainer-organizations",
"exportConfigPath": "/config/organizations/export.json",
"filesPath": "/organizations/files",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"publicationGraph": "http://redpencil.data.gift/id/deltas/producer/organizations",
"publisherUri": "http://data.lblod.info/services/delta-production-json-diff-file-manager/organizations",
"queuePollInterval": 3000,
"relativeFilePath": "/deltas/organizations",
"serveDeltaFiles": true,
"skipMuAuthInitialSync": true,
"skipMuAuthHealing": true,
"useFileDiff": true,
"healingInitialBatchSizeInsert": 1000,
"useVirtuosoForExpensiveSelects": true,
"errorGraph": "http://mu.semte.ch/graphs/jobs",
"loginPath": "/organizations/login",
"logOutgoingDelta": true
},
"public": {
"deltaInterval": 10000,
"errorCreatorUri": "http://lblod.data.gift/services/delta-producer-publication-graph-maintainer-public",
"exportConfigPath": "/config/public/export.json",
"filesPath": "/public/files",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/public",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"publicationGraph": "http://redpencil.data.gift/id/deltas/producer/public",
"publisherUri": "http://data.lblod.info/services/delta-production-json-diff-file-manager/public",
"queuePollInterval": 3000,
"relativeFilePath": "/deltas/public",
"serveDeltaFiles": true,
"skipMuAuthInitialSync": true,
"skipMuAuthHealing": true,
"useFileDiff": true,
"healingInitialBatchSizeInsert": 1000,
"healingPatchPublicationGraphTaskOperation": 500,
"useVirtuosoForExpensiveSelects": true,
"errorGraph": "http://mu.semte.ch/graphs/jobs",
"loginPath": "/public/login",
"logOutgoingDelta": true
},
"organizations-public-info": {
"deltaInterval": 10000,
"errorCreatorUri": "http://lblod.data.gift/services/delta-producer-publication-graph-maintainer-organizations-public-info",
"exportConfigPath": "/config/organizations-public-info/export.json",
"filesPath": "/organizations-public-info/files",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations-public-info",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations-public-info",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"publicationGraph": "http://redpencil.data.gift/id/deltas/producer/organizations-public-info",
"publisherUri": "http://data.lblod.info/services/delta-production-json-diff-file-manager/organizations-public-info",
"queuePollInterval": 3000,
"relativeFilePath": "/deltas/organizations-public-info",
"serveDeltaFiles": true,
"skipMuAuthInitialSync": true,
"skipMuAuthHealing": true,
"useFileDiff": true,
"healingInitialBatchSizeInsert": 1000,
"healingPatchPublicationGraphTaskOperation": 500,
"useVirtuosoForExpensiveSelects": true,
"errorGraph": "http://mu.semte.ch/graphs/jobs",
"loginPath": "/organizations-public-info/login",
"logOutgoingDelta": true
},
"worship-posts": {
"deltaInterval": 10000,
"errorCreatorUri": "http://lblod.data.gift/services/delta-producer-publication-graph-maintainer-worship-posts",
"exportConfigPath": "/config/worship-posts/export.json",
"filesPath": "/worship-posts/files",
"healingJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/worship-posts",
"initialPublicationGraphSyncJobOperation": "http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/worship-posts",
"jobsGraph": "http://mu.semte.ch/graphs/jobs",
"publicationGraph": "http://redpencil.data.gift/id/deltas/producer/worship-posts",
"publisherUri": "http://data.lblod.info/services/delta-production-json-diff-file-manager/worship-posts",
"queuePollInterval": 3000,
"relativeFilePath": "/deltas/worship-posts",
"serveDeltaFiles": true,
"skipMuAuthInitialSync": true,
"skipMuAuthHealing": true,
"useFileDiff": true,
"healingInitialBatchSizeInsert": 1000,
"healingPatchPublicationGraphTaskOperation": 500,
"useVirtuosoForExpensiveSelects": true,
"errorGraph": "http://mu.semte.ch/graphs/jobs",
"loginPath": "/worship-posts/login",
"logOutgoingDelta": true
}
}

View File

@@ -3,8 +3,7 @@
{
"type": "http://data.vlaanderen.be/ns/mandaat#Mandaat",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
@@ -12,288 +11,37 @@
],
"additionalFilter": "?orgaan <http://www.w3.org/ns/org#hasPost> ?subject ; <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid . ?bestuurseenheid a ?type. FILTER (?type IN (<http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst>, <http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst>))"
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuurseenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#orgStatus",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/adms#identifier",
"http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur"
],
"additionalFilter": "?subject <http://www.w3.org/ns/org#classification> ?bestuurClassification . FILTER (?bestuurClassification IN (<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86>))"
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#orgStatus",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/adms#identifier"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#orgStatus",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/adms#identifier"
"http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor"
]
},
{
"type": "http://data.vlaanderen.be/ns/besluit#Bestuursorgaan",
"strictTypeExport": "true",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://data.vlaanderen.be/ns/besluit#bestuurt",
"http://www.w3.org/ns/org#classification",
"http://data.vlaanderen.be/ns/mandaat#bindingEinde",
"http://data.vlaanderen.be/ns/mandaat#bindingStart",
"https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan",
"http://www.w3.org/ns/org#hasPost"
],
"additionalFilter": "?subject (<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://data.vlaanderen.be/ns/besluit#bestuurt>/<http://www.w3.org/ns/org#classification>)|(<http://data.vlaanderen.be/ns/besluit#bestuurt>/<http://www.w3.org/ns/org#classification>) ?bestuurClassification . FILTER (?bestuurClassification IN (<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054>, <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86>))"
"additionalFilter": "?subject <https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan>/<http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuurseenheid . ?bestuurseenheid a ?type. FILTER (?type IN (<http://data.lblod.info/vocabularies/erediensten/CentraalBestuurVanDeEredienst>, <http://data.lblod.info/vocabularies/erediensten/BestuurVanDeEredienst>))"
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/PositieBedienaar",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
"http://mu.semte.ch/graphs/organisatieportaal"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/ns/org#role",
"http://data.lblod.info/vocabularies/erediensten/functie"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/BetrokkenLokaleBesturen",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://data.lblod.info/vocabularies/erediensten/typebetrokkenheid",
"http://www.w3.org/ns/org#organization"
]
},
{
"type": "http://data.lblod.info/vocabularies/erediensten/RepresentatiefOrgaan",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/ns/regorg#legalName",
"http://www.w3.org/2004/02/skos/core#altLabel",
"http://www.w3.org/ns/regorg#orgStatus",
"http://www.w3.org/ns/org#hasPrimarySite",
"http://www.w3.org/ns/org#hasSite",
"http://www.w3.org/ns/org#linkedTo",
"http://data.lblod.info/vocabularies/erediensten/typeEredienst",
"http://www.w3.org/ns/org#classification",
"http://www.w3.org/ns/adms#identifier"
]
},
{
"type": "http://www.w3.org/ns/adms#Identifier",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#notation",
"https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator"
],
"additionalFilter": "?subject <http://www.w3.org/2004/02/skos/core#notation> \"KBO nummer\" ."
},
{
"type": "https://data.vlaanderen.be/ns/generiek#GestructureerdeIdentificator",
"graphsFilter": [
"http://mu.semte.ch/graphs/worship-service",
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/administrative-unit"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/generiek#lokaleIdentificator"
],
"additionalFilter": "?subject ^<https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator>/<http://www.w3.org/2004/02/skos/core#notation> \"KBO nummer\" ."
},
{
"type": "http://www.w3.org/ns/org#Site",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/organisatie#bestaatUit",
"http://data.lblod.info/vocabularies/erediensten/vestigingstype"
]
},
{
"type": "http://www.w3.org/ns/locn#Address",
"graphsFilter": [
"http://mu.semte.ch/graphs/shared",
"http://mu.semte.ch/graphs/worship-service"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.huisnummer",
"https://data.vlaanderen.be/ns/adres#Adresvoorstelling.busnummer",
"http://www.w3.org/ns/locn#thoroughfare",
"http://www.w3.org/ns/locn#postCode",
"https://data.vlaanderen.be/ns/adres#gemeentenaam",
"http://www.w3.org/ns/locn#adminUnitL2",
"http://www.w3.org/ns/locn#fullAddress"
],
"additionalFilter": "?subject ^<https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?site. ?site a <http://www.w3.org/ns/org#Site>."
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuurseenheidClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#scopeNote"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursorgaanClassificatieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel",
"http://www.w3.org/2004/02/skos/core#scopeNote"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeVestiging",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/OrganisatieStatusCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeBetrokkenheid",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/TypeEredienst",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/BestuursfunctieCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://mu.semte.ch/vocabularies/ext/GeslachtCode",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
},
{
"type": "http://publications.europa.eu/ontology/euvoc#Country",
"graphsFilter": [
"http://mu.semte.ch/graphs/public"
],
"properties": [
"http://mu.semte.ch/vocabularies/core/uuid",
"http://www.w3.org/2000/01/rdf-schema#label",
"http://www.w3.org/2004/02/skos/core#prefLabel"
]
}
]
}

View File

@@ -3,7 +3,7 @@ export default [
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/administrative-unit"
value: "http://mu.semte.ch/graphs/organisatieportaal"
}
},
callback: {
@@ -20,41 +20,7 @@ export default [
match: {
graph: {
type: "uri",
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: {
url: 'http://resource/.mu/delta',
method: 'POST'
},
options: {
resourceFormat: "v0.0.1",
gracePeriod: 250,
ignoreFromSelf: true
}
},
{
match: {
graph: {
type: "uri",
value: "http://mu.semte.ch/graphs/worship-service"
value: "http://mu.semte.ch/graphs/organisatieportaal"
}
},
callback: {
@@ -82,14 +48,14 @@ 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" ]
}
},
{
match: {
},
callback: {
url: 'http://delta-producer-publication-graph-maintainer/delta',
url: 'http://delta-producer-pub-graph-maintainer-administrative-units/delta',
method: 'POST'
},
options: {
@@ -97,9 +63,115 @@ 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"
]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/administrative-units'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-administrative-units/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
},
callback: {
url: 'http://delta-producer-pub-graph-maintainer-organizations/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/organizations'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-organizations/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
},
callback: {
url: 'http://delta-producer-pub-graph-maintainer-public/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://redpencil.data.gift/id/deltas/producer/public'
}
},
callback: {
url: 'http://delta-producer-json-diff-publisher-public/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
// anything
},
callback: {
url: 'http://delta-producer-pub-graph-maintainer-worship-posts/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [
"http://redpencil.data.gift/id/concept/muScope/deltas/initialSync",
"http://redpencil.data.gift/id/concept/muScope/deltas/publicationGraphMaintenance"
]
}
},
{
@@ -117,61 +189,6 @@ export default [
url: 'http://delta-producer-dump-file-publisher/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: ["http://redpencil.data.gift/id/concept/muScope/deltas/initialSync"]
}
},
// organizations-sync-with-sharepoint/delta : jobs come from the jobs graph, data from the two main graphs
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/jobs'
}
},
callback: {
url: 'http://organizations-sync-with-sharepoint/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/shared'
}
},
callback: {
url: 'http://organizations-sync-with-sharepoint/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
ignoreFromSelf: true,
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/administrative-unit'
}
},
callback: {
url: 'http://organizations-sync-with-sharepoint/delta',
method: 'POST'
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
@@ -179,55 +196,4 @@ export default [
optOutMuScopeIds: [ "http://redpencil.data.gift/id/concept/muScope/deltas/initialSync" ]
}
}
/*
Commenting ldes rules until ready to go to qa/prod. In the meantime, we override the configuration on dev.
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/shared',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/worship-service',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
},
{
match: {
graph: {
type: 'uri',
value: 'http://mu.semte.ch/graphs/administrative-unit',
}
},
callback: {
url: 'http://ldes-delta-pusher/publish',
method: 'POST',
},
options: {
resourceFormat: 'v0.0.1',
gracePeriod: 1000,
}
}
*/
]

View File

@@ -1,38 +0,0 @@
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH ?g {
?mandaat ?pmandaat ?omandaat .
}
} WHERE {
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
GRAPH ?g {
?mandaat mandaat:isBestuurlijkeAliasVan ?person ;
?pmandaat ?omandaat .
}
FILTER NOT EXISTS { ?person ?pperson ?operson . }
}
;
DELETE {
GRAPH ?g {
?mandaat ?pmandaat ?omandaat .
}
} WHERE {
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
GRAPH ?g {
?mandaat mandaat:start ?start ;
?pmandaat ?omandaat .
}
FILTER NOT EXISTS { ?mandaat a ?type . }
}

View File

@@ -1,200 +0,0 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodorg: <https://data.lblod.info/vocabularies/organisatie/>
PREFIX lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX nacebel: <http://data.gift/vocabularies/nace-bel/>
PREFIX core: <http://mu.semte.ch/vocabularies/core/>
# Core data
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""".
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a besluit:Bestuurseenheid.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a org:Organization.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a dc_terms:Agent.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT""".
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9>.
# Site
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> core:uuid """6585490A8CEC3153DEA3A208""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> a schema:ContactPoint .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:email """mail@adres.com""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:telephone """tel:+3211211430""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> foaf:page """https://www.vlaanderen.be""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:contactType """Primary""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> core:uuid """6585490B8CEC3153DEA3A209""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> a schema:ContactPoint .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> schema:telephone """tel:+3211211431""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> schema:contactType """Secondary""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> core:uuid """6585490B8CEC3153DEA3A20A""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> a locn:Address .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:Adresvoorstelling.huisnummer """1""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:thoroughfare """Oude Markt""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:postCode """3000""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:gemeentenaam """Leuven""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:adminUnitL2 """Vlaams-Brabant""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:land """België""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:fullAddress """Oude Markt 1, 3000 Leuven, België""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:verwijstNaar <https://data.vlaanderen.be/id/adres/294733> .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> dc_terms:source <http://lblod.data.gift/concepts/e59c97a9-4e95-4d65-9696-756de47fbc1f> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> core:uuid """6585490B8CEC3153DEA3A20B""" .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> a org:Site .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> organisatie:bestaatUit <http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> org:siteAddress <http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> org:siteAddress <http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> ere:vestigingstype <http://lblod.data.gift/concepts/f1381723dec42c0b6ba6492e41d6f5dd> .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> org:hasPrimarySite <http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> .
# KBO number
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> core:uuid """65856287B12D00C739F23920""".
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> a generiek:GestructureerdeIdentificator.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> generiek:lokaleIdentificator """0262925527""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> core:uuid """65856287B12D00C739F23921""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> a adms:Identifier.
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> skos:notation """KBO nummer""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920>.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921>.
# Sharepoint identifier
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> core:uuid """65856287B12D00C739F23922""".
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> a generiek:GestructureerdeIdentificator.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> generiek:lokaleIdentificator """sp-id-test""" .
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> core:uuid """65856287B12D00C739F23923""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> a adms:Identifier.
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> skos:notation """SharePoint identificator""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> .
# OVO number
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/d5713a51-40d4-4b79-bf72-0d917f78c37b> .
<http://data.lblod.info/id/identificatoren/d5713a51-40d4-4b79-bf72-0d917f78c37b> a adms:Identifier ;
core:uuid """d5713a51-40d4-4b79-bf72-0d917f78c37b""" ;
skos:notation "OVO-nummer" ;
generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/438b542b-6841-4137-b8da-287b394328ee> .
<http://data.lblod.info/id/gestructureerdeIdentificatoren/438b542b-6841-4137-b8da-287b394328ee> a generiek:GestructureerdeIdentificator ;
core:uuid """438b542b-6841-4137-b8da-287b394328ee""" ;
generiek:lokaleIdentificator "OVO009999" .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> besluit:werkingsgebied <http://data.lblod.info/id/werkingsgebieden/a8040e566e7a22dfc6a83a7176d105abc68ab1bf1a89e94a1333c8f049131837>.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6>.
<http://data.lblod.info/id/bestuurseenheden/8a162fa437a54cb657b57514e4e0135ec106fce3206c29cd2f90b1859ed90dab> org:hasSubOrganization <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca>.
<http://data.lblod.info/id/bestuurseenheden/8a162fa437a54cb657b57514e4e0135ec106fce3206c29cd2f90b1859ed90dab> ext:isFounderOfOrganization <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca>.
}
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353> a besluit:Bestuursorgaan ;
core:uuid """16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/013cc838-173a-4657-b1ae-b00c048df943> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Raad van bestuur""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee> a besluit:Bestuursorgaan ;
core:uuid """47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353> ;
mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
}
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034> a besluit:Bestuursorgaan ;
core:uuid """e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b52094ff-21a2-4da8-8dbe-f513365d1528> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Algemene vergadering""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86> a besluit:Bestuursorgaan ;
core:uuid """be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034> ;
mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
}
}
;
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d> a besluit:Bestuursorgaan ;
core:uuid """0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/41caf7e6-b040-4720-9cc2-a96cfffed5b4> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Leidend Ambtenaar""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66> a besluit:Bestuursorgaan ;
core:uuid """a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d> ;
mandaat:bindingStart "2019-01-01T00:00:00.000Z"^^xsd:dateTime .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66> lblodlg:heeftBestuursfunctie <http://data.lblod.info/id/bestuursfuncties/73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490> .
<http://data.lblod.info/id/bestuursfuncties/73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490> a lblodlg:Bestuursfunctie ;
core:uuid """73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490""" ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/855489b9-b584-4f34-90b2-39aea808cd9f> ;
skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT Leidend ambtenaar""" .
}
}

View File

@@ -1,199 +0,0 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX schema: <http://schema.org/>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX vcard: <http://www.w3.org/2006/vcard/ns#>
PREFIX dbpedia: <http://dbpedia.org/ontology/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX euro: <http://data.europa.eu/m8g/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodorg: <https://data.lblod.info/vocabularies/organisatie/>
PREFIX lblodgeneriek: <https://data.lblod.info/vocabularies/generiek/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX ch: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX code: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX geo: <http://www.opengis.net/ont/geosparql#>
PREFIX nacebel: <http://data.gift/vocabularies/nace-bel/>
PREFIX core: <http://mu.semte.ch/vocabularies/core/>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d> a besluit:Bestuursorgaan ;
core:uuid """0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/41caf7e6-b040-4720-9cc2-a96cfffed5b4> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Leidend Ambtenaar""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034> a besluit:Bestuursorgaan ;
core:uuid """e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b52094ff-21a2-4da8-8dbe-f513365d1528> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Algemene vergadering""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353> a besluit:Bestuursorgaan ;
core:uuid """16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353""" ;
skos:prefLabel ?governingBodyLabel ;
besluit:bestuurt <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> ;
org:classification <http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/013cc838-173a-4657-b1ae-b00c048df943> .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?administrativeUnit core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""" ;
skos:prefLabel ?administrativeUnitLabel .
BIND(CONCAT("""Raad van bestuur""", " ", ?administrativeUnitLabel) as ?governingBodyLabel)
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> core:uuid """7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca""".
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a besluit:Bestuurseenheid.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a org:Organization.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> a dc_terms:Agent.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT""".
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> org:classification <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9>.
# Site
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> core:uuid """6585490A8CEC3153DEA3A208""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> a schema:ContactPoint .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:email """mail@adres.com""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:telephone """tel:+3211211430""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> foaf:page """https://www.vlaanderen.be""" .
<http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> schema:contactType """Primary""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> core:uuid """6585490B8CEC3153DEA3A209""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> a schema:ContactPoint .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> schema:telephone """tel:+3211211431""" .
<http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> schema:contactType """Secondary""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> core:uuid """6585490B8CEC3153DEA3A20A""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> a locn:Address .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:Adresvoorstelling.huisnummer """1""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:thoroughfare """Oude Markt""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:postCode """3000""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:gemeentenaam """Leuven""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:adminUnitL2 """Vlaams-Brabant""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:land """België""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> locn:fullAddress """Oude Markt 1, 3000 Leuven, België""" .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> adres:verwijstNaar <https://data.vlaanderen.be/id/adres/294733> .
<http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> dc_terms:source <http://lblod.data.gift/concepts/e59c97a9-4e95-4d65-9696-756de47fbc1f> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> core:uuid """6585490B8CEC3153DEA3A20B""" .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> a org:Site .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> organisatie:bestaatUit <http://data.lblod.info/id/adressen/6585490B8CEC3153DEA3A20A> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> org:siteAddress <http://data.lblod.info/id/contact-punten/6585490A8CEC3153DEA3A208> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> org:siteAddress <http://data.lblod.info/id/contact-punten/6585490B8CEC3153DEA3A209> .
<http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> ere:vestigingstype <http://lblod.data.gift/concepts/f1381723dec42c0b6ba6492e41d6f5dd> .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> org:hasPrimarySite <http://data.lblod.info/id/vestigingen/6585490B8CEC3153DEA3A20B> .
# KBO number
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> core:uuid """65856287B12D00C739F23920""".
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> a generiek:GestructureerdeIdentificator.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920> generiek:lokaleIdentificator """0262925527""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> core:uuid """65856287B12D00C739F23921""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> a adms:Identifier.
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> skos:notation """KBO nummer""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921> generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23920>.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/65856287B12D00C739F23921>.
# Sharepoint identifier
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> core:uuid """65856287B12D00C739F23922""".
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> a generiek:GestructureerdeIdentificator.
<http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> generiek:lokaleIdentificator """sp-id-test""" .
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> core:uuid """65856287B12D00C739F23923""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> a adms:Identifier.
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> skos:notation """SharePoint identificator""".
<http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/65856287B12D00C739F23922> .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/65856287B12D00C739F23923> .
# OVO number
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> adms:identifier <http://data.lblod.info/id/identificatoren/d5713a51-40d4-4b79-bf72-0d917f78c37b> .
<http://data.lblod.info/id/identificatoren/d5713a51-40d4-4b79-bf72-0d917f78c37b> a adms:Identifier ;
core:uuid """d5713a51-40d4-4b79-bf72-0d917f78c37b""" ;
skos:notation "OVO-nummer" ;
generiek:gestructureerdeIdentificator <http://data.lblod.info/id/gestructureerdeIdentificatoren/438b542b-6841-4137-b8da-287b394328ee> .
<http://data.lblod.info/id/gestructureerdeIdentificatoren/438b542b-6841-4137-b8da-287b394328ee> a generiek:GestructureerdeIdentificator ;
core:uuid """438b542b-6841-4137-b8da-287b394328ee""" ;
generiek:lokaleIdentificator "OVO009999" .
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> besluit:werkingsgebied <http://data.lblod.info/id/werkingsgebieden/a8040e566e7a22dfc6a83a7176d105abc68ab1bf1a89e94a1333c8f049131837>.
<http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca> regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6>.
<http://data.lblod.info/id/bestuurseenheden/8a162fa437a54cb657b57514e4e0135ec106fce3206c29cd2f90b1859ed90dab> org:hasSubOrganization <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca>.
<http://data.lblod.info/id/bestuurseenheden/8a162fa437a54cb657b57514e4e0135ec106fce3206c29cd2f90b1859ed90dab> ext:isFounderOfOrganization <http://data.lblod.info/id/bestuurseenheden/7d1254994765887e47ee3c9a2551f6a790a02a1747809285f52e7e690c12f2ca>.
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee> a besluit:Bestuursorgaan ;
core:uuid """47e52223b3e27ad63c7233f93df0331f6d45bfb743f81d1110cbca4b3ac933ee""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/16875d1ad2294295c576de9837756a4c6796d3ee7e0b7ebd6e8d3e8f65930353> ;
mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86> a besluit:Bestuursorgaan ;
core:uuid """be22b1988874583b0773677665596200c9586f758207cdf335278a9380180d86""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/e891dc823e0d924a94cd067d0b291c169c95695cdd73a3c259e79c39e91d0034> ;
mandaat:bindingStart "1971-11-03T00:00:00.000Z"^^xsd:dateTime .
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66> a besluit:Bestuursorgaan ;
core:uuid """a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66""" ;
generiek:isTijdspecialisatieVan <http://data.lblod.info/id/bestuursorganen/0f87572fb2968c17383dc7574320031dffa339f17a974e3b194588d685c1fc5d> ;
mandaat:bindingStart "2019-01-01T00:00:00.000Z"^^xsd:dateTime .
}
}
;
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/bestuursorganen/a48a21167ca609b76d621be5d5714e28f48711f1eb49d704985d1476565fdd66> lblodlg:heeftBestuursfunctie <http://data.lblod.info/id/bestuursfuncties/73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490> .
<http://data.lblod.info/id/bestuursfuncties/73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490> a lblodlg:Bestuursfunctie ;
core:uuid """73e7ef49c748e7f475feb952355f4a6bee2db1d85cd30b17b722a6291739b490""" ;
org:role <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/855489b9-b584-4f34-90b2-39aea808cd9f> ;
skos:prefLabel """VERENIGING OCMW-WIELTJESGRACHT Leidend ambtenaar""" .
}
}

View File

@@ -1,34 +0,0 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s ext:isFounderOfOrganization ?o .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s ext:isFounderOfOrganization ?o .
?o org:classification ?class .
VALUES ?class {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9> # Welzijnsvereniging
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/34b5af85-dc9f-468f-9e03-ef89b174c267> # Autonome verzorgingsinstelling
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s org:hasSubOrganization ?o .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s org:hasSubOrganization ?o .
?o org:classification ?class .
VALUES ?class {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/e8294b73-87c9-4fa2-9441-1937350763c9> # Welzijnsvereniging
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/34b5af85-dc9f-468f-9e03-ef89b174c267> # Autonome verzorgingsinstelling
}
}
}

View File

@@ -1,4 +0,0 @@
{$SITE_ADDRESS}:443 {
reverse_proxy identifier:80
tls internal
}

View File

@@ -60,8 +60,8 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://cache/board-position-codes/"
end
match "/functionaries/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/functionaries/"
match "/agents/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/agents/"
end
match "/agent-status-codes/*path", %{ accept: [:json], layer: :api} do
@@ -76,10 +76,6 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://cache/organizations/"
end
match "/registered-organizations/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/registered-organizations/"
end
match "/administrative-units/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/administrative-units/"
end
@@ -88,20 +84,12 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://cache/administrative-unit-classification-codes/"
end
match "/organization-classification-codes/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/organization-classification-codes/"
end
match "/registered-organization-classification-codes/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/registered-organization-classification-codes/"
end
match "/worship-administrative-units/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/worship-administrative-units/"
end
match "/worship-services/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/worship-services/"
Proxy.forward conn, path, "http://resource/worship-services/" # DISABLE CACHING FOR NOW (BUG OP-1404)
end
match "/recognized-worship-types/*path", %{ accept: [:json], layer: :api} do
@@ -109,7 +97,7 @@ defmodule Dispatcher do
end
match "/central-worship-services/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/central-worship-services/"
Proxy.forward conn, path, "http://resource/central-worship-services/"
end
match "/representative-bodies/*path", %{ accept: [:json], layer: :api} do
@@ -125,7 +113,7 @@ defmodule Dispatcher do
end
match "/local-involvements/*path", %{ accept: [:json], layer: :api} do
Proxy.forward conn, path, "http://cache/local-involvements/"
Proxy.forward conn, path, "http://resource/local-involvements/"
end
match "/identifiers/*path", %{ accept: [:json], layer: :api} do
@@ -227,24 +215,16 @@ defmodule Dispatcher do
Proxy.forward conn, path, "http://cache/decision-activities/"
end
# There is currently no logic to invalidate the kboOrganization cache when wegwijse updates the content
match "/kbo-organizations/*path", %{ accept: [:any], layer: :api} do
Proxy.forward conn, path, "http://resource/kbo-organizations/"
end
###############
# LOGIN
###############
match "/accounts", %{ accept: [:json], layer: :api} do
Proxy.forward conn, [], "http://resource/accounts/"
Proxy.forward conn, [], "http://resource/accounts/"
end
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,6 +242,7 @@ defmodule Dispatcher do
###############################################################
match "/search/*path", %{ accept: %{ json: true }, layer: :api_services} do
IO.puts("hey")
Proxy.forward conn, path, "http://search/"
end
@@ -281,52 +262,28 @@ 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-unit/person-information-updates"
forward conn, path, "http://privacy/person-information-updates"
end
match "/person-information-requests/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-unit/person-information-requests"
forward conn, path, "http://privacy/person-information-requests"
end
match "/person-information-ask/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-unit/person-information-ask/"
forward conn, path, "http://privacy/person-information-ask/"
end
match "/person-information-validate-ssn/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://privacy-unit/person-information-validate-ssn/"
forward conn, path, "http://privacy/person-information-validate-ssn/"
end
get "/uri-info/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://uri-info/"
end
post "/construct-organization-relationships/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://construct-organization-relationships/create-relationships/"
end
post "/kbo-data-sync/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://kbo-data-sync/sync-kbo-data/"
end
get "/ldes/*path", %{ layer: :api_services } do
forward conn, path, "http://ldes-backend/"
post "/create-administrative-unit-relationships/*path", %{ layer: :api_services, accept: %{ json: true } } do
forward conn, path, "http://construct-administrative-unit-relationships/create-relationships/"
end
#################################################################
@@ -346,7 +303,7 @@ defmodule Dispatcher do
end
get "/files/*path" , %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://resource/files/"
Proxy.forward conn, path, "http://cache/files/"
end
#################################################################
@@ -354,11 +311,20 @@ defmodule Dispatcher do
#################################################################
get "/datasets/*path", %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://resource/datasets/"
Proxy.forward conn, path, "http://cache/datasets/"
end
get "/distributions/*path", %{ layer: :api_services, accept: %{ json: true } } do
Proxy.forward conn, path, "http://resource/distributions/"
Proxy.forward conn, path, "http://cache/distributions/"
end
#################################################################
# DELTA: administrative-units
#################################################################
get "/sync/administrative-units/files/*path" do
Proxy.forward conn, path, "http://delta-producer-json-diff-file-publisher-administrative-units/files/"
end
#################################################################
@@ -366,15 +332,7 @@ defmodule Dispatcher do
#################################################################
get "/sync/organizations/files/*path" do
Proxy.forward conn, path, "http://delta-producer-publication-graph-maintainer/organizations/files/"
end
#################################################################
# DELTA: organizations-public-info
#################################################################
get "/sync/organizations-public-info/files/*path" do
Proxy.forward(conn, path, "http://delta-producer-publication-graph-maintainer/organizations-public-info/files/")
Proxy.forward conn, path, "http://delta-producer-json-diff-file-publisher-organizations/files/"
end
#################################################################
@@ -382,7 +340,7 @@ defmodule Dispatcher do
#################################################################
get "/sync/public/files/*path" do
Proxy.forward(conn, path, "http://delta-producer-publication-graph-maintainer/public/files/")
Proxy.forward conn, path, "http://delta-producer-json-diff-publisher-public/files/"
end
#################################################################
@@ -390,21 +348,17 @@ defmodule Dispatcher do
#################################################################
get "/sync/worship-posts/files/*path" do
Proxy.forward(conn, path, "http://delta-producer-publication-graph-maintainer/worship-posts/files/")
end
#################################################################
# Exports
#################################################################
get "/download-exports/*path" do
Proxy.forward conn, path, "http://download-exports/"
Proxy.forward conn, path, "http://delta-producer-pub-graph-maintainer-worship-posts/files/"
end
###############################################################
# frontend layer
###############################################################
match "/authorization/callback/*_path", %{ accept: [:html], layer: :api } do
Proxy.forward conn, [], "http://frontend/torii/redirect.html"
end
match "/assets/*path", %{ layer: :api } do
Proxy.forward conn, path, "http://frontend/assets/"
end

View File

@@ -63,38 +63,6 @@
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/organizations-public-info": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing",
"nextIndex": "0"
},
{
"currentOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/initialPublicationGraphSyncing",
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation",
"nextIndex": "1"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/organizations-public-info": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/healing/patchPublicationGraph",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/organizations-public-info": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/deltas/deltaDumpFileCreation",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/public": {
"tasksConfiguration": [
{
@@ -158,23 +126,5 @@
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/sp-sync/initialSyncing/organizations": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/sp-sync/initialSyncing",
"nextIndex": "0"
}
]
},
"http://redpencil.data.gift/id/jobs/concept/JobOperation/sp-sync/healingOperation/organizations": {
"tasksConfiguration": [
{
"currentOperation": null,
"nextOperation": "http://redpencil.data.gift/id/jobs/concept/TaskOperation/sp-sync/healing",
"nextIndex": "0"
}
]
}
}

View File

@@ -1,6 +0,0 @@
{
"enabled": false,
"allowedIpAddresses": [],
"authSource": "/config/source.json",
"authOutput": "/config/output.json"
}

View File

@@ -0,0 +1,9 @@
# disabled on dev
application:
security:
enabled: false
spring:
autoconfigure:
exclude:
- org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration
- org.springframework.boot.actuate.autoconfigure.security.servlet.ManagementWebSecurityAutoConfiguration

View File

@@ -1,73 +0,0 @@
import { moveTriples } from "../support";
import { Changeset } from "../types";
import { query, sparqlEscapeUri } from 'mu';
export default async function dispatch(changesets: Changeset[]) {
for (const changeset of changesets) {
const subjects = new Set(changeset.inserts.map((insert) => insert.subject.value));
for (const subject of subjects) {
const { results: { bindings } } = await query(`
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX code: <http://telegraphis.net/ontology/measurement/code#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
CONSTRUCT {
?organization a org:Organization;
skos:prefLabel ?prefLabel;
adms:identifier ?identifier;
org:hasPrimarySite ?site.
?identifier skos:notation ?identifierLabel;
generiek:gestructureerdeIdentificator ?gestructureerdeIdentificator.
?gestructureerdeIdentificator generiek:lokaleIdentificator ?lokaleIdentificator.
?site org:siteAddress ?siteAddress.
?siteAddress ?p ?o.
} WHERE {
{
VALUES ?organization { ${sparqlEscapeUri(subject)} }
?organization a org:Organization;
skos:prefLabel ?prefLabel;
adms:identifier ?identifier;
org:hasPrimarySite ?site.
?identifier skos:notation ?identifierLabel;
generiek:gestructureerdeIdentificator ?gestructureerdeIdentificator.
?gestructureerdeIdentificator generiek:lokaleIdentificator ?lokaleIdentificator.
?site org:siteAddress ?siteAddress.
?siteAddress ?p ?o.
} UNION {
VALUES ?site { ${sparqlEscapeUri(subject)} }
?organization a org:Organization;
skos:prefLabel ?prefLabel;
adms:identifier ?identifier;
org:hasPrimarySite ?site.
?identifier skos:notation ?identifierLabel;
generiek:gestructureerdeIdentificator ?gestructureerdeIdentificator.
?gestructureerdeIdentificator generiek:lokaleIdentificator ?lokaleIdentificator.
?site org:siteAddress ?siteAddress.
?siteAddress ?p ?o.
} UNION {
VALUES ?siteAddress { ${sparqlEscapeUri(subject)} }
?organization a org:Organization;
skos:prefLabel ?prefLabel;
adms:identifier ?identifier;
org:hasPrimarySite ?site.
?identifier skos:notation ?identifierLabel;
generiek:gestructureerdeIdentificator ?gestructureerdeIdentificator.
?gestructureerdeIdentificator generiek:lokaleIdentificator ?lokaleIdentificator.
?site org:siteAddress ?siteAddress.
?siteAddress ?p ?o.
}
}
`);
if(bindings.length){
console.log('SUCCESS')
await moveTriples([
{
inserts: bindings.map(({ s, p, o}) => { return { subject: s, predicate: p, object: o} }),
}
])
}
}
}
}

View File

@@ -1,20 +1,18 @@
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://triplestore:8890/sparql';
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`;
// Graphs
const TARGET_GRAPH = process.env.TARGET_GRAPH || `http://mu.semte.ch/graphs/administrative-unit`;
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
module.exports = {
BATCH_SIZE,
@@ -26,7 +24,6 @@ module.exports = {
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
LANDING_ZONE_GRAPH,
TARGET_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
};
INGEST_GRAPH,
FILE_SYNC_GRAPH
};

View File

@@ -1,72 +0,0 @@
const PREFIXES = `
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>`
const contextConfig = {
addTypes: {
scope: 'all', // 'inserts, 'deletes', 'all' or none. To add rdf:type to subjects of inserts, deletes or both
exhausitive: false, // true or false: find all types for a subject, even if one is already present in delta
},
contextQueries: [
// Case Leidnggevenden
// They can be triggered when being inserted or when their link to a bestuursfunctie is added
{
trigger: { // subjectType or predicateValue
subjectType: "lblodlg:Functionaris"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?functionaris org:holds ?bestuursfunctie ;
?p ?o .
?orgaanInTime lblodlg:heeftBestuursfunctie ?bestuursfunctie ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
} WHERE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/leidinggevenden> {
VALUES ?functionaris { ${subject} }
?functionaris org:holds ?bestuursfunctie ;
?p ?o .
?orgaanInTime lblodlg:heeftBestuursfunctie ?bestuursfunctie ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
}
}`
},
{
trigger: {
predicateValue: "org:holds"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?functionaris org:holds ?bestuursfunctie ;
?p ?o .
?orgaanInTime lblodlg:heeftBestuursfunctie ?bestuursfunctie ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
} WHERE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/leidinggevenden> {
VALUES ?functionaris { ${subject} }
?functionaris org:holds ?bestuursfunctie ;
?p ?o .
?orgaanInTime lblodlg:heeftBestuursfunctie ?bestuursfunctie ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
}
}`
}
]
}
module.exports = {
contextConfig,
PREFIXES
};

View File

@@ -1,8 +1,14 @@
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
} = require('./util');
const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
} = require('./config');
/**
* Dispatch the fetched information to a target graph.
@@ -20,66 +26,51 @@ const {
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
const { mu, muAuthSudo, fetch } = lib;
const { termObjectChangeSets } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
for (let { deletes, inserts } of termObjectChangeSets) {
const deleteStatements = deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
const insertStatements = inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
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,
);
}
)
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
if (originalDeletes.length) {
// Map deletes from DL to OP model
const transformedDeletes = await transformStatements(fetch, deletesWithContext);
if (!transformedDeletes.length) {
console.log(`Warn: Delete statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedDeletes);
}
}
if (originalInserts.length) {
// Map inserts from DL to OP model
const transformedInserts = await transformStatements(fetch, insertsWithContext);
if (!transformedInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedInserts);
}
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"
);
}
)
}
}
}
module.exports = {
dispatch
};
};

View File

@@ -1,17 +1,14 @@
const { batchedDbUpdate, transformLandingZoneGraph } = require('./util');
const {
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
const { transformStatements, batchedDbUpdate, partition } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
INGEST_GRAPH,
FILE_SYNC_GRAPH
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
@@ -28,58 +25,35 @@ const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo } = lib;
const { mu, muAuthSudo, fetch } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`)
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
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
)
}
)
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedInsertTriples = await transformLandingZoneGraph(fetch, endpoint);
console.log(`Transformed ${transformedInsertTriples.length} triples`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_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
);
}
module.exports = {
dispatch,
onFinishInitialIngest
};
dispatch
};

View File

@@ -1,16 +1,9 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION
} = require('./config');
async function batchedDbUpdate(
muUpdate,
async function batchedDbUpdate(muUpdate,
graph,
triples,
extraHeaders,
@@ -44,6 +37,39 @@ ${batch}
}
}
async function deleteFromAllGraphs(muUpdate,
triples,
extraHeaders,
endpoint,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
) {
for (const triple of triples) {
console.log(`Deleting a triple from all graphs in triplestore`);
const deleteCall = async () => {
await muUpdate(`
DELETE {
GRAPH ?g {
${triple}
}
} WHERE {
GRAPH ?g {
${triple}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(deleteCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
@@ -84,16 +110,18 @@ function partition(arr, fn) {
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
function transformTriples(fetch, triples) {
return operationWithRetry(mainConversion(fetch, triples), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
async function mainConversion(fetch, triples, mapping) {
function mainConversion(fetch, triples) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
@@ -103,66 +131,23 @@ async function mainConversion(fetch, triples, mapping) {
redirect: 'follow'
};
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await response.text();
return fetch("http://reasoner/reason/dl2op/main", requestOptions)
.then(response => response.text());
}
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
function transformStatements(fetch, triples) {
return transformTriples(fetch, triples.join('\n')).then(
graph => {
statements = graph.replace(/\n{2,}/g, '').split('\n')
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`)
return statements
}
)
}
module.exports = {
batchedDbUpdate,
deleteFromAllGraphs,
partition,
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph
};
transformStatements
};

View File

@@ -1,72 +0,0 @@
const PREFIXES = `
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>`
const contextConfig = {
addTypes: {
scope: 'all', // 'inserts, 'deletes', 'all' or none. To add rdf:type to subjects of inserts, deletes or both
exhausitive: false, // true or false: find all types for a subject, even if one is already present in delta
},
contextQueries: [
// Case Mandatarissen
// They can be triggered when being inserted or when their link to a mandate is added
{
trigger: { // subjectType or predicateValue
subjectType: "mandaat:Mandataris"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?mandataris org:holds ?mandate ;
?p ?o .
?orgaanInTime org:hasPost ?mandate ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
} WHERE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/mandatarissen> {
VALUES ?mandataris { ${subject} }
?mandataris org:holds ?mandate ;
?p ?o .
?orgaanInTime org:hasPost ?mandate ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
}
}`
},
{
trigger: {
predicateValue: "org:holds"
},
queryTemplate: (subject) => `
${PREFIXES}
CONSTRUCT {
?mandataris org:holds ?mandate ;
?p ?o .
?orgaanInTime org:hasPost ?mandate ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
} WHERE {
GRAPH <http://mu.semte.ch/graphs/landing-zone/mandatarissen> {
VALUES ?mandataris { ${subject} }
?mandataris org:holds ?mandate ;
?p ?o .
?orgaanInTime org:hasPost ?mandate ;
mandaat:isTijdspecialisatieVan ?orgaan .
?orgaan besluit:bestuurt ?eenheid .
?eenheid besluit:classificatie ?classification .
}
}`
}
]
}
module.exports = {
contextConfig,
PREFIXES
};

View File

@@ -1,85 +0,0 @@
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
} = require('./util');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
if (originalDeletes.length) {
// Map deletes from DL to OP model
const transformedDeletes = await transformStatements(fetch, deletesWithContext);
if (!transformedDeletes.length) {
console.log(`Warn: Delete statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedDeletes);
}
}
if (originalInserts.length) {
// Map inserts from DL to OP model
const transformedInserts = await transformStatements(fetch, insertsWithContext);
if (!transformedInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedInserts);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -1,85 +0,0 @@
const { batchedDbUpdate, transformLandingZoneGraph } = require('./util');
const {
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedInsertTriples = await transformLandingZoneGraph(fetch, endpoint);
console.log(`Transformed ${transformedInsertTriples.length} triples`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_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
);
}
module.exports = {
dispatch,
onFinishInitialIngest
};

View File

@@ -1,19 +1,18 @@
const BATCH_SIZE = parseInt(process.env.BATCH_SIZE) || 1000;
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 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 || 100);
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`;
// Graphs
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/clb-contact-data`;
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'database';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
module.exports = {
BATCH_SIZE,
@@ -25,6 +24,6 @@ module.exports = {
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT
INGEST_GRAPH,
FILE_SYNC_GRAPH
};

View File

@@ -0,0 +1,76 @@
const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
FILE_SYNC_GRAPH
} = require('./config');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjectChangeSets } = data;
for (let { deletes, inserts } of termObjectChangeSets) {
const deleteStatements = deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
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,
);
}
)
}
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"
);
}
)
}
}
}
module.exports = {
dispatch
};

View File

@@ -1,15 +1,14 @@
const { batchedDbUpdate, moveDataAfterInitialSync } = require('./util');
const {
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
const { transformStatements, batchedDbUpdate, partition } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
LANDING_ZONE_GRAPH,
INGEST_GRAPH,
FILE_SYNC_GRAPH
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
@@ -26,44 +25,35 @@ const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo } = lib;
const { mu, muAuthSudo, fetch } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - without any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`)
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ '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).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
)
}
)
}
}
async function onFinishInitialIngest(lib,data) {
const { muAuthSudo } = lib;
console.log(`!! On-finish triggered !!`);
await moveDataAfterInitialSync(muAuthSudo.updateSudo, endpoint)
}
module.exports = {
dispatch,
onFinishInitialIngest
dispatch
};

View File

@@ -1,16 +1,9 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION
} = require('./config');
async function batchedDbUpdate(
muUpdate,
async function batchedDbUpdate(muUpdate,
graph,
triples,
extraHeaders,
@@ -44,6 +37,39 @@ ${batch}
}
}
async function deleteFromAllGraphs(muUpdate,
triples,
extraHeaders,
endpoint,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
) {
for (const triple of triples) {
console.log(`Deleting a triple from all graphs in triplestore`);
const deleteCall = async () => {
await muUpdate(`
DELETE {
GRAPH ?g {
${triple}
}
} WHERE {
GRAPH ?g {
${triple}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(deleteCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
@@ -84,16 +110,18 @@ function partition(arr, fn) {
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
function transformTriples(fetch, triples) {
return operationWithRetry(mainConversion(fetch, triples), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
async function mainConversion(fetch, triples, mapping) {
function mainConversion(fetch, triples) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
@@ -103,66 +131,23 @@ async function mainConversion(fetch, triples, mapping) {
redirect: 'follow'
};
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await response.text();
return fetch("http://reasoner/reason/dl2op/main", requestOptions)
.then(response => response.text());
}
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
function transformStatements(fetch, triples) {
return transformTriples(fetch, triples.join('\n')).then(
graph => {
statements = graph.replace(/\n{2,}/g, '').split('\n')
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`)
return statements
}
)
}
module.exports = {
batchedDbUpdate,
deleteFromAllGraphs,
partition,
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph
};
transformStatements
};

View File

@@ -1,20 +1,22 @@
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://triplestore:8890/sparql';
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';
// Graphs
const TARGET_GRAPH = process.env.TARGET_GRAPH || `http://mu.semte.ch/graphs/administrative-unit`;
const LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
if (!process.env.FILE_SYNC_GRAPH)
throw `Expected 'FILE_SYNC_GRAPH' to be provided.`;
const FILE_SYNC_GRAPH = process.env.FILE_SYNC_GRAPH;
module.exports = {
BATCH_SIZE,
@@ -26,8 +28,9 @@ module.exports = {
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
TARGET_GRAPH
};
INGEST_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
UNFILTERED_MAPPING,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING,
};

View File

@@ -0,0 +1,88 @@
const { transformStatements, batchedDbUpdate, partition, deleteFromAllGraphs } = require('./util');
const {
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
UNFILTERED_MAPPING,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING,
} = require('./config');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjectChangeSets } = data;
for (let { deletes, inserts } of termObjectChangeSets) {
const deleteStatements = deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
const insertStatements = inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
if (deleteStatements.length) {
const transformedStatementsToDelete = await transformStatements(fetch, deleteStatements, UNFILTERED_MAPPING);
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) {
const transformedStatementsToInsert = await transformStatements(fetch, insertStatements, MAIN_INFO_MAPPING);
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
);
}
const transformedStatementsToInsertPrivate = await transformStatements(fetch, insertStatements, PRIVATE_INFO_MAPPING);
if (transformedStatementsToInsertPrivate.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
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
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,80 @@
const { transformStatements, batchedDbUpdate, } = require('./util');
const { BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
INGEST_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo, fetch } = lib;
const { termObjects } = data;
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
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
)
}
}
);
}
}
module.exports = {
dispatch
};

View File

@@ -0,0 +1,154 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION
} = require('./config');
async function batchedDbUpdate(muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function deleteFromAllGraphs(muUpdate,
triples,
extraHeaders,
endpoint,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
) {
for (const triple of triples) {
console.log(`Deleting a triple from all graphs in triplestore`);
const deleteCall = async () => {
await muUpdate(`
DELETE {
GRAPH ?g {
${triple}
}
} WHERE {
GRAPH ?g {
${triple}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(deleteCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
/**
* Splits an array into two parts, a part that passes and a part that fails a predicate function.
* Credits: https://github.com/benjay10
* @public
* @function partition
* @param {Array} arr - Array to be partitioned
* @param {Function} fn - Function that accepts single argument: an element of the array, and should return a truthy or falsy value.
* @returns {Object} Object that contains keys passes and fails, each representing an array with elemets that pass or fail the predicate respectively
*/
function partition(arr, fn) {
let passes = [], fails = [];
arr.forEach((item) => (fn(item) ? passes : fails).push(item));
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
function transformTriples(fetch, triples, mapping) {
return operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
return fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
.then(response => response.text());
}
function transformStatements(fetch, triples, mapping) {
return transformTriples(fetch, triples.join('\n'), mapping).then(
graph => {
statements = graph ? graph.split('\n') : [];
console.log(`CONVERSION ${mapping}: FROM ${triples.length} triples to ${statements.length}`)
return statements
}
)
}
module.exports = {
batchedDbUpdate,
deleteFromAllGraphs,
partition,
transformStatements
};

View File

@@ -1,40 +0,0 @@
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://triplestore: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);
// Graphs
const TARGET_GRAPH = process.env.TARGET_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 LANDING_ZONE_GRAPH = process.env.DCR_LANDING_ZONE_GRAPH || `http://mu.semte.ch/graphs/landing-zone/leidinggevenden`;
// Mappings
const MAIN_INFO_MAPPING = "main-info";
const PRIVATE_INFO_MAPPING = "private-info";
// ENDPOINTS
const LANDING_ZONE_DATABASE = process.env.DCR_LANDING_ZONE_DATABASE || 'db';
const LANDING_ZONE_DATABASE_ENDPOINT = process.env.DCR_LANDING_ZONE_DATABASE_ENDPOINT || `http://${LANDING_ZONE_DATABASE}:8890/sparql`;
module.exports = {
BATCH_SIZE,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MAX_DB_RETRY_ATTEMPTS,
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING
};

View File

@@ -1,11 +0,0 @@
const contextConfig = {
addTypes: {
scope: 'all', // 'inserts, 'deletes', 'all' or none. To add rdf:type to subjects of inserts, deletes or both
exhausitive: false, // true or false: find all types for a subject, even if one is already present in delta
},
contextQueries: []
}
module.exports = {
contextConfig
};

View File

@@ -1,114 +0,0 @@
const {
transformStatements,
deleteFromTargetGraph,
insertIntoTargetGraph,
deleteFromPrivateGraph,
insertIntoPrivateGraph
} = require('./util');
const {
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING
} = require('./config');
/**
* Dispatch the fetched information to a target graph.
* Note: <share://file/data> will be ADDED to it's own graph.
* We take only care of adding them, not updating triples, this is a TODO
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjectChangeSets: { deletes, inserts } } data - The fetched changes sets, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, fetch } = lib;
let { termObjectChangeSets, termObjectChangeSetsWithContext } = data;
// Both arrays are the same length, so we can zip them together for easier processing
zippedChangeSets = termObjectChangeSets.map((o, i) => ({
original: o,
withContext: termObjectChangeSetsWithContext[i]
}));
console.log(`Received ${zippedChangeSets.length} change sets`)
for (let { original, withContext } of zippedChangeSets) {
let originalDeletes, originalInserts, insertsWithContext, deletesWithContext;
try {
originalInserts = original.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
originalDeletes = original.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set: ${e}`);
console.log(`Original change set: ${JSON.stringify(original)}`);
throw e;
}
// Extra context needed for mapping from DL to OP model and filtering based on type.
try {
insertsWithContext = withContext.inserts.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
deletesWithContext = withContext.deletes.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
} catch (e) {
console.log(`Error while processing change set with context: ${e}`);
console.log(`Change set with context: ${JSON.stringify(withContext)}`);
throw e;
}
if (originalDeletes.length) {
// Map main deletes from DL to OP model
const transformedMainDeletes = await transformStatements(fetch, deletesWithContext, MAIN_INFO_MAPPING);
if (!transformedMainDeletes.length) {
console.log(`Warn: Delete main statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedMainDeletes}`);
} else {
await deleteFromTargetGraph(lib, transformedMainDeletes);
}
// Map private deletes from DL to OP model
const transformedPrivateDeletes = await transformStatements(fetch, deletesWithContext, PRIVATE_INFO_MAPPING);
if (!transformedPrivateDeletes.length) {
console.log(`Warn: Delete private statements mapped to empty result.`);
console.log(`Input: ${deletesWithContext}`);
console.log(`Output: ${transformedPrivateDeletes}`);
} else {
await deleteFromPrivateGraph(lib, transformedPrivateDeletes);
}
}
if (originalInserts.length) {
// Map main inserts from DL to OP model
const transformedMainInserts = await transformStatements(fetch, insertsWithContext, MAIN_INFO_MAPPING);
if (!transformedMainInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedMainInserts}`);
} else {
await insertIntoTargetGraph(lib, transformedMainInserts);
}
// Map private inserts from DL to OP model
const transformedPrivateInserts = await transformStatements(fetch, insertsWithContext, PRIVATE_INFO_MAPPING);
if (!transformedPrivateInserts.length) {
console.log(`Warn: Insert statements mapped to empty result.`);
console.log(`Input: ${insertsWithContext}`);
console.log(`Output: ${transformedPrivateInserts}`);
} else {
await insertIntoPrivateGraph(lib, transformedPrivateInserts);
}
}
}
}
module.exports = {
dispatch
};

View File

@@ -1,106 +0,0 @@
const { batchedDbUpdate, transformLandingZoneGraph } = require('./util');
const {
BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES,
DIRECT_DATABASE_ENDPOINT,
MU_CALL_SCOPE_ID_INITIAL_SYNC,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
LANDING_ZONE_GRAPH,
LANDING_ZONE_DATABASE_ENDPOINT,
MAIN_INFO_MAPPING,
PRIVATE_INFO_MAPPING
} = require('./config');
const endpoint = BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES ? DIRECT_DATABASE_ENDPOINT : process.env.MU_SPARQL_ENDPOINT;
/**
* Dispatch the fetched information to a target graph.
* @param { mu, muAuthSudo } lib - The provided libraries from the host service.
* @param { termObjects } data - The fetched quad information, which objects of serialized Terms
* [ {
* graph: "<http://foo>",
* subject: "<http://bar>",
* predicate: "<http://baz>",
* object: "<http://boom>^^<http://datatype>"
* }
* ]
* @return {void} Nothing
*/
async function dispatch(lib, data) {
const { mu, muAuthSudo } = lib;
const { termObjects } = data;
// Steps:
// 1. Write the triples to the landing zone graph - withouth any mapping or filtering
// 2. One-time reasoning run with the full landing zone graph and write the results to the target graph (on-finish)
if (BYPASS_MU_AUTH_FOR_EXPENSIVE_QUERIES) {
console.warn(`Service configured to skip MU_AUTH!`);
}
console.log(`Using ${endpoint} to insert triples`);
if (termObjects.length) {
const originalInsertTriples = termObjects.map(o => `${o.subject} ${o.predicate} ${o.object}.`);
await batchedDbUpdate(
muAuthSudo.updateSudo,
LANDING_ZONE_GRAPH,
originalInsertTriples,
{ 'mu-call-scope-id': MU_CALL_SCOPE_ID_INITIAL_SYNC },
LANDING_ZONE_DATABASE_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION
);
}
}
async function onFinishInitialIngest(lib) {
const { muAuthSudo, fetch } = lib;
console.log(`!! On-finish triggered !!`);
const transformedMainInsertTriples = await transformLandingZoneGraph(fetch, endpoint, MAIN_INFO_MAPPING);
console.log(`Transformed ${transformedMainInsertTriples.length} main triples`);
if (transformedMainInsertTriples.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
TARGET_GRAPH,
transformedMainInsertTriples,
{ '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 transformedPrivateInsertTriples = await transformLandingZoneGraph(fetch, endpoint, PRIVATE_INFO_MAPPING);
console.log(`Transformed ${transformedPrivateInsertTriples.length} private triples`);
if (transformedPrivateInsertTriples.length) {
await batchedDbUpdate(
muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
transformedPrivateInsertTriples,
{ '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,
onFinishInitialIngest
};

View File

@@ -1,204 +0,0 @@
const {
MAX_REASONING_RETRY_ATTEMPTS,
SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
TARGET_GRAPH,
PRIVACY_SENSITIVE_GRAPH,
LANDING_ZONE_GRAPH,
BATCH_SIZE
} = require('./config');
async function batchedDbUpdate(
muUpdate,
graph,
triples,
extraHeaders,
endpoint,
batchSize,
maxAttempts,
sleepBetweenBatches = 1000,
sleepTimeOnFail = 1000,
operation = 'INSERT'
) {
for (let i = 0; i < triples.length; i += batchSize) {
console.log(`Inserting triples in batch: ${i}-${i + batchSize}`);
const batch = triples.slice(i, i + batchSize).join('\n');
const insertCall = async () => {
await muUpdate(`
${operation} DATA {
GRAPH <${graph}> {
${batch}
}
}
`, extraHeaders, endpoint);
};
await operationWithRetry(insertCall, 0, maxAttempts, sleepTimeOnFail);
console.log(`Sleeping before next query execution: ${sleepBetweenBatches}`);
await new Promise(r => setTimeout(r, sleepBetweenBatches));
}
}
async function operationWithRetry(callback,
attempt,
maxAttempts,
sleepTimeOnFail) {
try {
if (typeof callback === "function")
return await callback();
else // Catch error from promise - not how I would do it normally, but allows re use of existing code.
return await callback;
}
catch (e) {
console.log(`Operation failed for ${callback.toString()}, attempt: ${attempt} of ${maxAttempts}`);
console.log(`Error: ${e}`);
console.log(`Sleeping ${sleepTimeOnFail} ms`);
if (attempt >= maxAttempts) {
console.log(`Max attempts reached for ${callback.toString()}, giving up`);
throw e;
}
await new Promise(r => setTimeout(r, sleepTimeOnFail));
return operationWithRetry(callback, ++attempt, maxAttempts, sleepTimeOnFail);
}
}
/**
* Splits an array into two parts, a part that passes and a part that fails a predicate function.
* Credits: https://github.com/benjay10
* @public
* @function partition
* @param {Array} arr - Array to be partitioned
* @param {Function} fn - Function that accepts single argument: an element of the array, and should return a truthy or falsy value.
* @returns {Object} Object that contains keys passes and fails, each representing an array with elemets that pass or fail the predicate respectively
*/
function partition(arr, fn) {
let passes = [], fails = [];
arr.forEach((item) => (fn(item) ? passes : fails).push(item));
return { passes, fails };
}
/**
* Send triples to reasoning service for conversion
*
*/
async function transformTriples(fetch, triples, mapping) {
return await operationWithRetry(mainConversion(fetch, triples, mapping), 0,
MAX_REASONING_RETRY_ATTEMPTS, SLEEP_TIME_AFTER_FAILED_REASONING_OPERATION);
}
async function mainConversion(fetch, triples, mapping) {
let formdata = new URLSearchParams();
formdata.append("data", triples);
let requestOptions = {
method: 'POST',
body: formdata,
redirect: 'follow'
};
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}`, requestOptions)
return await response.text();
}
async function transformStatements(fetch, triples, mapping = 'main') {
console.log(`Received ${JSON.stringify(triples)} to transform`);
const transformedTriples = await transformTriples(fetch, triples.join('\n'), mapping);
statements = transformedTriples ? transformedTriples.replace(/\n{2,}/g, '').split('\n') : [];
console.log(`CONVERSION: FROM ${triples.length} triples to ${statements.length}`);
return statements;
}
async function deleteFromTargetGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function deleteFromPrivateGraph(lib, statements) {
console.log(`Deleting ${statements.length} statements from target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'DELETE');
}
async function insertIntoTargetGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
TARGET_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function insertIntoPrivateGraph(lib, statements) {
console.log(`Inserting ${statements.length} statements into target graph`);
console.log(`Statements: ${JSON.stringify(statements)}`)
await batchedDbUpdate(
lib.muAuthSudo.updateSudo,
PRIVACY_SENSITIVE_GRAPH,
statements,
{},
process.env.MU_SPARQL_ENDPOINT,
BATCH_SIZE,
MAX_DB_RETRY_ATTEMPTS,
SLEEP_BETWEEN_BATCHES,
SLEEP_TIME_AFTER_FAILED_DB_OPERATION,
'INSERT');
}
async function transformLandingZoneGraph(fetch, endpoint, mapping = 'main') {
console.log(`Transforming landing zone graph: ${LANDING_ZONE_GRAPH}`);
const response = await fetch(`http://reasoner/reason/dl2op/${mapping}?data=${encodeURIComponent(`${endpoint}?default-graph-uri=&query=CONSTRUCT+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D+WHERE+%7B%0D%0A+GRAPH+<${LANDING_ZONE_GRAPH}>+%7B%0D%0A%3Fs+%3Fp+%3Fo%0D%0A%7D%0D%0A%7D&should-sponge=&format=text%2Fplain&timeout=0&run=+Run+Query`)}`);
const text = await response.text();
const statements = text.replace(/\n{2,}/g, '').split('\n');
return statements;
}
module.exports = {
batchedDbUpdate,
partition,
transformStatements,
transformLandingZoneGraph,
deleteFromTargetGraph,
insertIntoTargetGraph,
deleteFromPrivateGraph,
insertIntoPrivateGraph
};

View File

@@ -1,15 +0,0 @@
# Motivation
This folder contains migration files that are typically executed on an as-needed, or ad hoc, basis.
In addition, these files can function as templates or provide inspiration for future migrations.
## Warning
- Please keep in mind, when adding these files to the migrations folder, it's important to rename them according to the conventions established by the migration service
- As the data model or the data location may undergo changes over time, it's imporant to have a clear understanding of the implications when using these files.
## Template files
- `pseudonimyze-data.sparql-template` - the file that contains the sparql for pseudonymizing data in the triplestore. It should run every time the db is "refreshed" with a copy from PROD.
- `remove-stale-jobs.sparql-template` - removing `busy` and `scheduled` jobs.
- `remove-type-in-producer-graph.sparql-template` - the migration to handle the occasional sync issue between OP and Loket.

View File

@@ -1,149 +0,0 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX schema: <http://schema.org/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH ?g {
?person foaf:familyName ?fn.
?person foaf:givenName ?gn.
?person persoon:gebruikteVoornaam ?gvn.
}
} INSERT {
GRAPH ?g {
?person foaf:givenName ?gn_s.
?person foaf:familyName ?fn_s.
?person persoon:gebruikteVoornaam ?gvn_s.
}
} WHERE {
VALUES ?g { <http://mu.semte.ch/graphs/organisatieportaal> <http://redpencil.data.gift/id/deltas/producer/organizations>}
GRAPH ?g {
BIND("njbyevfeRTE8651B" 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).
}
}
}
;
DELETE {
GRAPH ?h {
?birth persoon:datum ?dob.
?identificator generiek:lokaleIdentificator ?rrn .
?person persoon:heeftNationaliteit ?nationality .
?person persoon:geslacht ?gender .
}
} INSERT {
GRAPH ?h {
?birth persoon:datum "1977-01-01T00:00:00Z"^^xsd:dateTime .
?identificator generiek:lokaleIdentificator "42012205181" .
}
} WHERE {
VALUES ?g { <http://mu.semte.ch/graphs/organisatieportaal> <http://redpencil.data.gift/id/deltas/producer/organizations>}
VALUES ?h { <http://mu.semte.ch/graphs/privacy-centric-graph> }
GRAPH ?g {
?person a person:Person.
}
GRAPH ?h {
OPTIONAL {
?person persoon:heeftGeboorte ?birth .
?birth persoon:datum ?dob.
}
OPTIONAL {
?person persoon:registratie/generiek:gestructureerdeIdentificator ?identificator .
?identificator generiek:lokaleIdentificator ?rrn .
}
OPTIONAL {
?person persoon:geslacht ?gender .
}
OPTIONAL {
?person persoon:heeftNationaliteit ?nationality .
}
}
}
;
DELETE {
GRAPH ?g {
?cp schema:telephone ?phone.
?cp schema:email ?mail.
?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 {
?cp schema:telephone ?phone_s.
?cp schema:email ?mail_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 {
VALUES ?g { <http://mu.semte.ch/graphs/organisatieportaal> <http://redpencil.data.gift/id/deltas/producer/organizations>}
GRAPH ?g {
BIND("njbyevfeRTE8651B" AS ?salt).
?cp a <http://schema.org/ContactPoint> .
OPTIONAL {
?cp schema:telephone ?phone.
BIND(SHA1(CONCAT(?salt, ?phone)) AS ?phone_s).
}
OPTIONAL {
?cp schema:email ?mail.
BIND(CONCAT(SHA1(CONCAT(?salt, ?mail)), "@email.com") 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).
}
}
}
}

View File

@@ -1,25 +0,0 @@
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX task: <http://redpencil.data.gift/vocabularies/tasks/>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX prov: <http://www.w3.org/ns/prov#>
PREFIX nie: <http://www.semanticdesktop.org/ontologies/2007/01/19/nie#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX oslc: <http://open-services.net/ns/core#>
PREFIX cogs: <http://vocab.deri.ie/cogs#>
PREFIX adms: <http://www.w3.org/ns/adms#>
DELETE {
GRAPH ?g {
?jobUri a <http://vocab.deri.ie/cogs#Job>.
?jobUri adms:status ?status.
?jobUri ?p ?o
}
}
WHERE {
GRAPH ?g {
?jobUri a <http://vocab.deri.ie/cogs#Job>.
?jobUri adms:status ?status.
?jobUri ?p ?o
FILTER(?status IN (<http://redpencil.data.gift/id/concept/JobStatus/busy>, <http://redpencil.data.gift/id/concept/JobStatus/scheduled>))
}
}

View File

@@ -1,9 +0,0 @@
DELETE WHERE {
GRAPH <http://redpencil.data.gift/id/deltas/producer/public> {
<http://data.lblod.info/id/besturenVanDeEredienst/4ea0cc455e37195c10acf457a8902ffb> a ?firsttype.
<http://data.lblod.info/id/besturenVanDeEredienst/66ce16dcb455dc95588c05916736d511> a ?secondtype.
<http://data.lblod.info/id/besturenVanDeEredienst/69dca6d7c6bf9d6073771788358c74e5> a ?thirdtype.
<http://data.lblod.info/id/besturenVanDeEredienst/c9ce0539d719b63b60598148b084a7e8> a ?fourthtype.
<http://data.lblod.info/id/besturenVanDeEredienst/560d86a055eddb83fd60e0ea3043a708> a ?fifthtype.
}
}

View File

@@ -1,46 +0,0 @@
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/besturenVanDeEredienst/d640003a744edbe1a0597ab57243ab5e>
<http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
<http://data.lblod.info/id/besturenVanDeEredienst/d640003a744edbe1a0597ab57243ab5e>
<http://www.w3.org/ns/regorg#orgStatus> <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> .
<http://data.lblod.info/id/eredienstbestuursorganen/18d843d47e223409b9bb6e7af8a4d8a8>
a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://mu.semte.ch/vocabularies/core/uuid> "18d843d47e223409b9bb6e7af8a4d8a8" ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> <http://data.lblod.info/id/eredienstbestuursorganen/520e20dd93d0eb546ee2402f124b499e> ;
<http://data.vlaanderen.be/ns/mandaat#bindingStart> "2020-04-01T00:00:00"^^xsd:dateTime ;
<http://data.vlaanderen.be/ns/mandaat#bindingEinde> "2023-03-31T00:00:00"^^xsd:dateTime ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/c6d754b17be9634e629f7d751753bb27> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/37fc68e584d93a8c165a2b9b5b0f183a> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/daac7f53-b020-443d-92a7-9d47be6cb186> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/3618fc2a-83f7-45dd-969f-06afd0c3277b> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/e4b05858-c66d-4098-9c43-59af0359e603> ;
<http://www.w3.org/ns/org#hasPost> <http://data.lblod.info/id/mandaten/5147f880-b0a5-4145-ac01-db8323a5410d> .
<http://data.lblod.info/id/mandaten/daac7f53-b020-443d-92a7-9d47be6cb186>
a <http://data.vlaanderen.be/ns/mandaat#Mandaat> ;
<http://mu.semte.ch/vocabularies/core/uuid> "daac7f53-b020-443d-92a7-9d47be6cb186" ;
<http://www.w3.org/ns/org#role> <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/2962f0bd-2836-4758-9866-8ce8ea2c536f> .
<http://data.lblod.info/id/mandaten/3618fc2a-83f7-45dd-969f-06afd0c3277b>
a <http://data.vlaanderen.be/ns/mandaat#Mandaat> ;
<http://mu.semte.ch/vocabularies/core/uuid> "3618fc2a-83f7-45dd-969f-06afd0c3277b" ;
<http://www.w3.org/ns/org#role> <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/67e6e585166cd97575b3e17ffc430a43> .
<http://data.lblod.info/id/mandaten/e4b05858-c66d-4098-9c43-59af0359e603>
a <http://data.vlaanderen.be/ns/mandaat#Mandaat> ;
<http://mu.semte.ch/vocabularies/core/uuid> "e4b05858-c66d-4098-9c43-59af0359e603" ;
<http://www.w3.org/ns/org#role> <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/5ac134b9800b81da3c450d6b9605cef2> .
<http://data.lblod.info/id/mandaten/5147f880-b0a5-4145-ac01-db8323a5410d>
a <http://data.vlaanderen.be/ns/mandaat#Mandaat> ;
<http://mu.semte.ch/vocabularies/core/uuid> "5147f880-b0a5-4145-ac01-db8323a5410d" ;
<http://www.w3.org/ns/org#role> <http://data.vlaanderen.be/id/concept/BestuursfunctieCode/180d13930d6f1a3938e0aa7fa9990002> .
}
}

View File

@@ -1,11 +0,0 @@
DELETE DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/geregistreerdeOrganisaties/8b2e8749-98a9-450f-b2f1-7a93115ef513> <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/35833ba2-7371-400b-8df2-2912f66fb153> .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
<http://data.lblod.info/id/geregistreerdeOrganisaties/8b2e8749-98a9-450f-b2f1-7a93115ef513> <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/GeregistreerdeOrganisatieClassificatieCode/3e5c8e30-95a7-47b0-b0a4-210d5bd440a7> .
}
}

View File

@@ -1,33 +0,0 @@
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
DELETE {
GRAPH ?g {
?organisation skos:prefLabel ?oldLabel;
regorg:legalName ?oldName.
}
} INSERT {
GRAPH ?g {
?organisation skos:prefLabel ?newName;
regorg:legalName ?newName.
}
} WHERE {
GRAPH ?g {
?organisation a besluit:Bestuurseenheid;
skos:prefLabel ?oldLabel;
regorg:legalName ?oldName.
}
VALUES ?g {
<http://mu.semte.ch/graphs/administrative-unit>
<http://mu.semte.ch/graphs/shared>
}
VALUES (?organisation ?newName) {
(<http://data.lblod.info/id/bestuurseenheden/99da98a7a0087d3429b084ebfc4eb5d488c593790d4d5af7253982a2e21a6a5f> """Bilzen-Hoeselt""")
(<http://data.lblod.info/id/bestuurseenheden/9ae900a5447b7d727ca6496910220d4389aba7f1869923f1bbf9729bdeca28e2> """Bilzen-Hoeselt""")
(<http://data.lblod.info/id/bestuurseenheden/05099fa1f6524b8b994d86f61549455d2c00b2a956d5308683ac2d1f810fc729> """Tessenderlo-Ham""")
(<http://data.lblod.info/id/bestuurseenheden/42a43591e0db1dca9432f480f0f49f9bd4056c2b131e2fc997497130f5e099d0> """Tessenderlo-Ham""")
(<http://data.lblod.info/id/bestuurseenheden/104f32d7fb8d4b8b61b71717301656f136fe046eabaf126fb3325896b5c2d625> """Tongeren-Borgloon""")
(<http://data.lblod.info/id/bestuurseenheden/ab684633d605d93dbbe6b9ea40667e2bcf03a0856cafe1825e95b7829ed502a3> """Tongeren-Borgloon""")
}
}

View File

@@ -1,102 +0,0 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
DELETE {
GRAPH ?g {
?org regorg:orgStatus ?oldStatus.
}
} INSERT {
GRAPH ?g {
?org regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311>.
}
} WHERE {
GRAPH ?g {
?org regorg:orgStatus ?oldStatus.
}
VALUES ?g {
<http://mu.semte.ch/graphs/administrative-unit>
}
VALUES ?org {
<http://data.lblod.info/id/bestuurseenheden/e41ffa04f94bb450a79793020e70d55b5fee5033a5280277998608a9d0913117>
<http://data.lblod.info/id/bestuurseenheden/7125fcbfb7a08f8c01efbed115cea602db249c04afe9b5a2cc298cc7949cd040>
<http://data.lblod.info/id/bestuurseenheden/4f0eb4436c88cf831c35f84e7c34ce32f9ee4e99c5139aff62990e5e531aa1e7>
<http://data.lblod.info/id/bestuurseenheden/6af55cecaea3621f53bb32417a36ed6e3d41b2aa5b9f6d62ab3d80cc8ec11539>
<http://data.lblod.info/id/bestuurseenheden/c362abc58ac4579ff417824ce620962ac57bc344b34fe8f51d21b35ef54da36d>
<http://data.lblod.info/id/bestuurseenheden/72bc672ceb6894d8dd31dc2dff2faad2fd93f4b9f5347d556d092516eaa30aa3>
<http://data.lblod.info/id/bestuurseenheden/d3c76fd84794dad5e12c9eed6d6332dc5e5c99daf0e4ddd7ceebf13d5d6c0ccd>
<http://data.lblod.info/id/bestuurseenheden/bbc23313f4c8585a0c51f15f920d77123356535cd1cad9af38f5707892c7088d>
<http://data.lblod.info/id/bestuurseenheden/a3bd0845853278f478f90b14436d3efa99e73249a84d462f0ddc2e5b6e37a156>
<http://data.lblod.info/id/bestuurseenheden/785e8d5516378c7382ad0e7e356d2301496d810c6cd46d72ccebb455d3ac525e>
<http://data.lblod.info/id/bestuurseenheden/05441122597e0b20b61a8968ea1247c07f9014aad1f1f0709d0b1234e3dfbc2f>
<http://data.lblod.info/id/bestuurseenheden/3834647b5e95ea20f5ffe5a12a09fbd3d7fdf0d187fab385cb7b841422176ad6>
<http://data.lblod.info/id/bestuurseenheden/0327a51548f73607f8a5ec11b36711a3c96703686ad93a3d632718c135c295db>
<http://data.lblod.info/id/bestuurseenheden/e39bc997aa6dd9f240277735efd745b6a0422614d2b36cf01825c86b1b91a9ee>
<http://data.lblod.info/id/bestuurseenheden/0a2d980559eb9f3e0820386541274a72692f495204cd6d951ea1907ecc65829b>
<http://data.lblod.info/id/bestuurseenheden/144c75e403c5084af57f5c0c86252b8759b56baf9694326abbcb5ea40ab69f1a>
<http://data.lblod.info/id/bestuurseenheden/00eb231f51bd6b4f5dcc6536b2d09a174ea8583f5bf28b10bc4fc769a07e511d>
<http://data.lblod.info/id/bestuurseenheden/c69192b973a3ca11531b9657b3ee20aa6688fa33ea1ef1392310fec751980ab2>
<http://data.lblod.info/id/bestuurseenheden/3eb8c9fae32d02359dcd7b22e2a74e67a5b48388df31ad819c27c688fedd10b0>
<http://data.lblod.info/id/bestuurseenheden/ba8a253d98ea7d2ab1afc43e5e2cd145a12ccd86b68e71d023e3c13a83d7498f>
<http://data.lblod.info/id/bestuurseenheden/76c45d60f05bf8afc8c71859342b69cac6a57ee2b320b900a60afd6ba9b8eb9d>
<http://data.lblod.info/id/bestuurseenheden/5d21ccef2f5aa3ccbf3a74c6f25ebe9f0b1ef5a97b87f3d79c86ae9d6d857df8>
<http://data.lblod.info/id/bestuurseenheden/af8969752f6b28c66b6bc402d7987fa38774901ac72b95c5cb7976570487c3c9>
<http://data.lblod.info/id/bestuurseenheden/fb1be873c4b31e391613dfae8e68edd694b1fdf126eeecb502b1e5cad6f2f682>
<http://data.lblod.info/id/bestuurseenheden/f6b131de5e40a0dfd4fc93fedf3b95c9bf156ece718b87fe00469dea2564b3fb>
<http://data.lblod.info/id/bestuurseenheden/3e077115eeb70b649d44e2ebbb218f2cfcac5d84e130c88584f0ec23f7cebbf9>
<http://data.lblod.info/id/bestuurseenheden/1313d4a58f9ecf52cc7e274e3549a759b35e731973cc9f5e07562e5650f594dd>
<http://data.lblod.info/id/bestuurseenheden/7c6b38fa6fc65879cb674a654617de171adfcfacba086fb918da3749dbaa43b5>
<http://data.lblod.info/id/bestuurseenheden/c5dbb08e35e2d090a05d119fef4cc161b5ee1f322698cb8ea3c8c6643a521cf2>
<http://data.lblod.info/id/bestuurseenheden/f2a9a2392d5e4c0f992a84a0871d048a7b91b14681e9980a63aa6ba4b1f7eb8c>
<http://data.lblod.info/id/bestuurseenheden/c0b6b5cf198cd939251dff8ed052177cfff245074c6b8d43394c8c97f7b6e945>
<http://data.lblod.info/id/bestuurseenheden/8ef1e4a43efd913e6b09b0ddea344b7b5d723a344ad559389a55ae1ff0bebc8f>
<http://data.lblod.info/id/bestuurseenheden/04895013fe6301f32aa46deae98abfb833a717ece5a33b6c453674c6d0f4cc5e>
<http://data.lblod.info/id/bestuurseenheden/f56f068943a99059f5bfc3b905fe8848a25a47cfa30fb3ed3d294b47815b2255>
<http://data.lblod.info/id/bestuurseenheden/5a4b2b4f1de1f3b91b0348a7eb6d6aa0ef9420b8ec31374970c9ffe933a79515>
<http://data.lblod.info/id/bestuurseenheden/3f57a17fbcdfc13def910c54948bec11d71d3f75946b0336fffc0587bf18d783>
<http://data.lblod.info/id/bestuurseenheden/2564e21e3650f91625189ccb7eb055e47754a0633c54c7582a899171fef60c52>
<http://data.lblod.info/id/bestuurseenheden/60daf27c2cf12dd123447aa300dd7320890391dbd8dd6b4dd7ec02258f8281b3>
}
}
;
DELETE {
GRAPH ?g {
?org regorg:orgStatus ?oldStatus.
}
} INSERT {
GRAPH ?g {
?org regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6>.
}
} WHERE {
GRAPH ?g {
?org regorg:orgStatus ?oldStatus.
}
VALUES ?g {
<http://mu.semte.ch/graphs/administrative-unit>
}
VALUES ?org {
<http://data.lblod.info/id/bestuurseenheden/4b44e6f1-113b-4692-b149-44a889b215f2>
<http://data.lblod.info/id/bestuurseenheden/1ca65d65-54ff-4b44-b750-bd70c91191af>
<http://data.lblod.info/id/bestuurseenheden/7d53f659-3a3b-44b1-9e77-3ea067678c0e>
<http://data.lblod.info/id/bestuurseenheden/b8bb293d-aa22-4b43-bda4-0b6af76e9493>
<http://data.lblod.info/id/bestuurseenheden/5d94b2fd-60ee-4e56-a1f0-a586d596adf6>
<http://data.lblod.info/id/bestuurseenheden/19483103-318e-435a-aa37-45e485406ee9>
<http://data.lblod.info/id/bestuurseenheden/fd41f573-7d9a-4d9f-b7d0-d5b6114d1622>
<http://data.lblod.info/id/bestuurseenheden/add1e4eb-9ec7-4ea6-af82-335aa76b7d48>
<http://data.lblod.info/id/bestuurseenheden/650378e7-1bee-4737-91ff-5b20ac4623cf>
}
}

View File

@@ -1,27 +0,0 @@
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH ?g {
?address locn:adminUnitL2 "Antwerpen".
}
} INSERT {
GRAPH ?g {
?address locn:adminUnitL2 "Oost-Vlaanderen".
}
} WHERE {
GRAPH ?g {
?address a locn:Address;
adres:gemeentenaam "Zwijndrecht";
locn:adminUnitL2 "Antwerpen"
FILTER (EXISTS { ?site organisatie:bestaatUit ?address. } ||
EXISTS { ?site org:siteAddress/locn:address ?address. })
}
VALUES ?g {
<http://mu.semte.ch/graphs/worship-service>
<http://mu.semte.ch/graphs/administrative-unit>
}
}

View File

@@ -1,51 +0,0 @@
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH ?g {
?address adres:gemeentenaam ?oldMunicipality.
}
}
INSERT {
GRAPH ?g {
?address adres:gemeentenaam ?newMunicipality.
}
}
WHERE {
GRAPH ?g {
?address a locn:Address;
adres:gemeentenaam ?oldMunicipality.
FILTER (EXISTS { ?site organisatie:bestaatUit ?address. } ||
EXISTS { ?site org:siteAddress/locn:address ?address. })
}
VALUES ?g {
<http://mu.semte.ch/graphs/administrative-unit>
<http://mu.semte.ch/graphs/worship-service>
}
VALUES (?oldMunicipality ?newMunicipality) {
("Borsbeek" "Antwerpen")
("Galmaarden" "Pajottegem")
("Gooik" "Pajottegem")
("Herne" "Pajottegem")
("Ruiselede" "Wingene")
("Meulebeke" "Tielt")
("De Pinte" "Nazareth-De Pinte")
("Nazareth" "Nazareth-De Pinte")
("Wachtebeke" "Lochristi")
("Moerbeke" "Lokeren")
("Melle" "Merelbeke-Melle")
("Merelbeke" "Merelbeke-Melle")
("Beveren" "Beveren-Kruibeke-Zwijndrecht")
("Kruibeke" "Beveren-Kruibeke-Zwijndrecht")
("Zwijndrecht" "Beveren-Kruibeke-Zwijndrecht")
("Bilzen" "Bilzen-Hoeselt")
("Hoeselt" "Bilzen-Hoeselt")
("Borgloon" "Tongeren-Borgloon")
("Tongeren" "Tongeren-Borgloon")
("Ham" "Tessenderlo-Ham")
("Tessenderlo" "Tessenderlo-Ham")
("Kortessem" "Hasselt")
}
}

View File

@@ -1,92 +0,0 @@
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH ?g {
?address locn:fullAddress ?fullAddress.
}
} INSERT {
GRAPH ?g {
?address locn:fullAddress ?newFullAddress.
}
} WHERE {
GRAPH ?g {
?address locn:fullAddress ?fullAddress;
locn:thoroughfare ?street;
adres:Adresvoorstelling.huisnummer ?buildingNo;
locn:postCode ?postalCode;
adres:gemeentenaam ?municipality;
adres:land ?country.
FILTER NOT EXISTS { ?address adres:Adresvoorstelling.busnummer ?boxNo. }
FILTER (EXISTS { ?site organisatie:bestaatUit ?address. } ||
EXISTS { ?site org:siteAddress/locn:address ?address. })
FILTER (?municipality IN (
"Antwerpen",
"Pajottegem",
"Wingene",
"Tielt",
"Nazareth-De Pinte",
"Lochristi",
"Lokeren",
"Merelbeke-Melle",
"Beveren-Kruibeke-Zwijndrecht",
"Bilzen-Hoeselt",
"Tongeren-Borgloon",
"Tessenderlo-Ham",
"Hasselt"
))
BIND (CONCAT(?street, " ", ?buildingNo, ", ", ?postalCode, " ", ?municipality, ", ", ?country) AS ?newFullAddress)
FILTER (?fullAddress != ?newFullAddress)
}
VALUES ?g {
<http://mu.semte.ch/graphs/administrative-unit>
<http://mu.semte.ch/graphs/worship-service>
}
}
;
DELETE {
GRAPH ?g {
?address locn:fullAddress ?fullAddress.
}
} INSERT {
GRAPH ?g {
?address locn:fullAddress ?newFullAddress.
}
} WHERE {
GRAPH ?g {
?address locn:fullAddress ?fullAddress;
locn:thoroughfare ?street;
adres:Adresvoorstelling.huisnummer ?buildingNo;
adres:Adresvoorstelling.busnummer ?boxNo;
locn:postCode ?postalCode;
adres:gemeentenaam ?municipality;
adres:land ?country.
FILTER (EXISTS { ?site organisatie:bestaatUit ?address. } ||
EXISTS { ?site org:siteAddress/locn:address ?address. })
FILTER (?municipality IN (
"Antwerpen",
"Pajottegem",
"Wingene",
"Tielt",
"Nazareth-De Pinte",
"Lochristi",
"Lokeren",
"Merelbeke-Melle",
"Beveren-Kruibeke-Zwijndrecht",
"Bilzen-Hoeselt",
"Tongeren-Borgloon",
"Tessenderlo-Ham",
"Hasselt"
))
BIND (CONCAT(?street, " ", ?buildingNo, " ", ?boxNo, ", ", ?postalCode, " ", ?municipality, ", ", ?country) AS ?newFullAddress)
FILTER (?fullAddress != ?newFullAddress)
}
VALUES ?g {
<http://mu.semte.ch/graphs/administrative-unit>
<http://mu.semte.ch/graphs/worship-service>
}
}

View File

@@ -1,25 +0,0 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s regorg:orgStatus ?activeStatus.
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s regorg:orgStatus ?notActiveStatus.
}
} WHERE {
VALUES ?s {
<http://data.lblod.info/id/bestuurseenheden/150440a8bb763d6f53d24ca1c6f1460cb5817c8a261fd90e74aadac3292c3efe>
<http://data.lblod.info/id/bestuurseenheden/41d31a2eb697af977aadf64c73e0bcffb094e0f20e4017fe3b49c507079c0976>
<http://data.lblod.info/id/bestuurseenheden/330516b323c00851cf4b93e6d5d7a2ef4591f68ae6e71ad9c1f432ee70521bb2>
<http://data.lblod.info/id/bestuurseenheden/7dd1250996188607bb1e28df1ebea0b943e8db59c08ea01e3c57672531c43ec6>
<http://data.lblod.info/id/bestuurseenheden/541c1603eb8c01968f95d1f262854134499e00d135cd7c9147d307ccbd1e20fd>
<http://data.lblod.info/id/bestuurseenheden/4deae42b2b25bff407f5abc7cbb6d62eb02afaf2892086341c324fdf2c0e6e92>
<http://data.lblod.info/id/bestuurseenheden/b7af3483cb5d0021c6f5864a433b211fce30246ef685621d104b1951915c21c4>
}
BIND (<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> AS ?notActiveStatus)
BIND (<http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> AS ?activeStatus)
}

View File

@@ -1,23 +0,0 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX org: <http://www.w3.org/ns/org#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?stAmandus regorg:orgStatus ?oldStatus.
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?stAmandus regorg:orgStatus ?notActiveStatus.
?mergerChangeEvent org:originalOrganization ?stAmandus.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?stAmandus regorg:orgStatus ?oldStatus.
}
VALUES ?stAmandus {
<http://data.lblod.info/id/besturenVanDeEredienst/b18a5d3943087d509d76dcceeba102c3>
}
BIND (<http://data.lblod.info/id/veranderingsgebeurtenissen/677E445E29299CC832892A0F> AS ?mergerChangeEvent)
BIND (<http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> AS ?notActiveStatus)
}

View File

@@ -14,7 +14,7 @@ PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -15,7 +15,7 @@
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -15,7 +15,7 @@
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -15,7 +15,7 @@
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -15,7 +15,7 @@ PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -15,7 +15,7 @@ PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -15,7 +15,7 @@ PREFIX adres: <https://data.vlaanderen.be/ns/adres#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX dc_terms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>

View File

@@ -21,7 +21,7 @@ PREFIX euvoc: <http://publications.europa.eu/ontology/euvoc#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX lblodlg: <http://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX lblodlg: <https://data.lblod.info/vocabularies/leidinggevenden/>
PREFIX locn: <http://www.w3.org/ns/locn#>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>

View File

@@ -1,18 +0,0 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
INSERT DATA {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
<http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> a <http://lblod.data.gift/vocabularies/organisatie/EredienstBeroepen>;
mu:uuid "7d8e0c15-7726-4196-9416-6dc40ed858bb";
skos:prefLabel "Waarnemende Imam";
<http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/0637cccd657df25049af6c4580c6b2be>;
<http://www.w3.org/2004/02/skos/core#topConceptOf> <http://lblod.data.gift/concept-schemes/0637cccd657df25049af6c4580c6b2be>.
}
}

View File

@@ -1,61 +0,0 @@
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://www.w3.org/ns/dcat#Dataset> ;
<http://purl.org/dc/terms/subject> <http://data.lblod.info/datasets/delta-producer/dumps/AdministrativeUnitsCacheGraphDump> ;
?p ?o .
}
}
;
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://vocab.deri.ie/cogs#Job> ;
<http://redpencil.data.gift/vocabularies/tasks/operation> <http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/deltaDumpFileCreation/administrative-units> ;
?p ?o .
}
}
;
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://vocab.deri.ie/cogs#Job> ;
<http://redpencil.data.gift/vocabularies/tasks/operation> <http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/initialPublicationGraphSyncing/administrative-units> ;
?p ?o .
}
}
;
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://vocab.deri.ie/cogs#Job> ;
<http://redpencil.data.gift/vocabularies/tasks/operation> <http://redpencil.data.gift/id/jobs/concept/JobOperation/deltas/healingOperation/administrative-units> ;
?p ?o .
}
}
;
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
?s a <http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject> ;
<http://purl.org/dc/terms/publisher> <http://data.lblod.info/services/delta-production-json-diff-file-manager/administrative-units> ;
?p ?o .
}
}
;
CLEAR GRAPH <http://redpencil.data.gift/id/deltas/producer/administrative-units>

View File

@@ -1 +0,0 @@
http://mu.semte.ch/graphs/organisatieportaal

View File

@@ -1,613 +0,0 @@
@prefix ns0: <http://data.lblod.info/vocabularies/erediensten/> .
@prefix ns1: <http://data.lblod.info/id/positiesBedienaar/> .
@prefix ns2: <http://data.lblod.info/id/besturenVanDeEredienst/> .
@prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix ns4: <http://www.w3.org/ns/org#> .
@prefix ns5: <http://mu.semte.ch/vocabularies/core/> .
<http://data.lblod.info/id/besturenVanDeEredienst/634801148DE5818A7C9F40E7>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/72c14871c7a0f28cd52ebeb73d6d0fee> .
<http://data.lblod.info/id/besturenVanDeEredienst/635153998DE5818A7C9F4191>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/203b6f9c7e6eec3f62860b378e8371b0> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374B7984B5FEAF28DEDE6D1>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/79a1d65018cd0f86fa5757f9594ed52b> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374C18E4B5FEAF28DEDE708>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/6436abc14a9615cfaa26f4dc7609bef8> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374E23A4B5FEAF28DEDE752>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/116c6e00577975a5f41d4789166549d4> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374FF364B5FEAF28DEDE7AD>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/4a0c024fae6dcfb732006eeacf926c1c> .
<http://data.lblod.info/id/besturenVanDeEredienst/637503DA4B5FEAF28DEDE7C3>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0cde683248e90e543936deea015ec7f8> .
<http://data.lblod.info/id/besturenVanDeEredienst/63761DB14B5FEAF28DEDE877>
ns0:wordtBediendDoor ns1:e06b3e3d005d25e4a23459dd5773c00e .
<http://data.lblod.info/id/besturenVanDeEredienst/63761F764B5FEAF28DEDE899>
ns0:wordtBediendDoor ns1:a3d7cda7f4acad34682b8086d13ea397 .
<http://data.lblod.info/id/besturenVanDeEredienst/63232FE42F583C7A1CD0DC12>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/16c09cdc3608605b3ee88bf9ab9c7dac> .
<http://data.lblod.info/id/besturenVanDeEredienst/6363D12E8DE5818A7C9F43E2>
ns0:wordtBediendDoor ns1:a6735a9f75e9f30f8d31198e18e39192 .
<http://data.lblod.info/id/besturenVanDeEredienst/6363D3668DE5818A7C9F43FA>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0351db31503375a8fb31b7089c65ec83> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374B61D4B5FEAF28DEDE6BB>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/85d28128b4cc9476fef4eeeffa2530a2> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374BD644B5FEAF28DEDE6FD>
ns0:wordtBediendDoor ns1:e39958a6e2d38e23b5669a3b9ae1e719 .
<http://data.lblod.info/id/besturenVanDeEredienst/6374C2514B5FEAF28DEDE713>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/594841e8ec952d28ee1f09bbe1d3890a> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F5414B5FEAF28DEDE80B>
ns0:wordtBediendDoor ns1:c1efedae090d2c4be97d529c73b5ae87 .
<http://data.lblod.info/id/besturenVanDeEredienst/6375FA014B5FEAF28DEDE82C>
ns0:wordtBediendDoor ns1:ef9ebb3d9429b24c87a6576bfe302d85 .
<http://data.lblod.info/id/besturenVanDeEredienst/63761E9B4B5FEAF28DEDE888>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/569b7a4720c5d44269ab96663f3f5021> .
ns2:ef77bb3094fdc4a7ed7e09551500acfe
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/453521f31bee624be96caa2f1a2e7048> .
ns2:a8faa182c59167da7551f40979dc5022
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/87db8210da3911674adf40d01076fd81> .
<http://data.lblod.info/id/besturenVanDeEredienst/934cb872a84a86ceb9a9e10abb1d08fa>
ns0:wordtBediendDoor ns1:c924a44f9163ec6c946505f5f687708d .
ns2:ca0daee18a29e187017bf236e26f1ec2
ns0:wordtBediendDoor ns1:cb4bf613bd82f99785df7aedb65b3367 .
ns2:f95b761af55091b491fd62bd6bed11dc
ns0:wordtBediendDoor ns1:d1dd10ca84303e547546f7e7a502dc6c .
<http://data.lblod.info/id/besturenVanDeEredienst/7e3fb673922f9495c48251f316c5c4ff>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/95222f20d3ff233e0623dc8c811375e4> .
ns2:c1c334a2cc56ac501badce5e879aec65
ns0:wordtBediendDoor ns1:b74b9e77b49bbe8f5be5766be677c9bb .
<http://data.lblod.info/id/besturenVanDeEredienst/6232329df9377210c3576b17e116de8b>
ns0:wordtBediendDoor ns1:bfe1868d6a41e073f114dd2efdcf51a5 .
<http://data.lblod.info/id/besturenVanDeEredienst/24ff08070bc1e47b498ab8139b9d3792>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/59b02bc348ce9c8b26fd2eb6b6a9bd86> .
ns2:a6e0531c6c4b5885552604163cfabfbc
ns0:wordtBediendDoor ns1:cdb151adeceb026fc5e81ea80d729391 .
<http://data.lblod.info/id/besturenVanDeEredienst/619a5721094b28807dca8d04de69e3e0>
ns0:wordtBediendDoor ns1:c94d252366917f598a19df33680bbb29 .
ns2:cd7d4208e8e6291d75b33d89e3a0a439
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5a87bfd76cc6d2f582ef1272116c863a> .
ns2:a8d9f1a45c11c6761306bdf680349593
ns0:wordtBediendDoor ns1:fad9626cd2ab433ce884ef75d06e840b .
<http://data.lblod.info/id/besturenVanDeEredienst/4fd6da5f1e1ea6e60f611abc4df28456>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/9cea42c28a90ce1ac0cdf3bdb01199b8> .
<http://data.lblod.info/id/besturenVanDeEredienst/2732db1f6bf8eec96c093105fc4e199d>
ns0:wordtBediendDoor ns1:d5ef4ca7efebfdafc4d28d2d8ab019b1 .
<http://data.lblod.info/id/besturenVanDeEredienst/8f37ce5f576a898f5b281fa118a7d9a4>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8ef8c30c7e682a8c56af185c91c898ad> .
<http://data.lblod.info/id/besturenVanDeEredienst/08fe04ba8cb033d7d1d59f85c31f9ee0>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/1903dde5ac84bece6238f20175ba583e> .
<http://data.lblod.info/id/besturenVanDeEredienst/8c46fc84fb7a11cca44bde007a0c081c>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/1bb5f658bd511ed2752ae4ad57ef8528> .
<http://data.lblod.info/id/besturenVanDeEredienst/104a6b6eabd0192afdeb70d3b517aef1>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/57bce94d3031b52f361a3c043b1678d9> .
ns2:a8880f3d8b482788c5f3adbf58f01b4f
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/776bc597d74bba0ad0c60c81b4c22529> .
ns2:adeaab8a02815bf2c5816165a45ad4c5
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/259b382ef9f0a8eaaf84954bc09e3f38> .
<http://data.lblod.info/id/besturenVanDeEredienst/7b0d877894765abf5052e12c7bed553e>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/09ee3daf174b1069b4ae66e31f5b8728> .
ns2:c7d6827eb88cd977146e72583461071b
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/77e3e5bcb167367015c391dfa91cb01f> .
<http://data.lblod.info/id/besturenVanDeEredienst/88cc9ab83a5a94caeb2f4b04615b20f2>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8b98c482cb67f55c2fb7174a00cdf09d> .
<http://data.lblod.info/id/besturenVanDeEredienst/0f2a4604a962926d67518bb3846af1c9>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5963146dc30cba248bb24e29b5002b78> .
ns2:b81199eddd02f291bd4c1a0e29e5b9c8
ns0:wordtBediendDoor ns1:cf320c8fb2e9db3a488b0ac016440f33 .
ns2:db46915e77fbf8f083e9861c802b2b13
ns0:wordtBediendDoor ns1:b6c9aeea4bf9daa1520156b9fe5a49e5 .
ns2:fd4ae252fffca29852354b12ef37b086
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8eab113defa6ac21fd87c0828292e926> .
<http://data.lblod.info/id/besturenVanDeEredienst/7343155a8b9a107bdbd4b65cc6318d50>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0aaf20e1103fec92356373dd7de19887> .
<http://data.lblod.info/id/besturenVanDeEredienst/58d6bea16bd86c7df65caa9625af97aa>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/46cac4be99a8036f729ddd2df0cbc3c4> .
<http://data.lblod.info/id/besturenVanDeEredienst/928335b5a7b1cb7850c7cc98574e9ec9>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8c2ab509b1e9cfa3dba90f9a4cb3037d> .
ns2:b540096ac8be2c9c72dafd59e61080c5
ns0:wordtBediendDoor ns1:f9a134e17b7ac4a42a66b7b66d86d00b .
<http://data.lblod.info/id/besturenVanDeEredienst/6324158D2F583C7A1CD0DC1D>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0a46fb4249e6a218b943a8f6fe1ac090> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375EA424B5FEAF28DEDE7DE>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/19838c3b991ad9f816ef491d96a721d3> .
<http://data.lblod.info/id/besturenVanDeEredienst/6363B53D8DE5818A7C9F43BC>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/76419a6001ca12e313e13bde8840e405> .
<http://data.lblod.info/id/besturenVanDeEredienst/6363CCA78DE5818A7C9F43D2>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/60ae1e4b56e80af0b81a20b96d4187b1> .
<http://data.lblod.info/id/besturenVanDeEredienst/6364F1728DE5818A7C9F4413>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/1c1d1fd0c40ffe62076203d7ea2060a6> .
<http://data.lblod.info/id/besturenVanDeEredienst/636B7EE88DE5818A7C9F4485>
ns0:wordtBediendDoor ns1:d4505963c15a4dd1cc77b34977b727c0 .
<http://data.lblod.info/id/besturenVanDeEredienst/637227668DE5818A7C9F44B5>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0a69b193cce1416d4d6366fff46add3f> .
<http://data.lblod.info/id/besturenVanDeEredienst/62C5879BD7779543F77795D5>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/41ae97e88af106e5c9ee3588adc9e2ba> .
<http://data.lblod.info/id/besturenVanDeEredienst/63515BEE8DE5818A7C9F41AB>
ns0:wordtBediendDoor ns1:f90bc6678d032b1203c3e003b05a903e .
<http://data.lblod.info/id/besturenVanDeEredienst/636391B88DE5818A7C9F437A>
ns0:wordtBediendDoor ns1:a1a4364ce6767907e600d8025c2f8cb9 .
<http://data.lblod.info/id/besturenVanDeEredienst/636393FC8DE5818A7C9F438A>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5687522854e85ab6f4c324b273467ce4> .
<http://data.lblod.info/id/besturenVanDeEredienst/63761BDD4B5FEAF28DEDE86C>
ns0:wordtBediendDoor ns1:baa288870012628b450bd134175cb91a .
<http://data.lblod.info/id/besturenVanDeEredienst/6368FEE98DE5818A7C9F443C>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/031e9b8845e50e0f2484ed7eac94324e> .
<http://data.lblod.info/id/besturenVanDeEredienst/636917658DE5818A7C9F444C>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/233a795834c4f862342250b0c8647d15> .
<http://data.lblod.info/id/besturenVanDeEredienst/627D20211D2B7BB5B2CB04DB>
ns0:wordtBediendDoor ns1:f1ac3ad7a3cf88917b6ff453bcdae693 .
<http://data.lblod.info/id/besturenVanDeEredienst/62C43248D7779543F77795B4>
ns0:wordtBediendDoor ns1:e3c51e910902a9b4087f9d2dfe8629a2 .
<http://data.lblod.info/id/besturenVanDeEredienst/63563B398DE5818A7C9F423E>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/02c677db7c013653e475984bebf59b58> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374B6774B5FEAF28DEDE6C6>
ns0:wordtBediendDoor ns1:ad8e06f595ccd82c799c81e7838db45e .
<http://data.lblod.info/id/besturenVanDeEredienst/6374E2344B5FEAF28DEDE747>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/57fdb71d4feb243e727005e16d31d98a> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374E3B44B5FEAF28DEDE75E>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/2a425d7fa4022573cb4824e91e2f5264> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374E3B94B5FEAF28DEDE769>
ns0:wordtBediendDoor ns1:e32bf54030b9a31d84249386a289287a .
<http://data.lblod.info/id/besturenVanDeEredienst/6374F3664B5FEAF28DEDE786>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/0315bd04919b2884af8f3c0a8b820ba0> .
<http://data.lblod.info/id/besturenVanDeEredienst/637618584B5FEAF28DEDE85B>
ns0:wordtBediendDoor ns1:cf701aabf06d091083135506f7d8b785 .
<http://data.lblod.info/id/besturenVanDeEredienst/63639DA88DE5818A7C9F439E>
ns0:wordtBediendDoor ns1:f484ae309f3f981489724334f7a9e90b .
<http://data.lblod.info/id/besturenVanDeEredienst/6363A3E88DE5818A7C9F43B1>
ns0:wordtBediendDoor ns1:ebfd92d4fa2fb375fb407070e5275bc1 .
<http://data.lblod.info/id/besturenVanDeEredienst/6363C5998DE5818A7C9F43C7>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/638c32d8700a7c8891e7ae2ed1f86dfc> .
<http://data.lblod.info/id/besturenVanDeEredienst/6368FBF28DE5818A7C9F442C>
ns0:wordtBediendDoor ns1:d82546b18b55081cc9c8e46aff579c75 .
<http://data.lblod.info/id/besturenVanDeEredienst/636A5AAE8DE5818A7C9F446D>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/87e2496b12c3a58672970e4db4a013ed> .
<http://data.lblod.info/id/besturenVanDeEredienst/636A57CB8DE5818A7C9F445B>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/6c177d4df98c1ae795146245e1b8ded3> .
<http://data.lblod.info/id/besturenVanDeEredienst/62C427EBD7779543F777959E>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/41ee849be721d50f1012987ec14cf4d5> .
<http://data.lblod.info/id/besturenVanDeEredienst/62C42D98D7779543F77795A9>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/36357858aff9e011120ce12a4c9a735d> .
<http://data.lblod.info/id/positiesBedienaar/72c14871c7a0f28cd52ebeb73d6d0fee>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "72c14871c7a0f28cd52ebeb73d6d0fee" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/203b6f9c7e6eec3f62860b378e8371b0>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "203b6f9c7e6eec3f62860b378e8371b0" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/79a1d65018cd0f86fa5757f9594ed52b>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "79a1d65018cd0f86fa5757f9594ed52b" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/6436abc14a9615cfaa26f4dc7609bef8>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "6436abc14a9615cfaa26f4dc7609bef8" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/116c6e00577975a5f41d4789166549d4>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "116c6e00577975a5f41d4789166549d4" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/4a0c024fae6dcfb732006eeacf926c1c>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "4a0c024fae6dcfb732006eeacf926c1c" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0cde683248e90e543936deea015ec7f8>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0cde683248e90e543936deea015ec7f8" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:e06b3e3d005d25e4a23459dd5773c00e
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "e06b3e3d005d25e4a23459dd5773c00e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:a3d7cda7f4acad34682b8086d13ea397
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "a3d7cda7f4acad34682b8086d13ea397" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/16c09cdc3608605b3ee88bf9ab9c7dac>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "16c09cdc3608605b3ee88bf9ab9c7dac" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:a6735a9f75e9f30f8d31198e18e39192
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "a6735a9f75e9f30f8d31198e18e39192" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0351db31503375a8fb31b7089c65ec83>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0351db31503375a8fb31b7089c65ec83" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/85d28128b4cc9476fef4eeeffa2530a2>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "85d28128b4cc9476fef4eeeffa2530a2" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:e39958a6e2d38e23b5669a3b9ae1e719
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "e39958a6e2d38e23b5669a3b9ae1e719" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/594841e8ec952d28ee1f09bbe1d3890a>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "594841e8ec952d28ee1f09bbe1d3890a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c1efedae090d2c4be97d529c73b5ae87
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c1efedae090d2c4be97d529c73b5ae87" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:ef9ebb3d9429b24c87a6576bfe302d85
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "ef9ebb3d9429b24c87a6576bfe302d85" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/569b7a4720c5d44269ab96663f3f5021>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "569b7a4720c5d44269ab96663f3f5021" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/453521f31bee624be96caa2f1a2e7048>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "453521f31bee624be96caa2f1a2e7048" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/87db8210da3911674adf40d01076fd81>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "87db8210da3911674adf40d01076fd81" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c924a44f9163ec6c946505f5f687708d
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c924a44f9163ec6c946505f5f687708d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:cb4bf613bd82f99785df7aedb65b3367
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "cb4bf613bd82f99785df7aedb65b3367" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d1dd10ca84303e547546f7e7a502dc6c
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d1dd10ca84303e547546f7e7a502dc6c" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/95222f20d3ff233e0623dc8c811375e4>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "95222f20d3ff233e0623dc8c811375e4" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:b74b9e77b49bbe8f5be5766be677c9bb
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "b74b9e77b49bbe8f5be5766be677c9bb" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:bfe1868d6a41e073f114dd2efdcf51a5
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "bfe1868d6a41e073f114dd2efdcf51a5" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/59b02bc348ce9c8b26fd2eb6b6a9bd86>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "59b02bc348ce9c8b26fd2eb6b6a9bd86" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:cdb151adeceb026fc5e81ea80d729391
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "cdb151adeceb026fc5e81ea80d729391" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c94d252366917f598a19df33680bbb29
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c94d252366917f598a19df33680bbb29" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5a87bfd76cc6d2f582ef1272116c863a>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5a87bfd76cc6d2f582ef1272116c863a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:fad9626cd2ab433ce884ef75d06e840b
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "fad9626cd2ab433ce884ef75d06e840b" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/9cea42c28a90ce1ac0cdf3bdb01199b8>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "9cea42c28a90ce1ac0cdf3bdb01199b8" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d5ef4ca7efebfdafc4d28d2d8ab019b1
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d5ef4ca7efebfdafc4d28d2d8ab019b1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8ef8c30c7e682a8c56af185c91c898ad>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8ef8c30c7e682a8c56af185c91c898ad" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/1903dde5ac84bece6238f20175ba583e>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "1903dde5ac84bece6238f20175ba583e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/1bb5f658bd511ed2752ae4ad57ef8528>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "1bb5f658bd511ed2752ae4ad57ef8528" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/57bce94d3031b52f361a3c043b1678d9>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "57bce94d3031b52f361a3c043b1678d9" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/776bc597d74bba0ad0c60c81b4c22529>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "776bc597d74bba0ad0c60c81b4c22529" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/259b382ef9f0a8eaaf84954bc09e3f38>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "259b382ef9f0a8eaaf84954bc09e3f38" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/09ee3daf174b1069b4ae66e31f5b8728>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "09ee3daf174b1069b4ae66e31f5b8728" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/77e3e5bcb167367015c391dfa91cb01f>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "77e3e5bcb167367015c391dfa91cb01f" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8b98c482cb67f55c2fb7174a00cdf09d>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8b98c482cb67f55c2fb7174a00cdf09d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5963146dc30cba248bb24e29b5002b78>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5963146dc30cba248bb24e29b5002b78" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:cf320c8fb2e9db3a488b0ac016440f33
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "cf320c8fb2e9db3a488b0ac016440f33" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:b6c9aeea4bf9daa1520156b9fe5a49e5
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "b6c9aeea4bf9daa1520156b9fe5a49e5" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8eab113defa6ac21fd87c0828292e926>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8eab113defa6ac21fd87c0828292e926" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0aaf20e1103fec92356373dd7de19887>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0aaf20e1103fec92356373dd7de19887" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/46cac4be99a8036f729ddd2df0cbc3c4>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "46cac4be99a8036f729ddd2df0cbc3c4" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8c2ab509b1e9cfa3dba90f9a4cb3037d>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8c2ab509b1e9cfa3dba90f9a4cb3037d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f9a134e17b7ac4a42a66b7b66d86d00b
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f9a134e17b7ac4a42a66b7b66d86d00b" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0a46fb4249e6a218b943a8f6fe1ac090>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0a46fb4249e6a218b943a8f6fe1ac090" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/19838c3b991ad9f816ef491d96a721d3>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "19838c3b991ad9f816ef491d96a721d3" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/76419a6001ca12e313e13bde8840e405>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "76419a6001ca12e313e13bde8840e405" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/60ae1e4b56e80af0b81a20b96d4187b1>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "60ae1e4b56e80af0b81a20b96d4187b1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/1c1d1fd0c40ffe62076203d7ea2060a6>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "1c1d1fd0c40ffe62076203d7ea2060a6" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d4505963c15a4dd1cc77b34977b727c0
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d4505963c15a4dd1cc77b34977b727c0" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0a69b193cce1416d4d6366fff46add3f>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0a69b193cce1416d4d6366fff46add3f" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/41ae97e88af106e5c9ee3588adc9e2ba>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "41ae97e88af106e5c9ee3588adc9e2ba" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f90bc6678d032b1203c3e003b05a903e
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f90bc6678d032b1203c3e003b05a903e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:a1a4364ce6767907e600d8025c2f8cb9
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "a1a4364ce6767907e600d8025c2f8cb9" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5687522854e85ab6f4c324b273467ce4>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5687522854e85ab6f4c324b273467ce4" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:baa288870012628b450bd134175cb91a
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "baa288870012628b450bd134175cb91a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/031e9b8845e50e0f2484ed7eac94324e>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "031e9b8845e50e0f2484ed7eac94324e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/233a795834c4f862342250b0c8647d15>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "233a795834c4f862342250b0c8647d15" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f1ac3ad7a3cf88917b6ff453bcdae693
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f1ac3ad7a3cf88917b6ff453bcdae693" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:e3c51e910902a9b4087f9d2dfe8629a2
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "e3c51e910902a9b4087f9d2dfe8629a2" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/02c677db7c013653e475984bebf59b58>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "02c677db7c013653e475984bebf59b58" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:ad8e06f595ccd82c799c81e7838db45e
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "ad8e06f595ccd82c799c81e7838db45e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/57fdb71d4feb243e727005e16d31d98a>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "57fdb71d4feb243e727005e16d31d98a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/2a425d7fa4022573cb4824e91e2f5264>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "2a425d7fa4022573cb4824e91e2f5264" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:e32bf54030b9a31d84249386a289287a
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "e32bf54030b9a31d84249386a289287a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/0315bd04919b2884af8f3c0a8b820ba0>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "0315bd04919b2884af8f3c0a8b820ba0" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:cf701aabf06d091083135506f7d8b785
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "cf701aabf06d091083135506f7d8b785" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f484ae309f3f981489724334f7a9e90b
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f484ae309f3f981489724334f7a9e90b" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:ebfd92d4fa2fb375fb407070e5275bc1
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "ebfd92d4fa2fb375fb407070e5275bc1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/638c32d8700a7c8891e7ae2ed1f86dfc>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "638c32d8700a7c8891e7ae2ed1f86dfc" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d82546b18b55081cc9c8e46aff579c75
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d82546b18b55081cc9c8e46aff579c75" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/87e2496b12c3a58672970e4db4a013ed>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "87e2496b12c3a58672970e4db4a013ed" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/6c177d4df98c1ae795146245e1b8ded3>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "6c177d4df98c1ae795146245e1b8ded3" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/41ee849be721d50f1012987ec14cf4d5>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "41ee849be721d50f1012987ec14cf4d5" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/36357858aff9e011120ce12a4c9a735d>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "36357858aff9e011120ce12a4c9a735d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c654c9e1b47c7acd6c994f9213c02671
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c654c9e1b47c7acd6c994f9213c02671" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:face7445fb50e36d72b142e862381b05
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "face7445fb50e36d72b142e862381b05" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:f24f1b4a152c70b2dbe51ad0c3171de3
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "f24f1b4a152c70b2dbe51ad0c3171de3" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/09bbb9454457c17975696ac680349a0a>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "09bbb9454457c17975696ac680349a0a" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/809e08adf06dad4286658ba80dcb3ec0>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "809e08adf06dad4286658ba80dcb3ec0" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/014c834f16b6e3780d6e0613e1b469e1>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "014c834f16b6e3780d6e0613e1b469e1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/2715eda6c886e5931ae16e7bc877db6c>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "2715eda6c886e5931ae16e7bc877db6c" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/06c83ff34ec4231674e90095e24fbb12>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "06c83ff34ec4231674e90095e24fbb12" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/9e59891d2fff60c9a325c0760263ac53>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "9e59891d2fff60c9a325c0760263ac53" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/8eccf8c0577135ac23cfc2514d4e41ce>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "8eccf8c0577135ac23cfc2514d4e41ce" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:dd14c36fdcb4c93c80d8b8b6a9d7c400
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "dd14c36fdcb4c93c80d8b8b6a9d7c400" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/7708bcfebdd905bd82c3dddd7861e7a1>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "7708bcfebdd905bd82c3dddd7861e7a1" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/49641427d736deffcdcbe2d086a6238f>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "49641427d736deffcdcbe2d086a6238f" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5f0961a539d8dc48fcfef822f71d735c>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5f0961a539d8dc48fcfef822f71d735c" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/5b18d66f489d69900a22782a1fd9f273>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "5b18d66f489d69900a22782a1fd9f273" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/6f10f26c5cfbe3398b24a5d0cb360ee2>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "6f10f26c5cfbe3398b24a5d0cb360ee2" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/87fb9d24420b7def7d58e9eb5d014145>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "87fb9d24420b7def7d58e9eb5d014145" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:d45e2fdff3725615b024f7b71fadef7e
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "d45e2fdff3725615b024f7b71fadef7e" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
ns1:c275c2b71b28e21ccaf2e16582f59e0d
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "c275c2b71b28e21ccaf2e16582f59e0d" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/positiesBedienaar/25a8dd65997f9ba30e7416bbf774594f>
rdf:type ns4:Post , ns0:PositieBedienaar ;
ns5:uuid "25a8dd65997f9ba30e7416bbf774594f" ;
ns0:functie <http://lblod.data.gift/concepts/7d8e0c15-7726-4196-9416-6dc40ed858bb> .
<http://data.lblod.info/id/besturenVanDeEredienst/635155C38DE5818A7C9F41A0>
ns0:wordtBediendDoor ns1:c654c9e1b47c7acd6c994f9213c02671 .
<http://data.lblod.info/id/besturenVanDeEredienst/63515FD38DE5818A7C9F41CA>
ns0:wordtBediendDoor ns1:face7445fb50e36d72b142e862381b05 .
<http://data.lblod.info/id/besturenVanDeEredienst/63523E848DE5818A7C9F41EE>
ns0:wordtBediendDoor ns1:f24f1b4a152c70b2dbe51ad0c3171de3 .
<http://data.lblod.info/id/besturenVanDeEredienst/6374B8B54B5FEAF28DEDE6DC>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/09bbb9454457c17975696ac680349a0a> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374BABB4B5FEAF28DEDE6E7>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/809e08adf06dad4286658ba80dcb3ec0> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374BBF34B5FEAF28DEDE6F2>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/014c834f16b6e3780d6e0613e1b469e1> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374DCB44B5FEAF28DEDE720>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/2715eda6c886e5931ae16e7bc877db6c> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F1864B5FEAF28DEDE7F5>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/06c83ff34ec4231674e90095e24fbb12> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F3EE4B5FEAF28DEDE800>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/9e59891d2fff60c9a325c0760263ac53> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F8724B5FEAF28DEDE821>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/8eccf8c0577135ac23cfc2514d4e41ce> .
<http://data.lblod.info/id/besturenVanDeEredienst/62B968EDD7779543F777954A>
ns0:wordtBediendDoor ns1:dd14c36fdcb4c93c80d8b8b6a9d7c400 .
<http://data.lblod.info/id/besturenVanDeEredienst/635152648DE5818A7C9F4182>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/7708bcfebdd905bd82c3dddd7861e7a1> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374F42C4B5FEAF28DEDE791>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/49641427d736deffcdcbe2d086a6238f> .
<http://data.lblod.info/id/besturenVanDeEredienst/6374F9B54B5FEAF28DEDE79C>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5f0961a539d8dc48fcfef822f71d735c> .
<http://data.lblod.info/id/besturenVanDeEredienst/637501AF4B5FEAF28DEDE7B8>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/5b18d66f489d69900a22782a1fd9f273> .
<http://data.lblod.info/id/besturenVanDeEredienst/6375F6894B5FEAF28DEDE816>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/6f10f26c5cfbe3398b24a5d0cb360ee2> .
<http://data.lblod.info/id/besturenVanDeEredienst/62B9BBA5D7779543F7779555>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/87fb9d24420b7def7d58e9eb5d014145> .
<http://data.lblod.info/id/besturenVanDeEredienst/62C7DAFED7779543F77795E5>
ns0:wordtBediendDoor ns1:d45e2fdff3725615b024f7b71fadef7e .
<http://data.lblod.info/id/besturenVanDeEredienst/63496D8E8DE5818A7C9F4103>
ns0:wordtBediendDoor ns1:c275c2b71b28e21ccaf2e16582f59e0d .
<http://data.lblod.info/id/besturenVanDeEredienst/6316F9752F583C7A1CD0DBD9>
ns0:wordtBediendDoor <http://data.lblod.info/id/positiesBedienaar/25a8dd65997f9ba30e7416bbf774594f> .

View File

@@ -1,50 +0,0 @@
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur ?pbestuur ?obestuur .
?primarySite ?pprimarySite ?oprimarySite .
?address ?paddress ?oaddress .
?contactPoint ?pcontactPoint ?ocontactPoint .
?identifier ?pidentifier ?oidentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
BIND(<http://data.lblod.info/id/besturenVanDeEredienst/d6961c4e96350fd77b0706df54986272> as ?bestuur)
?bestuur ?pbestuur ?obestuur .
OPTIONAL {
?bestuur org:hasPrimarySite ?primarySite .
OPTIONAL {
?primarySite organisatie:bestaatUit ?address .
?address ?paddress ?oaddress .
}
OPTIONAL {
?primarySite org:siteAddress ?contactPoint .
?contactPoint ?pcontactPoint ?ocontactPoint .
}
?primarySite ?pprimarySite ?oprimarySite .
}
OPTIONAL {
?bestuur adms:identifier ?identifier .
OPTIONAL {
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier .
?structuredIdentifier ?pstructuredIdentifier ?ostructuredIdentifier .
}
?identifier ?pidentifier ?oidentifier .
}
}
}

View File

@@ -1,37 +0,0 @@
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX dct: <http://purl.org/dc/terms/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX concepts: <http://lblod.data.gift/concepts/>
PREFIX bestuur: <http://data.lblod.info/id/besturenVanDeEredienst/>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
PREFIX contacthub: <http://data.lblod.info/vocabularies/contacthub/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX ce: <http://data.lblod.info/id/veranderingsgebeurtenissen/>
PREFIX cer: <http://data.lblod.info/id/veranderingsgebeurtenis-resultaten/>
PREFIX m8g: <http://data.europa.eu/m8g/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX eli: <http://data.europa.eu/eli/ontology#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
DELETE WHERE {
graph ?g {
?changeEvent a <http://www.w3.org/ns/org#ChangeEvent>;
<http://lblod.data.gift/vocabularies/organisatie/veranderingsgebeurtenisResultaat> ?changeEventResult;
mu:uuid ?uuidChangeEvent;
?p ?o.
?changeEventResult a <http://lblod.data.gift/vocabularies/organisatie/VeranderingsgebeurtenisResultaat>;
mu:uuid ?uuidChangeEventResult;
?cP ?cO.
filter(?uuidChangeEvent ="63E4B56D1C2DE4F40F38C089")
}
}

View File

@@ -1,21 +0,0 @@
DELETE {
GRAPH ?g {
?s ?p ?o .
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/jobs> {
?s ?p ?o .
}
} WHERE {
GRAPH ?g {
VALUES ?type {
<http://vocab.deri.ie/cogs#Job>
<http://redpencil.data.gift/vocabularies/tasks/Task>
<http://open-services.net/ns/core#Error>
<http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#DataContainer>
}
?s a ?type ;
?p ?o .
}
}

View File

@@ -1 +0,0 @@
delete where { graph ?g{ ?s a <http://mu.semte.ch/vocabularies/authorization/ElasticsearchIndex>; ?p ?o } }

View File

@@ -1,44 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?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
))
}
}

View File

@@ -1,90 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody <http://www.w3.org/ns/org#hasPost> ?post; ?p ?o.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://www.w3.org/ns/org#holds> ?post.
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?specialization ?specializationP ?specializationO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?specialization ?specializationP ?specializationO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?specialization ?specializationP ?specializationO.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody generiek:isTijdspecialisatieVan ?specialization.
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur ?bestuurP ?bestuurO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?bestuur ?bestuurP ?bestuurO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur ?bestuurP ?bestuurO.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?specialization besluit:bestuurt ?bestuur.
}
}
}
}

View File

@@ -1,73 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody <http://data.lblod.info/vocabularies/erediensten/wordtBediendDoor>
?post; ?p ?o.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://www.w3.org/ns/org#holds> ?post.
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?post a ?type;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#role> ?role.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?post a ?type; mu:uuid ?uuid;
<http://www.w3.org/ns/org#role> ?role.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?post a ?type;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#role> ?role.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://www.w3.org/ns/org#holds> ?post.
}
}
}
}

View File

@@ -1,93 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?governingBody <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?post; ?p ?o.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://www.w3.org/ns/org#holds> ?post.
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?specialization ?specializationP ?specializationO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?specialization ?specializationP ?specializationO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?specialization ?specializationP ?specializationO.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?governingBody generiek:isTijdspecialisatieVan ?specialization.
}
}
}
}
;
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur ?bestuurP ?bestuurO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?bestuur ?bestuurP ?bestuurO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?bestuur besluit:bestuurt ?s;?bestuurP ?bestuurO.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
}
}

View File

@@ -1,36 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> ?bestrokke.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> ?bestrokke.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://data.lblod.info/vocabularies/erediensten/betrokkenBestuur> ?bestrokke.
}
}

View File

@@ -1,87 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?resultingOrganization a ?type.
}
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ext:resultingOrganization ?resultingOrganization.
?s ?p ?o.
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?resultingOrganization a ?type.
}
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s <http://www.w3.org/ns/org#originalOrganization> ?resultingOrganization.
?s ?p ?o.
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?resultingOrganization a ?type.
}
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s org:resultingOrganization ?resultingOrganization.
?s ?p ?o.
}
}

View File

@@ -1,76 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek>
INSERT {
graph <http://mu.semte.ch/graphs/worship-service> {
?person a person:Person;
mu:uuid ?uuid;
foaf:givenName ?givenName;
foaf:familyName ?familyName;
<http://data.vlaanderen.be/ns/mandaat#isAangesteldAls> ?isAangesteldAls;
persoon:gebruikteVoornaam ?firstNameUsed.
}
}
WHERE {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?person a person:Person;
mu:uuid ?uuid;
foaf:givenName ?givenName;
foaf:familyName ?familyName.
optional {?person persoon:gebruikteVoornaam ?firstNameUsed. }
optional {?person <http://data.vlaanderen.be/ns/mandaat#isAangesteldAls> ?isAangesteldAls.}
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
# delete orphans
DELETE {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?person a person:Person;
foaf:givenName ?givenName;
foaf:familyName ?familyName;
<http://data.vlaanderen.be/ns/mandaat#isAangesteldAls> ?isAangesteldAls;
persoon:gebruikteVoornaam ?firstNameUsed.
}
}
WHERE {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?person a person:Person;
foaf:givenName ?givenName;
foaf:familyName ?familyName.
optional{?person persoon:gebruikteVoornaam ?firstNameUsed.}
optional {?person <http://data.vlaanderen.be/ns/mandaat#isAangesteldAls> ?isAangesteldAls.}
FILTER((NOT EXISTS { ?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person. })
&& (NOT EXISTS { ?ministers <http://www.w3.org/ns/org#heldBy> ?person. }))
}
}

View File

@@ -1,290 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX schema: <http://schema.org/>
PREFIX organisatie: <https://data.vlaanderen.be/ns/organisatie#>
PREFIX locn: <ttp://www.w3.org/ns/locn#>
# move geboorte to private graph
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?s ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <https://data.vlaanderen.be/ns/persoon#Geboorte>; ?p ?o.
}
}
;
DELETE {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?contactPoint ?p ?o.
?addr ?x ?y.
}
}
insert {
graph <http://mu.semte.ch/graphs/worship-service> {
?contactPoint ?p ?o.
?addr ?x ?y.
}
}
where {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?contactPoint ?p ?o.
optional {
?contactPoint <http://www.w3.org/ns/locn#address> ?addr.
?addr ?x ?y.
}
filter (exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?s <http://schema.org/contactPoint> ?contactPoint.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite <http://www.w3.org/ns/org#siteAddress> ?siteAddr; ?p ?o.
?siteAddr ?x ?y.
?addr ?addrP ?addrO.
?locAddr ?locP ?locO
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?primarySite <http://www.w3.org/ns/org#siteAddress> ?siteAddr; ?p ?o.
?siteAddr ?x ?y.
?addr ?addrP ?addrO.
?locAddr ?locP ?locO
}
}
Where {
Graph <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite <http://www.w3.org/ns/org#siteAddress> ?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 <http://mu.semte.ch/graphs/worship-service> {
?s <http://www.w3.org/ns/org#hasPrimarySite> ?primarySite.
}
}
)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s a ?type; ?p ?o.
}
}
Where {
Graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
filter (?type in(<http://www.w3.org/ns/org#Site>,
<http://www.w3.org/ns/locn#Address>,
<http://schema.org/ContactPoint>
)
&& exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?x ?y ?z.
filter(?z=?s)
}
}
)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?bestaatUit; ?p ?o.
?bestaatUit ?bestaatUitP ?bestaatUitO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?bestaatUit; ?p ?o.
?bestaatUit ?bestaatUitP ?bestaatUitO.
}
}
Where {
Graph <http://mu.semte.ch/graphs/organisatieportaal> {
?primarySite <https://data.vlaanderen.be/ns/organisatie#bestaatUit> ?bestaatUit; ?p ?o.
?bestaatUit ?bestaatUitP ?bestaatUitO.
filter (exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?unit <http://www.w3.org/ns/org#hasPrimarySite> ?primarySite.
}
}
)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?s a ?type; ?p ?o.
}
}
Where {
Graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
filter (?type in(<http://www.w3.org/ns/prov#Location>,
<http://www.w3.org/ns/person#Person>,
<http://xmlns.com/foaf/0.1/Image>,
<http://www.semanticdesktop.org/ontologies/2007/03/22/nfo#FileDataObject>
)
)
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#classification> ?classification;
org:hasSubOrganization ?subOrg;
skos:prefLabel ?name.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#classification> ?classification;
org:hasSubOrganization ?subOrg;
skos:prefLabel ?name.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
<http://www.w3.org/ns/org#classification> ?classification;
mu:uuid ?uuid;
org:hasSubOrganization ?subOrg;
skos:prefLabel ?name.
filter(?classification in (
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>,
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
))
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#classification> ?classification;
skos:prefLabel ?name.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/shared> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
mu:uuid ?uuid;
<http://www.w3.org/ns/org#classification> ?classification;
skos:prefLabel ?name.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuurseenheid>;
<http://www.w3.org/ns/org#classification> ?classification;
mu:uuid ?uuid;
skos:prefLabel ?name.
filter(?classification in (
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>,
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>
)&& exists {
graph <http://mu.semte.ch/graphs/shared> {
?subOrg org:hasSubOrganization ?s .
}
})
}
}

View File

@@ -1,40 +0,0 @@
delete {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s ?p ?o
}
}
insert {
graph <http://mu.semte.ch/graphs/public> {
?s ?p ?o
}
}
where {
graph <http://mu.semte.ch/graphs/organisatieportaal> {
?s a ?type; ?p ?o.
filter (?type in (
<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/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/Rechtsvormtype>,
<http://www.w3.org/ns/org#Role>
))
}
}

View File

@@ -1,3 +0,0 @@
# must be the latest to run
MOVE <http://mu.semte.ch/graphs/organisatieportaal> TO <http://mu.semte.ch/graphs/administrative-unit>

View File

@@ -1,44 +0,0 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> besluit:Bestuurseenheid .
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> mu:uuid "141d9d6b-54af-4d17-b313-8d1c30bc3f5b" .
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> skos:prefLabel "Agentschap Binnenlands Bestuur" .
<http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> dcterms:identifier "OVO001835" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3470" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:familyName "Lezer" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0989" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> ext:sessionRole "ABBOrganisatiePortaalGebruiker-lezer" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3471" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:familyName "Editeerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0957" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> ext:sessionRole "ABBOrganisatiePortaalGebruiker-editeerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3472" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:familyName "Beheerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0958" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
}
}

View File

@@ -1,42 +0,0 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> ext:sessionRole "ABBOrganisatiePortaalGebruiker-beheerder" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> mu:uuid "2fe9885b-d058-4059-b036-69b54444273d" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:familyName "WorshipLezer" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:account <http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> mu:uuid "8d411fea-5bf0-4925-ba97-14b2223f65ea" .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> ext:sessionRole "ABBOrganisatiePortaalErediensten-lezer" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> mu:uuid "4925580c-a1a9-43d4-b3f6-10bd7ff57e25" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:familyName "WorshipEditeerder" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:account <http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> mu:uuid "fe45b266-715c-481e-9a97-a70f6121166c" .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> ext:sessionRole "ABBOrganisatiePortaalErediensten-editeerder" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> mu:uuid "f3610493-f6e1-4490-9723-628fe0213491" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:familyName "WorshipBeheerder" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:account <http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> mu:uuid "2a88a4b4-4672-45eb-b072-c930bf3b40ae" .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder" .
}
}

View File

@@ -1,30 +0,0 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3470" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:familyName "Lezer" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3470> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0989" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0989> ext:sessionRole "ABBOrganisatiePortaalGebruiker-lezer" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3471" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:familyName "Editeerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3471> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0957" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
}
}

View File

@@ -1,53 +0,0 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0957> ext:sessionRole "ABBOrganisatiePortaalGebruiker-editeerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> mu:uuid "d39fe09e-d339-4e43-8680-dbbcfb3d3472" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:familyName "Beheerder" .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> foaf:account <http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> mu:uuid "3a91ff60-07c1-4136-ac5e-55cf401e0958" .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> ext:sessionRole "ABBOrganisatiePortaalGebruiker-beheerder" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> mu:uuid "2fe9885b-d058-4059-b036-69b54444273d" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:familyName "WorshipLezer" .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/2fe9885b-d058-4059-b036-69b54444273d> foaf:account <http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> mu:uuid "8d411fea-5bf0-4925-ba97-14b2223f65ea" .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/8d411fea-5bf0-4925-ba97-14b2223f65ea> ext:sessionRole "ABBOrganisatiePortaalErediensten-lezer" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> mu:uuid "4925580c-a1a9-43d4-b3f6-10bd7ff57e25" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:familyName "WorshipEditeerder" .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/4925580c-a1a9-43d4-b3f6-10bd7ff57e25> foaf:account <http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> mu:uuid "fe45b266-715c-481e-9a97-a70f6121166c" .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/fe45b266-715c-481e-9a97-a70f6121166c> ext:sessionRole "ABBOrganisatiePortaalErediensten-editeerder" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> mu:uuid "f3610493-f6e1-4490-9723-628fe0213491" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:familyName "WorshipBeheerder" .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> foaf:account <http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> mu:uuid "2a88a4b4-4672-45eb-b072-c930bf3b40ae" .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder" .
}
}

View File

@@ -1,23 +0,0 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> mu:uuid "6928a160-f3fc-4b46-bae8-fb72a0ae833e" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:familyName "BothRoles" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:account <http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> mu:uuid "cd52ed34-7bcd-41df-a7d4-c805c1d1a197" .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder",
"ABBOrganisatiePortaalGebruiker-beheerder" .
}
}

View File

@@ -1,22 +0,0 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX dcterms: <http://purl.org/dc/terms/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:Person .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> mu:uuid "6928a160-f3fc-4b46-bae8-fb72a0ae833e" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:firstName "Josephine" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:familyName "BothRoles" .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:member <http://data.lblod.info/id/bestuurseenheden/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> .
<http://data.lblod.info/id/persoon/6928a160-f3fc-4b46-bae8-fb72a0ae833e> foaf:account <http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> foaf:OnlineAccount .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> mu:uuid "cd52ed34-7bcd-41df-a7d4-c805c1d1a197" .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> foaf:accountServiceHomepage <https://github.com/lblod/mock-login-service> .
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder", "ABBOrganisatiePortaalGebruiker-beheerder" .
}
}

View File

@@ -1,58 +0,0 @@
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
DELETE where {
graph <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> ?p ?o.
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> ?aP ?aO.
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> ?wp ?wo.
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> ?wpap ?wpao.
}
}
;
DELETE where {
graph <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/persoon/d39fe09e-d339-4e43-8680-dbbcfb3d3472> ?p ?o.
<http://data.lblod.info/id/account/3a91ff60-07c1-4136-ac5e-55cf401e0958> ?aP ?aO.
<http://data.lblod.info/id/persoon/f3610493-f6e1-4490-9723-628fe0213491> ?wp ?wo.
<http://data.lblod.info/id/account/2a88a4b4-4672-45eb-b072-c930bf3b40ae> ?wpap ?wpao.
}
}
;
DELETE WHERE {
graph <http://mu.semte.ch/graphs/public> {
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder",
"ABBOrganisatiePortaalGebruiker-beheerder" .
}
}
;
;
DELETE WHERE {
graph <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b> {
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-beheerder",
"ABBOrganisatiePortaalGebruiker-beheerder" .
}
}
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/141d9d6b-54af-4d17-b313-8d1c30bc3f5b>{
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-editeerder",
"ABBOrganisatiePortaalGebruiker-editeerder" .
}
}
;
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/organizations/public>{
<http://data.lblod.info/id/account/cd52ed34-7bcd-41df-a7d4-c805c1d1a197> ext:sessionRole "ABBOrganisatiePortaalErediensten-editeerder",
"ABBOrganisatiePortaalGebruiker-editeerder" .
}
}

View File

@@ -1,5 +1,5 @@
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
GRAPH <http://mu.semte.ch/graphs/organisatieportaal> {
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Centraal bestuur van de eredienst"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Gemeente"
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> <http://www.w3.org/2004/02/skos/core#inScheme> <http://lblod.data.gift/concept-schemes/10caf4a4-1ff5-4c05-917e-56489910d68b>. #Provincie"

View File

@@ -1,12 +0,0 @@
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
INSERT DATA {
GRAPH <http://mu.semte.ch/graphs/public> {
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/4393389e99127b68e7fc11936ba92e18> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/f9cac08a-13c1-49da-9bcb-f650b0604054> . # Centraal bestuur
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/b475fa47e17a8a05ae04a9e1fb9c9258> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> . # Comité
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/90a9ec83cb93b9369bba7ff29d9ce5ce> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> . # Bestuursraad
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/af811edba97c6ec34874d0830cbb1183> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> . # Kerkfabriekraad
<http://data.vlaanderen.be/id/concept/BestuursorgaanClassificatieCode/a0701624aefb115b7eda2ff39139c2dd> ext:appliesWithin <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/66ec74fd-8cfc-4e16-99c6-350b35012e86> . # Kathedrale kerkraad
}
}

View File

@@ -1,107 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
PREFIX ere: <http://data.lblod.info/vocabularies/erediensten/>
PREFIX mandaat: <http://data.vlaanderen.be/ns/mandaat#>
PREFIX org: <http://www.w3.org/ns/org#>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?s ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?s a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan> ;
<http://www.w3.org/ns/org#classification> ?classification;
?p ?o.
filter exists {
graph <http://mu.semte.ch/graphs/public> {
?classification <http://mu.semte.ch/vocabularies/ext/appliesWithin> ?appliesWithin.
?appliesWithin mu:uuid ?classificationUuid.
filter(?classificationUuid in ("66ec74fd-8cfc-4e16-99c6-350b35012e86","f9cac08a-13c1-49da-9bcb-f650b0604054"))
}
}
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?specialization ?specializationP ?specializationO.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?specialization ?specializationP ?specializationO.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?specialization a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>; generiek:isTijdspecialisatieVan ?specialization2; ?specializationP ?specializationO.
filter exists{
graph <http://mu.semte.ch/graphs/worship-service> {
?specialization2 a <http://data.vlaanderen.be/ns/besluit#Bestuursorgaan>.
}
}
}
}
;
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?mandaat ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?mandaat ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?mandaat ?p ?o.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?orgaan <http://www.w3.org/ns/org#hasPost> ?mandaat.
}
}
}
}

View File

@@ -1,47 +0,0 @@
# Update status of the bestuurseenheden as well as the resulting status of the change event
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX lblodOrg: <http://lblod.data.gift/vocabularies/organisatie/>
DELETE {
GRAPH ?g {
<http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>
regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E8>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://data.lblod.info/id/besturenVanDeEredienst/8a90a8de8b1f6bb0a6ab29cf81428754>
regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E7>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://data.lblod.info/id/veranderingsgebeurtenissen/63FF1583886F92ABFC08D0E6> <http://www.w3.org/ns/org#resultingOrganization> <http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>.
}
} INSERT {
GRAPH ?g {
<http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>
regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E8>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://data.lblod.info/id/besturenVanDeEredienst/8a90a8de8b1f6bb0a6ab29cf81428754>
regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E7>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://data.lblod.info/id/veranderingsgebeurtenissen/63FF1583886F92ABFC08D0E6> <http://www.w3.org/ns/org#resultingOrganization> <http://data.lblod.info/id/besturenVanDeEredienst/8a90a8de8b1f6bb0a6ab29cf81428754>.
}
} WHERE {
GRAPH ?g {
<http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>
regorg:orgStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E8>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/63cc561de9188d64ba5840a42ae8f0d6> . # Actief
<http://data.lblod.info/id/besturenVanDeEredienst/8a90a8de8b1f6bb0a6ab29cf81428754>
regorg:orgStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://lblod.data.info/id/veranderingsgebeurtenis-resultaten/63FF1584886F92ABFC08D0E7>
lblodOrg:resulterendeStatus <http://lblod.data.gift/concepts/d02c4e12bf88d2fdf5123b07f29c9311> . # Niet Actief
<http://data.lblod.info/id/veranderingsgebeurtenissen/63FF1583886F92ABFC08D0E6> <http://www.w3.org/ns/org#resultingOrganization> <http://data.lblod.info/id/besturenVanDeEredienst/e158c6378d3751b88df4a8c0c2b2f99a>.
}
}

View File

@@ -1,37 +0,0 @@
PREFIX regorg: <http://www.w3.org/ns/regorg#>
PREFIX lblodOrg: <http://lblod.data.gift/vocabularies/organisatie/>
PREFIX adms: <http://www.w3.org/ns/adms#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX generiek: <https://data.vlaanderen.be/ns/generiek#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier;
?p ?o.
?structuredIdentifier ?sp ?so.
}
} INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier;
?p ?o.
?structuredIdentifier ?sp ?so.
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?identifier generiek:gestructureerdeIdentificator ?structuredIdentifier;
?p ?o.
?structuredIdentifier ?sp ?so.
filter exists {
GRAPH <http://mu.semte.ch/graphs/worship-service> {
?org adms:identifier ?identifier.
}
}
}
}

View File

@@ -1,293 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftGeboorte ?heeftGeboorte.
?heeftGeboorte ?p ?o.
filter (exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
# geslacht
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:geslacht ?geslacht.
filter (exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
# nationaliteit
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:heeftNationaliteit ?nationaliteit.
filter (exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
# registration
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
optional { ?registration ?t ?j. }
filter (exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}
;
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/administrative-unit-privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
?registration ?t ?j.
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?person persoon:registratie ?registration.
?registration <https://data.vlaanderen.be/ns/generiek#gestructureerdeIdentificator> ?identificator.
?identificator ?x ?y.
optional {?registration ?t ?j.}
filter (exists
{
graph <http://mu.semte.ch/graphs/administrative-unit> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}

View File

@@ -1,40 +0,0 @@
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX mu: <http://mu.semte.ch/vocabularies/core/>
PREFIX persoon: <https://data.vlaanderen.be/ns/persoon#>
PREFIX ext: <http://mu.semte.ch/vocabularies/ext/>
PREFIX person: <http://www.w3.org/ns/person#>
PREFIX session: <http://mu.semte.ch/vocabularies/session/>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
PREFIX besluit: <http://data.vlaanderen.be/ns/besluit#>
DELETE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?s ?p ?o
}
}
INSERT {
GRAPH <http://mu.semte.ch/graphs/worship-privacy-centric-graph> {
?s ?p ?o
}
}
WHERE {
GRAPH <http://mu.semte.ch/graphs/privacy-centric-graph> {
?s a <http://mu.semte.ch/vocabularies/ext/PersonInformationUpdate>; <http://mu.semte.ch/vocabularies/ext/person> ?person; ?p ?o.
filter (
exists
{
graph <http://mu.semte.ch/graphs/worship-service> {
?mandatories <http://data.vlaanderen.be/ns/mandaat#isBestuurlijkeAliasVan> ?person.
}
}
|| exists {
graph <http://mu.semte.ch/graphs/worship-service> {
?ministers <http://www.w3.org/ns/org#heldBy> ?person.
}
})
}
}

Some files were not shown because too many files have changed in this diff Show More