Compare commits

...

11 Commits

Author SHA1 Message Date
Nordine Bittich
5948f3ece6 bump frontend 2023-05-25 09:47:13 +02:00
Nordine Bittich
80b72fe09d bump frontend prerelease 2023-05-24 09:46:51 +02:00
Nordine Bittich
b13d6f7b03 adjust change event (#280) 2023-05-22 14:20:55 +02:00
Nordine Bittich
4c356113aa bump mu-cl-resource 2023-05-22 13:47:58 +02:00
Nordine Bittich
68b5c67a16 Fix/limit positions to types we already onboarded rebased (#278)
* rebased

* Fix n3q query for mandatarissen

---------

Co-authored-by: Claire Lovisa <lovisa.claire@gmail.com>
2023-05-15 18:16:54 +02:00
Nordine Bittich
ae53746323 bump frontend 2023-05-14 12:43:40 +02:00
Nordine Bittich
73ff073540 bump mu-cl-resource 2023-05-12 14:20:13 +02:00
Nordine Bittich
622dae7969 bump resource 2023-05-10 16:28:45 +02:00
Nordine Bittich
47a2ca5072 bump front 2023-05-10 12:14:16 +02:00
Nordine Bittich
a4098a5b84 feat/delete-dup-change-events (#275) 2023-05-10 12:11:03 +02:00
Nordine Bittich
dfb7bbd7dc adjust change event (#276) 2023-05-10 12:10:32 +02:00
9 changed files with 419 additions and 7 deletions

View File

@@ -1,11 +1,72 @@
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: []
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
contextConfig,
PREFIXES
};

View File

@@ -1,11 +1,72 @@
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: []
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
contextConfig,
PREFIXES
};

View File

@@ -0,0 +1,75 @@
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 {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?decision ?decisionP ?decisionO.
}
}
INSERT {
graph <http://mu.semte.ch/graphs/worship-service> {
?decision ?decisionP ?decisionO.
}
}
WHERE {
graph <http://mu.semte.ch/graphs/worship-service> {
?changeEvent a <http://www.w3.org/ns/org#ChangeEvent>;
<http://data.europa.eu/m8g/hasFormalFramework> ?decision.
}
graph <http://mu.semte.ch/graphs/administrative-unit> {
?decision ?decisionP ?decisionO.
}
}
;
DELETE {
graph <http://mu.semte.ch/graphs/administrative-unit> {
?decisionActivity ?p ?o.
}
}
INSERT {
graph <http://mu.semte.ch/graphs/worship-service> {
?decisionActivity ?p ?o.
}
}
WHERE {
graph <http://mu.semte.ch/graphs/worship-service> {
?decision a <http://data.vlaanderen.be/ns/besluit#Besluit>.
}
graph <http://mu.semte.ch/graphs/administrative-unit> {
?decisionActivity a <https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit>;
<http://www.w3.org/ns/prov#generated> ?decision;
?p ?o.
}
}

View File

@@ -0,0 +1,57 @@
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 {
graph ?g {
?changeEvent ?p ?o.
?changeEventResult ?cP ?cO.
?decision ?decisionP ?decisionO.
?decisionActivity ?decisionActivityP ?desitionActivityO.
}
}
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.
optional {
?changeEvent <http://data.europa.eu/m8g/hasFormalFramework> ?decision.
?decision ?decisionP ?decisionO.
optional {
?decisionActivity a <https://data.vlaanderen.be/ns/besluitvorming#Beslissingsactiviteit>;
<http://www.w3.org/ns/prov#generated> ?decision;
?decisionActivityP ?desitionActivityO.
}
}
filter(?uuidChangeEvent in ("63343865036B579F0A26FF5C", "63343E99036B579F0A26FF6F", "633446D6036B579F0A26FF87","63345772036B579F0A26FF93"))
}
}

View File

@@ -0,0 +1,16 @@
delete {
graph ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/620E674C5747C883CA1D2EE4> <http://data.lblod.info/vocabularies/contacthub/typeWijziging> <http://lblod.data.gift/concepts/9f19f14910245f9b14737f1f1a2067f2>.
}
}
insert {
graph ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/620E674C5747C883CA1D2EE4> <http://data.lblod.info/vocabularies/contacthub/typeWijziging> <http://lblod.data.gift/concepts/4297bc56c1a874240e4566e2c5b8816f>.
}
}
where {
graph ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/620E674C5747C883CA1D2EE4> <http://data.lblod.info/vocabularies/contacthub/typeWijziging> <http://lblod.data.gift/concepts/9f19f14910245f9b14737f1f1a2067f2>.
}
}

View File

@@ -0,0 +1,21 @@
DELETE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?functionaris ?pfunctionaris ?ofunctionaris .
}
} WHERE {
GRAPH <http://mu.semte.ch/graphs/administrative-unit> {
?functionaris a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
?pfunctionaris ?ofunctionaris .
}
?orgaan <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
<http://data.vlaanderen.be/ns/mandaat#isTijdspecialisatieVan>/<http://data.vlaanderen.be/ns/besluit#bestuurt>/<http://data.vlaanderen.be/ns/besluit#classificatie> ?classification .
FILTER(?classification NOT IN (
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000>,
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001>,
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002>,
<http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000003>
))
}

View File

@@ -0,0 +1,19 @@
delete {
graph ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/6380DDD34B5FEAF28DEDE982> <http://data.lblod.info/vocabularies/contacthub/typeWijziging>
<http://lblod.data.gift/concepts/3dd7550843eaf18e1fa1ca6c6c3f2610>.
}
}
insert {
graph ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/6380DDD34B5FEAF28DEDE982> <http://data.lblod.info/vocabularies/contacthub/typeWijziging>
<http://lblod.data.gift/concepts/9f19f14910245f9b14737f1f1a2067f2>.
}
}
where {
graph ?g {
<http://data.lblod.info/id/veranderingsgebeurtenissen/6380DDD34B5FEAF28DEDE982> <http://data.lblod.info/vocabularies/contacthub/typeWijziging>
<http://lblod.data.gift/concepts/3dd7550843eaf18e1fa1ca6c6c3f2610>.
}
}

View File

@@ -1,5 +1,7 @@
# Filtering classes to ingest
@prefix log: <http://www.w3.org/2000/10/swap/log#> .
{
?s a <http://www.w3.org/ns/person#Person> ;
?p ?o .
@@ -24,17 +26,117 @@
?p ?o .
}.
# Functionarissen should be linked to a gemeente, district, provincie or ocmw only (FOR NOW)
{
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
?p ?o .
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
} => {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
?p ?o .
}.
{
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
?p ?o .
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
} => {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
?p ?o .
}.
{
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
?p ?o .
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> .
} => {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
?p ?o .
}.
{
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
<http://www.w3.org/ns/org#holds> ?bestuursfunctie ;
?p ?o .
?orgaanInTime <http://data.lblod.info/vocabularies/leidinggevenden/heeftBestuursfunctie> ?bestuursfunctie ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000003> .
} => {
?s a <http://data.lblod.info/vocabularies/leidinggevenden/Functionaris> ;
?p ?o .
}.
# Mandatarissen should be linked to a gemeente, district, provincie or ocmw only (FOR NOW)
{
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
<http://www.w3.org/ns/org#holds> ?mandate ;
?p ?o .
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000000> .
} => {
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
?p ?o .
}.
{
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
<http://www.w3.org/ns/org#holds> ?mandate ;
?p ?o .
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000001> .
} => {
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
?p ?o .
}.
{
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
<http://www.w3.org/ns/org#holds> ?mandate ;
?p ?o .
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000002> .
} => {
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
?p ?o .
}.
{
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
<http://www.w3.org/ns/org#holds> ?mandate ;
?p ?o .
?orgaanInTime <http://www.w3.org/ns/org#hasPost> ?mandate ;
<https://data.vlaanderen.be/ns/generiek#isTijdspecialisatieVan> ?orgaan .
?orgaan <http://data.vlaanderen.be/ns/besluit#bestuurt> ?bestuur .
?bestuur <http://www.w3.org/ns/org#classification> <http://data.vlaanderen.be/id/concept/BestuurseenheidClassificatieCode/5ab0e9b8a3b2ca7c5e000003> .
} => {
?s a <http://data.vlaanderen.be/ns/mandaat#Mandataris> ;
?p ?o .

View File

@@ -72,7 +72,7 @@ services:
restart: always
logging: *default-logging
resource:
image: semtech/mu-cl-resources:1.22.0
image: semtech/mu-cl-resources:1.22.2
environment:
CACHE_CLEAR_PATH: "http://cache/.mu/clear-keys"
links:
@@ -181,7 +181,7 @@ services:
restart: always
logging: *default-logging
frontend:
image: lblod/frontend-organization-portal:1.17.0-0
image: lblod/frontend-organization-portal:1.17.1
volumes:
- ./config/frontend/add-x-frame-options-header.conf:/config/add-x-frame-options.conf
environment:
@@ -228,7 +228,7 @@ services:
restart: always
logging: *default-logging
reasoner:
image: eyereasoner/reasoning-service:1.0.2
image: eyereasoner/reasoning-service:increased-stack-limit
volumes:
- ./config/reasoner:/config
################################################################################