From 80cd7ef4bf89202ea69fed2967bdf7fc49fb5a73 Mon Sep 17 00:00:00 2001
From: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Date: Wed, 13 Nov 2024 10:33:42 +0100
Subject: [PATCH 01/16] ci: prepare release 2.11.0 (#710)
---
ldi-api/pom.xml | 2 +-
ldi-core/change-detection-filter/pom.xml | 2 +-
ldi-core/file-archiving/pom.xml | 2 +-
ldi-core/geojson-to-wkt/pom.xml | 2 +-
ldi-core/http-sparql-out/pom.xml | 2 +-
ldi-core/json-to-ld-adapter/pom.xml | 2 +-
ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml | 2 +-
ldi-core/ldes-client/pom.xml | 2 +-
ldi-core/ldes-client/starting-node/pom.xml | 2 +-
ldi-core/ldes-client/tree-node-fetcher/pom.xml | 2 +-
ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml | 2 +-
ldi-core/ldes-client/tree-node-supplier/pom.xml | 2 +-
ldi-core/ldi-common/pom.xml | 2 +-
ldi-core/ldi-infra-sql/pom.xml | 2 +-
ldi-core/ngsiv2-to-ld-adapter/pom.xml | 2 +-
ldi-core/pom.xml | 2 +-
ldi-core/rdf-adapter/pom.xml | 2 +-
ldi-core/repository-sink/pom.xml | 2 +-
ldi-core/request-executor/pom.xml | 2 +-
ldi-core/rml-adapter/pom.xml | 2 +-
ldi-core/skolemisation-transformer/pom.xml | 2 +-
ldi-core/sparql-construct/pom.xml | 2 +-
ldi-core/version-materialiser/pom.xml | 2 +-
ldi-core/version-object-creator/pom.xml | 2 +-
ldi-extensions/ldes-discoverer/pom.xml | 2 +-
ldi-extensions/pom.xml | 2 +-
ldi-nifi/ldi-nifi-common/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml | 2 +-
.../ldi-nifi-processors/create-version-object-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/pom.xml | 2 +-
.../ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml | 2 +-
.../skolemisation-transformer-processor/pom.xml | 2 +-
.../ldi-nifi-processors/sparql-interactions-processor/pom.xml | 2 +-
.../version-materialisation-processor/pom.xml | 2 +-
ldi-nifi/pom.xml | 2 +-
ldi-orchestrator/ldio-application/pom.xml | 2 +-
ldi-orchestrator/ldio-common/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml | 2 +-
.../ldio-connectors/ldio-change-detection-filter/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml | 2 +-
.../ldio-connectors/ldio-json-to-ld-adapter/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml | 2 +-
.../ldio-connectors/ldio-ldes-client-connector/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml | 2 +-
.../ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml | 2 +-
.../ldio-connectors/ldio-skolemisation-transformer/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml | 2 +-
.../ldio-connectors/ldio-version-materialiser/pom.xml | 2 +-
.../ldio-connectors/ldio-version-object-creator/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/pom.xml | 2 +-
ldi-orchestrator/pom.xml | 2 +-
pom.xml | 2 +-
75 files changed, 75 insertions(+), 75 deletions(-)
diff --git a/ldi-api/pom.xml b/ldi-api/pom.xml
index fd9e8ee57..289f5939d 100644
--- a/ldi-api/pom.xml
+++ b/ldi-api/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes
linked-data-interactions
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/change-detection-filter/pom.xml b/ldi-core/change-detection-filter/pom.xml
index 75a39d366..5cfa9dff4 100644
--- a/ldi-core/change-detection-filter/pom.xml
+++ b/ldi-core/change-detection-filter/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
change-detection-filter
diff --git a/ldi-core/file-archiving/pom.xml b/ldi-core/file-archiving/pom.xml
index 63eec409b..8b0a94c28 100644
--- a/ldi-core/file-archiving/pom.xml
+++ b/ldi-core/file-archiving/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
file-archiving
diff --git a/ldi-core/geojson-to-wkt/pom.xml b/ldi-core/geojson-to-wkt/pom.xml
index 83638a118..ed80b3fd7 100644
--- a/ldi-core/geojson-to-wkt/pom.xml
+++ b/ldi-core/geojson-to-wkt/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
geojson-to-wkt
diff --git a/ldi-core/http-sparql-out/pom.xml b/ldi-core/http-sparql-out/pom.xml
index 612fc92e1..4f480234b 100644
--- a/ldi-core/http-sparql-out/pom.xml
+++ b/ldi-core/http-sparql-out/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
http-sparql-out
diff --git a/ldi-core/json-to-ld-adapter/pom.xml b/ldi-core/json-to-ld-adapter/pom.xml
index 2360f796f..15c8ee615 100644
--- a/ldi-core/json-to-ld-adapter/pom.xml
+++ b/ldi-core/json-to-ld-adapter/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
json-to-ld-adapter
diff --git a/ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml b/ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml
index 3969e2ed5..17f65855f 100644
--- a/ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml
+++ b/ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.client
ldes-client
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
event-stream-properties-fetcher
diff --git a/ldi-core/ldes-client/pom.xml b/ldi-core/ldes-client/pom.xml
index 538931924..46e44f5cd 100644
--- a/ldi-core/ldes-client/pom.xml
+++ b/ldi-core/ldes-client/pom.xml
@@ -5,7 +5,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/ldes-client/starting-node/pom.xml b/ldi-core/ldes-client/starting-node/pom.xml
index 480ad07c1..7ec1c0d06 100644
--- a/ldi-core/ldes-client/starting-node/pom.xml
+++ b/ldi-core/ldes-client/starting-node/pom.xml
@@ -5,7 +5,7 @@
ldes-client
be.vlaanderen.informatievlaanderen.ldes.client
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
starting-node
diff --git a/ldi-core/ldes-client/tree-node-fetcher/pom.xml b/ldi-core/ldes-client/tree-node-fetcher/pom.xml
index 58e7ed304..99cb970dd 100644
--- a/ldi-core/ldes-client/tree-node-fetcher/pom.xml
+++ b/ldi-core/ldes-client/tree-node-fetcher/pom.xml
@@ -5,7 +5,7 @@
ldes-client
be.vlaanderen.informatievlaanderen.ldes.client
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
diff --git a/ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml b/ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml
index c6d875229..f3bba4d3c 100644
--- a/ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml
+++ b/ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml
@@ -5,7 +5,7 @@
ldes-client
be.vlaanderen.informatievlaanderen.ldes.client
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/ldes-client/tree-node-supplier/pom.xml b/ldi-core/ldes-client/tree-node-supplier/pom.xml
index aeae9236e..d5e75282d 100644
--- a/ldi-core/ldes-client/tree-node-supplier/pom.xml
+++ b/ldi-core/ldes-client/tree-node-supplier/pom.xml
@@ -5,7 +5,7 @@
ldes-client
be.vlaanderen.informatievlaanderen.ldes.client
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
tree-node-supplier
diff --git a/ldi-core/ldi-common/pom.xml b/ldi-core/ldi-common/pom.xml
index 7772a91fd..832ec936a 100644
--- a/ldi-core/ldi-common/pom.xml
+++ b/ldi-core/ldi-common/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldi-common
diff --git a/ldi-core/ldi-infra-sql/pom.xml b/ldi-core/ldi-infra-sql/pom.xml
index 927782a38..c15e54aa2 100644
--- a/ldi-core/ldi-infra-sql/pom.xml
+++ b/ldi-core/ldi-infra-sql/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldi-infra-sql
diff --git a/ldi-core/ngsiv2-to-ld-adapter/pom.xml b/ldi-core/ngsiv2-to-ld-adapter/pom.xml
index a5262e3ed..7a0a784f8 100644
--- a/ldi-core/ngsiv2-to-ld-adapter/pom.xml
+++ b/ldi-core/ngsiv2-to-ld-adapter/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ngsiv2-to-ld-adapter
diff --git a/ldi-core/pom.xml b/ldi-core/pom.xml
index 18120d487..5c580591f 100644
--- a/ldi-core/pom.xml
+++ b/ldi-core/pom.xml
@@ -3,7 +3,7 @@
linked-data-interactions
be.vlaanderen.informatievlaanderen.ldes
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/rdf-adapter/pom.xml b/ldi-core/rdf-adapter/pom.xml
index 976b7f131..98517f1cb 100644
--- a/ldi-core/rdf-adapter/pom.xml
+++ b/ldi-core/rdf-adapter/pom.xml
@@ -5,7 +5,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/repository-sink/pom.xml b/ldi-core/repository-sink/pom.xml
index afc9878e6..ee1071e70 100644
--- a/ldi-core/repository-sink/pom.xml
+++ b/ldi-core/repository-sink/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
diff --git a/ldi-core/request-executor/pom.xml b/ldi-core/request-executor/pom.xml
index aa3893df0..0b88b4469 100644
--- a/ldi-core/request-executor/pom.xml
+++ b/ldi-core/request-executor/pom.xml
@@ -5,7 +5,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
request-executor
diff --git a/ldi-core/rml-adapter/pom.xml b/ldi-core/rml-adapter/pom.xml
index 1f56821bc..5e8536f56 100644
--- a/ldi-core/rml-adapter/pom.xml
+++ b/ldi-core/rml-adapter/pom.xml
@@ -5,7 +5,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/skolemisation-transformer/pom.xml b/ldi-core/skolemisation-transformer/pom.xml
index 8171912dd..de3da7d41 100644
--- a/ldi-core/skolemisation-transformer/pom.xml
+++ b/ldi-core/skolemisation-transformer/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
skolemisation-transformer
diff --git a/ldi-core/sparql-construct/pom.xml b/ldi-core/sparql-construct/pom.xml
index 809835f96..d7275b7cb 100644
--- a/ldi-core/sparql-construct/pom.xml
+++ b/ldi-core/sparql-construct/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/version-materialiser/pom.xml b/ldi-core/version-materialiser/pom.xml
index fe54ef934..9610000fc 100644
--- a/ldi-core/version-materialiser/pom.xml
+++ b/ldi-core/version-materialiser/pom.xml
@@ -3,7 +3,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/version-object-creator/pom.xml b/ldi-core/version-object-creator/pom.xml
index d6a2f657a..ff520ec6b 100644
--- a/ldi-core/version-object-creator/pom.xml
+++ b/ldi-core/version-object-creator/pom.xml
@@ -3,7 +3,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-extensions/ldes-discoverer/pom.xml b/ldi-extensions/ldes-discoverer/pom.xml
index 3578205e1..66a471dff 100644
--- a/ldi-extensions/ldes-discoverer/pom.xml
+++ b/ldi-extensions/ldes-discoverer/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-extensions
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldes-discoverer
diff --git a/ldi-extensions/pom.xml b/ldi-extensions/pom.xml
index 2122497eb..ef08fba12 100644
--- a/ldi-extensions/pom.xml
+++ b/ldi-extensions/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes
linked-data-interactions
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
be.vlaanderen.informatievlaanderen.ldes.ldi
diff --git a/ldi-nifi/ldi-nifi-common/pom.xml b/ldi-nifi/ldi-nifi-common/pom.xml
index 6a0e04118..9ff5973b0 100644
--- a/ldi-nifi/ldi-nifi-common/pom.xml
+++ b/ldi-nifi/ldi-nifi-common/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-nifi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml b/ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml
index bed35626e..fc55acf22 100644
--- a/ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
archive-file-in
diff --git a/ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml b/ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml
index 777ee7918..5495d755e 100644
--- a/ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
archive-file-out
diff --git a/ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml
index 54ada55b0..b78c62c30 100644
--- a/ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
change-detection-processor
diff --git a/ldi-nifi/ldi-nifi-processors/create-version-object-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/create-version-object-processor/pom.xml
index b5a15256b..be8762010 100644
--- a/ldi-nifi/ldi-nifi-processors/create-version-object-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/create-version-object-processor/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml
index 44dc85b94..3a97c05ea 100644
--- a/ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
geojson-to-wkt-processor
diff --git a/ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml
index bc5dc51c7..185ccfd74 100644
--- a/ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
http-sparql-out-processor
diff --git a/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml
index 2be4682ef..6e0359137 100644
--- a/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
json-to-ld-processor
diff --git a/ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml
index edf8abf1c..f0634e8c3 100644
--- a/ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml b/ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml
index 9a78aee02..fc5617de5 100644
--- a/ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldi-processors-bundle
diff --git a/ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml
index 98b96413e..269cd416c 100644
--- a/ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml
@@ -7,7 +7,7 @@
ldi-nifi-processors
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ngsiv2-to-ld-processor
diff --git a/ldi-nifi/ldi-nifi-processors/pom.xml b/ldi-nifi/ldi-nifi-processors/pom.xml
index 5ebccadf1..821ff6805 100644
--- a/ldi-nifi/ldi-nifi-processors/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-nifi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml
index fd545c2d5..6cbc8a9e4 100644
--- a/ldi-nifi/ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
rdf4j-repository-sink-processor
diff --git a/ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml
index cde26fc1b..93c170025 100644
--- a/ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
rml-adapter-processor
diff --git a/ldi-nifi/ldi-nifi-processors/skolemisation-transformer-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/skolemisation-transformer-processor/pom.xml
index b6f085820..cad30fb9e 100644
--- a/ldi-nifi/ldi-nifi-processors/skolemisation-transformer-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/skolemisation-transformer-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
skolemisation-transformer-processor
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/pom.xml
index 3f83be559..684ff16f8 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/pom.xml
index bef45f11b..fe229f52f 100644
--- a/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/pom.xml b/ldi-nifi/pom.xml
index 52a11dc13..baac6521c 100644
--- a/ldi-nifi/pom.xml
+++ b/ldi-nifi/pom.xml
@@ -3,7 +3,7 @@
linked-data-interactions
be.vlaanderen.informatievlaanderen.ldes
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
pom
diff --git a/ldi-orchestrator/ldio-application/pom.xml b/ldi-orchestrator/ldio-application/pom.xml
index f09fdfd15..9baa5f297 100644
--- a/ldi-orchestrator/ldio-application/pom.xml
+++ b/ldi-orchestrator/ldio-application/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-orchestrator
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-common/pom.xml b/ldi-orchestrator/ldio-common/pom.xml
index 0aaf9551f..3fe5560b2 100644
--- a/ldi-orchestrator/ldio-common/pom.xml
+++ b/ldi-orchestrator/ldio-common/pom.xml
@@ -5,7 +5,7 @@
ldi-orchestrator
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml
index a49dc1bd3..ffcc7806b 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml
@@ -6,7 +6,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-amqp
diff --git a/ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml
index 1381365a9..ddac11017 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-archive-file-in
diff --git a/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
index 70b795905..74039b6c1 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
diff --git a/ldi-orchestrator/ldio-connectors/ldio-change-detection-filter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-change-detection-filter/pom.xml
index a961894d1..efe533e29 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-change-detection-filter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-change-detection-filter/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-change-detection-filter
diff --git a/ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml
index 0afbb2fbc..489e5ca7a 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml
index 4ecaa257c..ad424edaf 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml
@@ -6,7 +6,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-file-out
diff --git a/ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml
index 464e32ff5..93555423e 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-geojson-to-wkt
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml
index 181227884..f3e078a63 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml
index 59d206f15..b08786695 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-http-in-poller
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml
index 215dd94fe..192ee7f2d 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml
@@ -4,7 +4,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml
index 338cc5652..50bf682c7 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml
@@ -3,7 +3,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml
index 6cb08e24d..436a448af 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-http-sparql-out
diff --git a/ldi-orchestrator/ldio-connectors/ldio-json-to-ld-adapter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-json-to-ld-adapter/pom.xml
index 263c55621..540055fac 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-json-to-ld-adapter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-json-to-ld-adapter/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml
index 71756e5c2..ffcc4a3a7 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-ldes-client-connector/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-ldes-client-connector/pom.xml
index 7ea8ce07e..c5b9407ef 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-ldes-client-connector/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-ldes-client-connector/pom.xml
@@ -5,7 +5,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml
index 9d51c4456..dba15bd21 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml
index 082de591b..d112528f0 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml
@@ -6,7 +6,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-ngsiv2-to-ld-adapter
diff --git a/ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml
index 83ae1c32e..a329bf166 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml
@@ -4,7 +4,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml
index c674ff43f..42b830fd9 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml
index 644762296..f6a58a493 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-repository-sink
diff --git a/ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml
index 5f1fde380..365ac68eb 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-request-executor
diff --git a/ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml
index 756344b75..df8478a41 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-skolemisation-transformer/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-skolemisation-transformer/pom.xml
index 17af0a7c0..17fe52519 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-skolemisation-transformer/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-skolemisation-transformer/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldio-skolemisation-transformer
diff --git a/ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml
index 6d532da31..23170dacd 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-version-materialiser/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-version-materialiser/pom.xml
index 60ebfc1ba..5e01f0cf1 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-version-materialiser/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-version-materialiser/pom.xml
@@ -3,7 +3,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-version-object-creator/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-version-object-creator/pom.xml
index b3ed357e9..bb3aeea55 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-version-object-creator/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-version-object-creator/pom.xml
@@ -3,7 +3,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/pom.xml b/ldi-orchestrator/ldio-connectors/pom.xml
index ef2160f2c..91ebba153 100644
--- a/ldi-orchestrator/ldio-connectors/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-orchestrator
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/pom.xml b/ldi-orchestrator/pom.xml
index f14deffa4..305a9939a 100644
--- a/ldi-orchestrator/pom.xml
+++ b/ldi-orchestrator/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes
linked-data-interactions
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
4.0.0
diff --git a/pom.xml b/pom.xml
index b91ffc557..6f8363f63 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
be.vlaanderen.informatievlaanderen.ldes
linked-data-interactions
pom
- 2.10.0-SNAPSHOT
+ 2.11.0-SNAPSHOT
ldi-api
From 3badb0cd1201df1156c4c311be6bd4260de2d5a2 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Wed, 13 Nov 2024 10:36:30 +0100
Subject: [PATCH 02/16] chore(deps): bump webrick from 1.8.1 to 1.8.2 in /docs
(#708)
Signed-off-by: dependabot[bot]
Co-authored-by: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
docs/Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
index 881a4fe10..7cc82cbd7 100644
--- a/docs/Gemfile.lock
+++ b/docs/Gemfile.lock
@@ -68,7 +68,7 @@ GEM
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
- webrick (1.8.1)
+ webrick (1.8.2)
PLATFORMS
x64-mingw-ucrt
From a695a7b803a996a49becf4a474eaf519834f3a76 Mon Sep 17 00:00:00 2001
From: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Date: Thu, 14 Nov 2024 15:08:36 +0100
Subject: [PATCH 03/16] fix: missing Processors file in META-INF/services
(#711)
---
.../META-INF/services/org.apache.nifi.processor.Processor | 1 +
1 file changed, 1 insertion(+)
create mode 100644 ldi-nifi/ldi-nifi-processors/json-to-ld-processor/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
diff --git a/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor b/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
new file mode 100644
index 000000000..128ce04fc
--- /dev/null
+++ b/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
@@ -0,0 +1 @@
+be.vlaanderen.informatievlaanderen.ldes.ldi.processors.JsonToLdProcessor
\ No newline at end of file
From 0ded97d7ed1f71f2b9ead0e34e84349930a5bc36 Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Fri, 15 Nov 2024 09:54:59 +0100
Subject: [PATCH 04/16] chore(deps): bump rexml from 3.2.5 to 3.3.9 in /docs
(#704)
Signed-off-by: dependabot[bot]
Co-authored-by: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
---
docs/Gemfile.lock | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/docs/Gemfile.lock b/docs/Gemfile.lock
index 7cc82cbd7..b542a67a0 100644
--- a/docs/Gemfile.lock
+++ b/docs/Gemfile.lock
@@ -59,7 +59,7 @@ GEM
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
- rexml (3.2.5)
+ rexml (3.3.9)
rouge (3.30.0)
rubyzip (2.3.2)
safe_yaml (1.0.5)
From 5d7a03a9f83001c07d8fe0a8cfd9a3cb69ba5ee9 Mon Sep 17 00:00:00 2001
From: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Date: Wed, 20 Nov 2024 10:24:04 +0100
Subject: [PATCH 05/16] feat: NiFi Sparql Ask (#717)
---
.../ldi/SparqlConstructTransformerTest.java | 12 +-
.../ldi/processors/SparqlAskProcessor.java | 74 ++++++++++++
.../config/SparqlAskRelationships.java | 11 ++
.../config/SparqlProcessorProperties.java | 7 ++
.../org.apache.nifi.processor.Processor | 3 +-
.../processors/SparqlAskProcessorTest.java | 110 ++++++++++++++++++
.../SparqlConstructProcessorTest.java | 14 +--
7 files changed, 217 insertions(+), 14 deletions(-)
create mode 100644 ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlAskProcessor.java
create mode 100644 ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/SparqlAskRelationships.java
create mode 100644 ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlAskProcessorTest.java
diff --git a/ldi-core/sparql-construct/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/SparqlConstructTransformerTest.java b/ldi-core/sparql-construct/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/SparqlConstructTransformerTest.java
index 147ca99d0..3b400cf70 100644
--- a/ldi-core/sparql-construct/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/SparqlConstructTransformerTest.java
+++ b/ldi-core/sparql-construct/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/SparqlConstructTransformerTest.java
@@ -24,16 +24,16 @@
class SparqlConstructTransformerTest {
- private final static Model INIT_MODEL = ModelFactory.createDefaultModel();
+ private static final Model INIT_MODEL = ModelFactory.createDefaultModel();
- private final static String defaultConstructQuery = """
+ private static final String DEFAULT_CONSTRUCT_QUERY = """
CONSTRUCT {
"Transformed data"
}
WHERE { ?s ?p ?o }
""";
- private final static String geoConstructFirstCoordinateQuery = """
+ private static final String GEO_CONSTRUCT_FIRST_COORDINATE_QUERY = """
prefix tree:
prefix geosparql:
@@ -60,7 +60,7 @@ class SparqlConstructTransformerTest {
@Test
void when_executeTransform_ExpectTransformedModel() {
SparqlConstructTransformer sparqlConstructTransformer = new SparqlConstructTransformer(
- QueryFactory.create(defaultConstructQuery), false);
+ QueryFactory.create(DEFAULT_CONSTRUCT_QUERY), false);
Model model = ModelFactory.createDefaultModel().add(originalData);
@@ -74,7 +74,7 @@ void when_executeTransform_ExpectTransformedModel() {
@Test
void when_executeTransform_includeOriginal_ExpectTransformedModelWithOriginal() {
SparqlConstructTransformer sparqlConstructTransformer = new SparqlConstructTransformer(
- QueryFactory.create(defaultConstructQuery), true);
+ QueryFactory.create(DEFAULT_CONSTRUCT_QUERY), true);
Model model = ModelFactory.createDefaultModel().add(originalData);
@@ -155,7 +155,7 @@ private void assertModels(List expectedModelPaths, Collection res
@Test
void initGeoFunctionsTest() {
- new SparqlConstructTransformer(QueryFactory.create(geoConstructFirstCoordinateQuery), false);
+ new SparqlConstructTransformer(QueryFactory.create(GEO_CONSTRUCT_FIRST_COORDINATE_QUERY), false);
FunctionRegistry registry = FunctionRegistry.get();
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlAskProcessor.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlAskProcessor.java
new file mode 100644
index 000000000..fd2508d99
--- /dev/null
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlAskProcessor.java
@@ -0,0 +1,74 @@
+package be.vlaanderen.informatievlaanderen.ldes.ldi.processors;
+
+import org.apache.jena.query.QueryException;
+import org.apache.jena.query.QueryExecution;
+import org.apache.jena.query.QueryFactory;
+import org.apache.nifi.annotation.documentation.CapabilityDescription;
+import org.apache.nifi.annotation.documentation.Tags;
+import org.apache.nifi.components.PropertyDescriptor;
+import org.apache.nifi.components.ValidationContext;
+import org.apache.nifi.components.ValidationResult;
+import org.apache.nifi.flowfile.FlowFile;
+import org.apache.nifi.processor.AbstractProcessor;
+import org.apache.nifi.processor.ProcessContext;
+import org.apache.nifi.processor.ProcessSession;
+import org.apache.nifi.processor.Relationship;
+import org.apache.nifi.processor.exception.ProcessException;
+
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.CommonProperties.DATA_SOURCE_FORMAT;
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.CommonProperties.getDataSourceFormat;
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.SparqlAskRelationships.FALSE;
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.SparqlAskRelationships.TRUE;
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.SparqlProcessorProperties.SPARQL_ASK_QUERY;
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.services.FlowManager.FAILURE;
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.services.FlowManager.receiveDataAsModel;
+
+@SuppressWarnings("java:S2160") // nifi handles equals/hashcode of processors
+@Tags({"ldes, vsds, SPARQL"})
+@CapabilityDescription("SPARQL ASK query on an RDF flowfile.")
+public class SparqlAskProcessor extends AbstractProcessor {
+
+ @Override
+ public Set getRelationships() {
+ return Set.of(TRUE, FALSE, FAILURE);
+ }
+
+ @Override
+ protected List getSupportedPropertyDescriptors() {
+ return List.of(SPARQL_ASK_QUERY, DATA_SOURCE_FORMAT);
+ }
+
+ @Override
+ protected Collection customValidate(ValidationContext validationContext) {
+ final String value = validationContext.getProperty(SPARQL_ASK_QUERY).getValue();
+ try {
+ QueryFactory.create(value);
+ } catch (QueryException e) {
+ return List.of(new ValidationResult.Builder()
+ .subject(SPARQL_ASK_QUERY.getDisplayName())
+ .valid(false)
+ .explanation(e.getMessage())
+ .build()
+ );
+ }
+ return super.customValidate(validationContext);
+ }
+
+ @Override
+ public void onTrigger(ProcessContext context, ProcessSession session) throws ProcessException {
+ final FlowFile flowFile = session.get();
+ if (flowFile != null) {
+ final String query = context.getProperty(SPARQL_ASK_QUERY).getValue();
+ try (QueryExecution queryExecution = QueryExecution.create(query, receiveDataAsModel(session, flowFile, getDataSourceFormat(context)))) {
+ session.transfer(flowFile, queryExecution.execAsk() ? TRUE : FALSE);
+ } catch (Exception e) {
+ getLogger().error("Error executing SPARQL ASK query: {}", e.getMessage());
+ session.transfer(flowFile, FAILURE);
+ }
+ }
+ }
+}
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/SparqlAskRelationships.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/SparqlAskRelationships.java
new file mode 100644
index 000000000..df1a2755a
--- /dev/null
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/SparqlAskRelationships.java
@@ -0,0 +1,11 @@
+package be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config;
+
+import org.apache.nifi.processor.Relationship;
+
+public class SparqlAskRelationships {
+ private SparqlAskRelationships() {
+ }
+
+ public static final Relationship TRUE = new Relationship.Builder().name(Boolean.TRUE.toString()).build();
+ public static final Relationship FALSE = new Relationship.Builder().name(Boolean.FALSE.toString()).build();
+}
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/SparqlProcessorProperties.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/SparqlProcessorProperties.java
index 913a9379b..a70726033 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/SparqlProcessorProperties.java
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/SparqlProcessorProperties.java
@@ -32,4 +32,11 @@ private SparqlProcessorProperties() {
.addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
.build();
+ public static final PropertyDescriptor SPARQL_ASK_QUERY = new PropertyDescriptor.Builder()
+ .name("SPARQL_ASK_QUERY")
+ .displayName("SPARQL Ask Query")
+ .required(true)
+ .defaultValue("ASK WHERE {?s ?p ?o}")
+ .addValidator(StandardValidators.NON_EMPTY_VALIDATOR)
+ .build();
}
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
index 89b876163..aa21fb3a4 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/resources/META-INF/services/org.apache.nifi.processor.Processor
@@ -1,2 +1,3 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.processors.SparqlConstructProcessor
-be.vlaanderen.informatievlaanderen.ldes.ldi.processors.SparqlSelectProcessor
\ No newline at end of file
+be.vlaanderen.informatievlaanderen.ldes.ldi.processors.SparqlSelectProcessor
+be.vlaanderen.informatievlaanderen.ldes.ldi.processors.SparqlAskProcessor
\ No newline at end of file
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlAskProcessorTest.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlAskProcessorTest.java
new file mode 100644
index 000000000..7458eb9ba
--- /dev/null
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlAskProcessorTest.java
@@ -0,0 +1,110 @@
+package be.vlaanderen.informatievlaanderen.ldes.ldi.processors;
+
+import be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.SparqlAskRelationships;
+import be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.SparqlProcessorProperties;
+import be.vlaanderen.informatievlaanderen.ldes.ldi.processors.services.FlowManager;
+import org.apache.jena.riot.Lang;
+import org.apache.nifi.util.TestRunner;
+import org.apache.nifi.util.TestRunners;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.io.InputStream;
+
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.CommonProperties.DATA_SOURCE_FORMAT;
+
+class SparqlAskProcessorTest {
+ private static final String ASK_QUERY = "ASK WHERE { %s ?p ?o }";
+ private TestRunner testRunner;
+
+ @BeforeEach
+ void setUp() {
+ testRunner = TestRunners.newTestRunner(SparqlAskProcessor.class);
+ }
+
+ @Test
+ void test_True() {
+ testRunner.setProperty(SparqlProcessorProperties.SPARQL_ASK_QUERY, ASK_QUERY.formatted(""));
+ testRunner.setProperty(DATA_SOURCE_FORMAT, Lang.NQ.getHeaderString());
+
+ testRunner.enqueue(readPeopleData());
+ testRunner.run();
+
+ testRunner.assertAllFlowFilesTransferred(SparqlAskRelationships.TRUE);
+ }
+
+ @Test
+ void test_False() {
+ testRunner.setProperty(SparqlProcessorProperties.SPARQL_ASK_QUERY, ASK_QUERY.formatted(""));
+ testRunner.setProperty(DATA_SOURCE_FORMAT, Lang.NQ.getHeaderString());
+
+ testRunner.enqueue(readPeopleData());
+ testRunner.run();
+
+ testRunner.assertAllFlowFilesTransferred(SparqlAskRelationships.FALSE);
+ }
+
+ @Test
+ void test_InvalidQuery() {
+ testRunner.setProperty(SparqlProcessorProperties.SPARQL_ASK_QUERY, "ASK ?s ?p ?o WHERE { ?s ?p ?o }");
+ testRunner.setProperty(DATA_SOURCE_FORMAT, Lang.NQ.getHeaderString());
+
+ testRunner.assertNotValid();
+ }
+
+ @Test
+ void given_invalidModel_test_Failure() {
+ testRunner.setProperty(SparqlProcessorProperties.SPARQL_ASK_QUERY, ASK_QUERY.formatted(""));
+ testRunner.setProperty(DATA_SOURCE_FORMAT, Lang.JSONLD.getHeaderString());
+
+ testRunner.enqueue(readPeopleData());
+ testRunner.run();
+
+ testRunner.assertAllFlowFilesTransferred(FlowManager.FAILURE);
+ }
+
+ @Test
+ void given_invalidQuery_test_Failure() {
+ testRunner.setProperty(SparqlProcessorProperties.SPARQL_ASK_QUERY, "SELECT * WHERE { ?s ?p ?o }");
+ testRunner.setProperty(DATA_SOURCE_FORMAT, Lang.NQ.getHeaderString());
+
+ testRunner.enqueue(readPeopleData());
+ testRunner.run();
+
+ testRunner.assertAllFlowFilesTransferred(FlowManager.FAILURE);
+ }
+
+ @Test
+ void test_Empty() {
+ testRunner.setProperty(SparqlProcessorProperties.SPARQL_ASK_QUERY, ASK_QUERY.formatted(""));
+ testRunner.setProperty(DATA_SOURCE_FORMAT, Lang.NQ.getHeaderString());
+
+ testRunner.run();
+
+ testRunner.assertTransferCount(SparqlAskRelationships.TRUE, 0);
+ testRunner.assertTransferCount(SparqlAskRelationships.FALSE, 0);
+ testRunner.assertTransferCount(FlowManager.FAILURE, 0);
+ }
+
+ @Test
+ void test_WithGraph() {
+ final String query = """
+ ASK WHERE {
+ GRAPH {
+ ?s ?p ?o
+ }
+ }
+ """;
+ testRunner.setProperty(SparqlProcessorProperties.SPARQL_ASK_QUERY, query);
+ testRunner.setProperty(DATA_SOURCE_FORMAT, Lang.NQ.getHeaderString());
+
+ testRunner.enqueue(readPeopleData());
+ testRunner.run();
+
+ testRunner.assertAllFlowFilesTransferred(SparqlAskRelationships.FALSE);
+ }
+
+ private InputStream readPeopleData() {
+ return getClass().getClassLoader().getResourceAsStream("people_data.nq");
+ }
+}
\ No newline at end of file
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessorTest.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessorTest.java
index 8ff2e22ce..3ac952411 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessorTest.java
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessorTest.java
@@ -22,23 +22,23 @@ void init() {
testRunner = TestRunners.newTestRunner(SparqlConstructProcessor.class);
}
- private final static String constructQuery = """
+ private static final String CONSTRUCT_QUERY = """
CONSTRUCT {
"Inferred data"
}
WHERE { ?s ?p ?o }
""";
- private final static String flowFileContents = """
+ private static final String FLOW_FILE_CONTENTS = """
"Source data!" .
""";
@Test
void whenSuccess_andInfer_shouldContainSourceAndInferredData() {
testRunner.setProperty(INCLUDE_ORIGINAL, Boolean.TRUE.toString());
- testRunner.setProperty(SPARQL_CONSTRUCT_QUERY, constructQuery);
+ testRunner.setProperty(SPARQL_CONSTRUCT_QUERY, CONSTRUCT_QUERY);
- testRunner.enqueue(flowFileContents);
+ testRunner.enqueue(FLOW_FILE_CONTENTS);
testRunner.run();
@@ -50,9 +50,9 @@ void whenSuccess_andInfer_shouldContainSourceAndInferredData() {
@Test
void whenSuccess_andReplace_shouldContainOnlyInferredData() {
testRunner.setProperty(INCLUDE_ORIGINAL, Boolean.FALSE.toString());
- testRunner.setProperty(SPARQL_CONSTRUCT_QUERY, constructQuery);
+ testRunner.setProperty(SPARQL_CONSTRUCT_QUERY, CONSTRUCT_QUERY);
- testRunner.enqueue(flowFileContents);
+ testRunner.enqueue(FLOW_FILE_CONTENTS);
testRunner.run();
@@ -68,7 +68,7 @@ void whenQueryInvalid_shouldReturnInFailureRouting() {
final String invalidQuery = "SELECT ?s ?p ?o { ?s ?p ?o }";
testRunner.setProperty(SPARQL_CONSTRUCT_QUERY, invalidQuery);
- testRunner.enqueue(flowFileContents);
+ testRunner.enqueue(FLOW_FILE_CONTENTS);
testRunner.run();
From 9e7405ea041593aa73ee71153698448a6197be0e Mon Sep 17 00:00:00 2001
From: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Date: Thu, 21 Nov 2024 14:38:09 +0100
Subject: [PATCH 06/16] feat: client asks for gzip content (#719)
---
.../ldi/processors/services/RequestExecutorSupplier.java | 6 ++++--
.../ldes/ldi/processors/LdesClientProcessorTest.java | 2 ++
.../ldio/requestexecutor/LdioRequestExecutorSupplier.java | 2 +-
.../ldio/requestexecutor/RequestExecutorProperties.java | 2 ++
.../requestexecutor/LdioRequestExecutorSupplierTest.java | 3 ++-
5 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/services/RequestExecutorSupplier.java b/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/services/RequestExecutorSupplier.java
index 74757a237..d5ee29b04 100644
--- a/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/services/RequestExecutorSupplier.java
+++ b/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/services/RequestExecutorSupplier.java
@@ -29,16 +29,18 @@ private Retry getRetry(final ProcessContext context) {
}
private RequestExecutor getBaseRequestExecutor(final ProcessContext context) {
+ final BasicHeader acceptEncodingHeader = new BasicHeader("Accept-Encoding", "gzip");
return switch (getAuthorizationStrategy(context)) {
- case NO_AUTH -> requestExecutorFactory.createNoAuthExecutor();
+ case NO_AUTH -> requestExecutorFactory.createNoAuthExecutor(List.of(acceptEncodingHeader));
case API_KEY -> {
List headers = List.of(
+ acceptEncodingHeader,
new BasicHeader(getApiKeyHeader(context), getApiKey(context))
);
yield requestExecutorFactory.createNoAuthExecutor(headers);
}
case OAUTH2_CLIENT_CREDENTIALS ->
- requestExecutorFactory.createClientCredentialsExecutor(getOauthClientId(context),
+ requestExecutorFactory.createClientCredentialsExecutor(List.of(acceptEncodingHeader), getOauthClientId(context),
getOauthClientSecret(context), getOauthTokenEndpoint(context), getOauthScope(context));
};
}
diff --git a/ldi-nifi/ldi-nifi-processors/ldes-client-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/LdesClientProcessorTest.java b/ldi-nifi/ldi-nifi-processors/ldes-client-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/LdesClientProcessorTest.java
index 6719fb79a..754a3c276 100644
--- a/ldi-nifi/ldi-nifi-processors/ldes-client-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/LdesClientProcessorTest.java
+++ b/ldi-nifi/ldi-nifi-processors/ldes-client-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/LdesClientProcessorTest.java
@@ -2,6 +2,7 @@
import com.github.tomakehurst.wiremock.client.WireMock;
import com.github.tomakehurst.wiremock.junit5.WireMockTest;
+import com.github.tomakehurst.wiremock.matching.RequestPatternBuilder;
import org.apache.jena.rdf.model.RDFNode;
import org.apache.jena.riot.Lang;
import org.apache.jena.riot.RDFParser;
@@ -50,6 +51,7 @@ static void beforeAll() {
@AfterAll
static void afterAll() {
+ WireMock.verify(RequestPatternBuilder.allRequests().withHeader("Accept-Encoding", WireMock.matching("gzip")));
postgreSQLContainer.stop();
}
diff --git a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplier.java b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplier.java
index e21da8520..6ebdbd4d0 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplier.java
+++ b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplier.java
@@ -106,7 +106,7 @@ private RequestExecutor getBaseRequestExecutor(ComponentProperties componentProp
private List getHttpHeaders(ComponentProperties componentProperties) {
final ComponentProperties headers = componentProperties.extractNestedProperties(HTTP_HEADERS);
- final List result = new ArrayList<>();
+ final List result = new ArrayList<>(List.of(new BasicHeader(HTTP_ACCEPT_ENCODING_HEADER_KEY, HTTP_ACCEPT_ENCODING_HEADER_VALUE)));
for (int i = 0; isNotEmpty(headers.extractNestedProperties(String.valueOf(i)).getConfig()); i++) {
ComponentProperties headerProperties = headers.extractNestedProperties(String.valueOf(i));
BasicHeader basicHeader = new BasicHeader(
diff --git a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/RequestExecutorProperties.java b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/RequestExecutorProperties.java
index 4cc4bb395..b2138c096 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/RequestExecutorProperties.java
+++ b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/RequestExecutorProperties.java
@@ -10,6 +10,8 @@ private RequestExecutorProperties() {
public static final String HTTP_HEADERS_VALUE = "value";
public static final String HTTP_METHOD = "http.method";
public static final String HTTP_CONTENT_TYPE = "http.content-type";
+ public static final String HTTP_ACCEPT_ENCODING_HEADER_KEY = "Accept-Encoding";
+ public static final String HTTP_ACCEPT_ENCODING_HEADER_VALUE = "gzip";
public static final String RETRIES_ENABLED = "retries.enabled";
public static final String MAX_RETRIES = "retries.max";
diff --git a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplierTest.java b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplierTest.java
index d617b8684..a0fe45c87 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplierTest.java
+++ b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplierTest.java
@@ -94,6 +94,7 @@ void shouldReturnRetryExecutorWithConfiguredProperties_whenPropertiesConfigured(
RequestExecutor requestExecutor = mock(RequestExecutor.class);
List expectedHeaders =
List.of(
+ new BasicHeaderWithEquals("Accept-Encoding", "gzip"),
new BasicHeaderWithEquals("header-key", "header-value"),
new BasicHeaderWithEquals("other-header-key", "other-header-value"),
new BasicHeaderWithEquals("key-header", "key")
@@ -143,7 +144,7 @@ void shouldReturnNonRetryExecutorWithConfiguredProperties_whenPropertiesConfigur
CLIENT_SECRET, "secret",
TOKEN_ENDPOINT, "token"));
RequestExecutor requestExecutor = mock(RequestExecutor.class);
- when(requestExecutorFactory.createClientCredentialsExecutor(List.of(), "client", "secret", "token", null))
+ when(requestExecutorFactory.createClientCredentialsExecutor(List.of(new BasicHeaderWithEquals("Accept-Encoding", "gzip")), "client", "secret", "token", null))
.thenReturn(requestExecutor);
RequestExecutor result = requestExecutorSupplier.getRequestExecutor(properties);
From 1d2723216713d32cdff9048711978a8eb3650a00 Mon Sep 17 00:00:00 2001
From: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Date: Fri, 22 Nov 2024 13:23:46 +0100
Subject: [PATCH 07/16] chore/redo-gzip-asking-client (#720)
---
.../domain/valueobjects/TreeNodeRequest.java | 8 +--
.../valueobjects/TreeNodeRequestTest.java | 55 +++++++++++++++++++
.../valueobjects/RequestHeaders.java | 4 ++
.../valueobjects/RequestHeadersTest.java | 34 ++++++++++--
.../services/RequestExecutorSupplier.java | 6 +-
.../LdioRequestExecutorSupplier.java | 2 +-
.../RequestExecutorProperties.java | 2 -
.../LdioRequestExecutorSupplierTest.java | 3 +-
8 files changed, 97 insertions(+), 17 deletions(-)
create mode 100644 ldi-core/ldes-client/tree-node-fetcher/src/test/java/ldes/client/treenodefetcher/domain/valueobjects/TreeNodeRequestTest.java
diff --git a/ldi-core/ldes-client/tree-node-fetcher/src/main/java/ldes/client/treenodefetcher/domain/valueobjects/TreeNodeRequest.java b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/ldes/client/treenodefetcher/domain/valueobjects/TreeNodeRequest.java
index b123706dc..f5b7e6c5f 100644
--- a/ldi-core/ldes-client/tree-node-fetcher/src/main/java/ldes/client/treenodefetcher/domain/valueobjects/TreeNodeRequest.java
+++ b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/ldes/client/treenodefetcher/domain/valueobjects/TreeNodeRequest.java
@@ -7,8 +7,6 @@
import org.apache.http.HttpHeaders;
import org.apache.jena.riot.Lang;
-import java.util.List;
-
/**
* Contains the endpoint to connect to the server. This can only be a fragment
*/
@@ -25,8 +23,10 @@ public TreeNodeRequest(String treeNodeUrl, Lang lang, String etag) {
}
public Request createRequest() {
- RequestHeaders requestHeaders = new RequestHeaders(
- List.of(new RequestHeader(HttpHeaders.ACCEPT, lang.getHeaderString())));
+ RequestHeaders requestHeaders = RequestHeaders.of(
+ new RequestHeader(HttpHeaders.ACCEPT, lang.getHeaderString()),
+ new RequestHeader(HttpHeaders.ACCEPT_ENCODING, "gzip")
+ );
if (etag != null) {
requestHeaders = requestHeaders.withRequestHeader(new RequestHeader(HttpHeaders.IF_NONE_MATCH, etag));
}
diff --git a/ldi-core/ldes-client/tree-node-fetcher/src/test/java/ldes/client/treenodefetcher/domain/valueobjects/TreeNodeRequestTest.java b/ldi-core/ldes-client/tree-node-fetcher/src/test/java/ldes/client/treenodefetcher/domain/valueobjects/TreeNodeRequestTest.java
new file mode 100644
index 000000000..a6eaa25e0
--- /dev/null
+++ b/ldi-core/ldes-client/tree-node-fetcher/src/test/java/ldes/client/treenodefetcher/domain/valueobjects/TreeNodeRequestTest.java
@@ -0,0 +1,55 @@
+package ldes.client.treenodefetcher.domain.valueobjects;
+
+import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.valueobjects.GetRequest;
+import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.valueobjects.Request;
+import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.valueobjects.RequestHeader;
+import org.apache.jena.riot.Lang;
+import org.junit.jupiter.api.Test;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+class TreeNodeRequestTest {
+ private static final String URL = "http://example.com";
+ private static final Lang LANG = Lang.TTL;
+
+
+ @Test
+ void test_BasicCreate() {
+ final TreeNodeRequest treeNodeRequest = new TreeNodeRequest(URL, LANG, "");
+
+ final Request result = treeNodeRequest.createRequest();
+
+ assertThat(result)
+ .isInstanceOf(GetRequest.class)
+ .extracting(Request::getUrl)
+ .isEqualTo(URL);
+ }
+
+ @Test
+ void given_EtagIsNull_when_CreateRequest_then_RequestContainsTwoHeaders() {
+ final TreeNodeRequest treeNodeRequest = new TreeNodeRequest(URL, LANG, null);
+
+ final Request result = treeNodeRequest.createRequest();
+
+ assertThat(result.getRequestHeaders())
+ .containsExactlyInAnyOrder(
+ new RequestHeader("Accept", LANG.getHeaderString()),
+ new RequestHeader("Accept-Encoding", "gzip")
+ );
+ }
+
+ @Test
+ void given_EtagIsNonNull_when_CreateRequest_then_RequestContainsThreeHeaders() {
+ final String etag = "my-etag";
+ final TreeNodeRequest treeNodeRequest = new TreeNodeRequest(URL, LANG, etag);
+
+ final Request result = treeNodeRequest.createRequest();
+
+ assertThat(result.getRequestHeaders())
+ .containsExactlyInAnyOrder(
+ new RequestHeader("Accept", LANG.getHeaderString()),
+ new RequestHeader("If-None-Match", etag),
+ new RequestHeader("Accept-Encoding", "gzip")
+ );
+ }
+}
\ No newline at end of file
diff --git a/ldi-core/request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/requestexecutor/valueobjects/RequestHeaders.java b/ldi-core/request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/requestexecutor/valueobjects/RequestHeaders.java
index b2497d1d4..9d92b4ead 100644
--- a/ldi-core/request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/requestexecutor/valueobjects/RequestHeaders.java
+++ b/ldi-core/request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/requestexecutor/valueobjects/RequestHeaders.java
@@ -27,6 +27,10 @@ public static RequestHeaders empty() {
return new RequestHeaders(new ArrayList<>());
}
+ public static RequestHeaders of(RequestHeader... requestHeaders) {
+ return new RequestHeaders(Arrays.asList(requestHeaders));
+ }
+
@Override
public Iterator iterator() {
return headers.iterator();
diff --git a/ldi-core/request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/requestexecutor/valueobjects/RequestHeadersTest.java b/ldi-core/request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/requestexecutor/valueobjects/RequestHeadersTest.java
index 3fc6cc401..726bb20f9 100644
--- a/ldi-core/request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/requestexecutor/valueobjects/RequestHeadersTest.java
+++ b/ldi-core/request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/requestexecutor/valueobjects/RequestHeadersTest.java
@@ -5,18 +5,44 @@
import java.util.List;
import java.util.Optional;
-import static org.junit.jupiter.api.Assertions.*;
+import static org.assertj.core.api.AssertionsForInterfaceTypes.assertThat;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertTrue;
class RequestHeadersTest {
+ private static final String CONTENT_TYPE = "application/json";
+
@Test
void getFirst() {
- final String contentType = "application/json";
- final List requestHeaders = List.of(new RequestHeader("content-type", contentType));
+ final List requestHeaders = List.of(new RequestHeader("content-type", CONTENT_TYPE));
Optional firstHeader = new RequestHeaders(requestHeaders).getFirst("cOnTenT-TYPE")
.map(RequestHeader::getValue);
assertTrue(firstHeader.isPresent());
- assertEquals(contentType, firstHeader.get());
+ assertEquals(CONTENT_TYPE, firstHeader.get());
+ }
+
+ @Test
+ void test_Of() {
+ final RequestHeaders actual = RequestHeaders.of(new RequestHeader("content-type", CONTENT_TYPE), new RequestHeader("User-Agent", "Ldio:LdesClient"));
+
+ assertThat(actual).containsExactlyInAnyOrder(
+ new RequestHeader("content-type", CONTENT_TYPE),
+ new RequestHeader("User-Agent", "Ldio:LdesClient")
+ );
}
+ @Test
+ void test_WithRequestHeader() {
+ final RequestHeaders start = RequestHeaders.of(new RequestHeader("content-type", CONTENT_TYPE));
+
+ assertThat(start).hasSize(1);
+
+ final RequestHeaders result = start.withRequestHeader(new RequestHeader("User-Agent", "Ldio:LdesClient"));
+
+ assertThat(result).containsExactlyInAnyOrder(
+ new RequestHeader("content-type", CONTENT_TYPE),
+ new RequestHeader("User-Agent", "Ldio:LdesClient")
+ );
+ }
}
\ No newline at end of file
diff --git a/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/services/RequestExecutorSupplier.java b/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/services/RequestExecutorSupplier.java
index d5ee29b04..74757a237 100644
--- a/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/services/RequestExecutorSupplier.java
+++ b/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/services/RequestExecutorSupplier.java
@@ -29,18 +29,16 @@ private Retry getRetry(final ProcessContext context) {
}
private RequestExecutor getBaseRequestExecutor(final ProcessContext context) {
- final BasicHeader acceptEncodingHeader = new BasicHeader("Accept-Encoding", "gzip");
return switch (getAuthorizationStrategy(context)) {
- case NO_AUTH -> requestExecutorFactory.createNoAuthExecutor(List.of(acceptEncodingHeader));
+ case NO_AUTH -> requestExecutorFactory.createNoAuthExecutor();
case API_KEY -> {
List headers = List.of(
- acceptEncodingHeader,
new BasicHeader(getApiKeyHeader(context), getApiKey(context))
);
yield requestExecutorFactory.createNoAuthExecutor(headers);
}
case OAUTH2_CLIENT_CREDENTIALS ->
- requestExecutorFactory.createClientCredentialsExecutor(List.of(acceptEncodingHeader), getOauthClientId(context),
+ requestExecutorFactory.createClientCredentialsExecutor(getOauthClientId(context),
getOauthClientSecret(context), getOauthTokenEndpoint(context), getOauthScope(context));
};
}
diff --git a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplier.java b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplier.java
index 6ebdbd4d0..e21da8520 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplier.java
+++ b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplier.java
@@ -106,7 +106,7 @@ private RequestExecutor getBaseRequestExecutor(ComponentProperties componentProp
private List getHttpHeaders(ComponentProperties componentProperties) {
final ComponentProperties headers = componentProperties.extractNestedProperties(HTTP_HEADERS);
- final List result = new ArrayList<>(List.of(new BasicHeader(HTTP_ACCEPT_ENCODING_HEADER_KEY, HTTP_ACCEPT_ENCODING_HEADER_VALUE)));
+ final List result = new ArrayList<>();
for (int i = 0; isNotEmpty(headers.extractNestedProperties(String.valueOf(i)).getConfig()); i++) {
ComponentProperties headerProperties = headers.extractNestedProperties(String.valueOf(i));
BasicHeader basicHeader = new BasicHeader(
diff --git a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/RequestExecutorProperties.java b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/RequestExecutorProperties.java
index b2138c096..4cc4bb395 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/RequestExecutorProperties.java
+++ b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/RequestExecutorProperties.java
@@ -10,8 +10,6 @@ private RequestExecutorProperties() {
public static final String HTTP_HEADERS_VALUE = "value";
public static final String HTTP_METHOD = "http.method";
public static final String HTTP_CONTENT_TYPE = "http.content-type";
- public static final String HTTP_ACCEPT_ENCODING_HEADER_KEY = "Accept-Encoding";
- public static final String HTTP_ACCEPT_ENCODING_HEADER_VALUE = "gzip";
public static final String RETRIES_ENABLED = "retries.enabled";
public static final String MAX_RETRIES = "retries.max";
diff --git a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplierTest.java b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplierTest.java
index a0fe45c87..d617b8684 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplierTest.java
+++ b/ldi-orchestrator/ldio-connectors/ldio-request-executor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/requestexecutor/LdioRequestExecutorSupplierTest.java
@@ -94,7 +94,6 @@ void shouldReturnRetryExecutorWithConfiguredProperties_whenPropertiesConfigured(
RequestExecutor requestExecutor = mock(RequestExecutor.class);
List expectedHeaders =
List.of(
- new BasicHeaderWithEquals("Accept-Encoding", "gzip"),
new BasicHeaderWithEquals("header-key", "header-value"),
new BasicHeaderWithEquals("other-header-key", "other-header-value"),
new BasicHeaderWithEquals("key-header", "key")
@@ -144,7 +143,7 @@ void shouldReturnNonRetryExecutorWithConfiguredProperties_whenPropertiesConfigur
CLIENT_SECRET, "secret",
TOKEN_ENDPOINT, "token"));
RequestExecutor requestExecutor = mock(RequestExecutor.class);
- when(requestExecutorFactory.createClientCredentialsExecutor(List.of(new BasicHeaderWithEquals("Accept-Encoding", "gzip")), "client", "secret", "token", null))
+ when(requestExecutorFactory.createClientCredentialsExecutor(List.of(), "client", "secret", "token", null))
.thenReturn(requestExecutor);
RequestExecutor result = requestExecutorSupplier.getRequestExecutor(properties);
From 7975226402880f399d1c898a89745b68f3d9a201 Mon Sep 17 00:00:00 2001
From: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Date: Wed, 27 Nov 2024 10:53:57 +0100
Subject: [PATCH 08/16] chore: NiFi Ldes Client Processor properties are less
overwhelming (#722)
---
docs/_ldi-nifi/index.md | 2 +-
.../config/PersistenceProperties.java | 9 +++++-
.../config/RequestExecutorProperties.java | 28 ++++++++++++-------
.../config/LdesProcessorProperties.java | 3 +-
4 files changed, 29 insertions(+), 13 deletions(-)
diff --git a/docs/_ldi-nifi/index.md b/docs/_ldi-nifi/index.md
index 4460838f6..61bff68f6 100644
--- a/docs/_ldi-nifi/index.md
+++ b/docs/_ldi-nifi/index.md
@@ -16,7 +16,7 @@ The processors can be imported into a NiFi docker instance via volume binding:
````yaml
services:
nifi:
- image: apache/nifi:2.0.0-M2
+ image: apache/nifi:2.0.0
environment:
SINGLE_USER_CREDENTIALS_USERNAME: admin
SINGLE_USER_CREDENTIALS_PASSWORD: ctsBtRBKHRAx69EqUghvvgEvjnaLjFEB
diff --git a/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/PersistenceProperties.java b/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/PersistenceProperties.java
index 250ec725a..602f1309d 100644
--- a/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/PersistenceProperties.java
+++ b/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/PersistenceProperties.java
@@ -31,6 +31,7 @@ private PersistenceProperties() {
.description("Postgres database url formatted as \"jdbc:postgresql://localhost:5432/postgres\"")
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .dependsOn(STATE_PERSISTENCE_STRATEGY, StatePersistenceStrategy.POSTGRES.name())
.build();
public static final PropertyDescriptor POSTGRES_USERNAME = new PropertyDescriptor.Builder()
@@ -39,6 +40,7 @@ private PersistenceProperties() {
.description("Username used to connect to the postgres database")
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .dependsOn(STATE_PERSISTENCE_STRATEGY, StatePersistenceStrategy.POSTGRES.name())
.build();
public static final PropertyDescriptor POSTGRES_PASSWORD = new PropertyDescriptor.Builder()
@@ -47,6 +49,8 @@ private PersistenceProperties() {
.description("Password used to connect to the postgres database")
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .sensitive(true)
+ .dependsOn(STATE_PERSISTENCE_STRATEGY, StatePersistenceStrategy.POSTGRES.name())
.build();
public static final PropertyDescriptor SQLITE_DIRECTORY = new PropertyDescriptor.Builder()
@@ -55,12 +59,15 @@ private PersistenceProperties() {
.description("Sqlite database directory where the '.db' file can be stored")
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .dependsOn(STATE_PERSISTENCE_STRATEGY, StatePersistenceStrategy.SQLITE.name())
.build();
public static final PropertyDescriptor KEEP_STATE = new PropertyDescriptor.Builder()
.name("KEEP_STATE")
- .displayName("Keep state when the processor is removed from the flow")
+ .displayName("Keep state")
+ .description("Keep state when the processor is removed from the flow")
.required(false)
+ .allowableValues(TRUE.toString(), FALSE.toString())
.addValidator(StandardValidators.BOOLEAN_VALIDATOR)
.defaultValue(FALSE.toString())
.build();
diff --git a/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/RequestExecutorProperties.java b/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/RequestExecutorProperties.java
index dd6c3bcac..e60f67ab4 100644
--- a/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/RequestExecutorProperties.java
+++ b/ldi-nifi/ldi-nifi-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/RequestExecutorProperties.java
@@ -18,6 +18,16 @@ public class RequestExecutorProperties {
private RequestExecutorProperties() {
}
+ public static final PropertyDescriptor AUTHORIZATION_STRATEGY = new PropertyDescriptor.Builder()
+ .name("AUTHORIZATION_STRATEGY")
+ .displayName("Authorization strategy")
+ .description("Authorization strategy for the internal http client.")
+ .required(true)
+ .defaultValue(AuthStrategy.NO_AUTH.name())
+ .allowableValues(Arrays.stream(AuthStrategy.values()).map(Enum::name).collect(Collectors.toSet()))
+ .addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .build();
+
public static final PropertyDescriptor API_KEY_HEADER_PROPERTY = new PropertyDescriptor.Builder()
.name("API_KEY_HEADER_PROPERTY")
.displayName("API-KEY header property")
@@ -25,6 +35,7 @@ private RequestExecutorProperties() {
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
.defaultValue("X-API-KEY")
+ .dependsOn(AUTHORIZATION_STRATEGY, AuthStrategy.API_KEY.name())
.build();
public static final PropertyDescriptor API_KEY_PROPERTY = new PropertyDescriptor.Builder()
@@ -33,6 +44,7 @@ private RequestExecutorProperties() {
.description("API key that should be used to access the API.")
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .dependsOn(AUTHORIZATION_STRATEGY, AuthStrategy.API_KEY.name())
.build();
public static final PropertyDescriptor OAUTH_CLIENT_ID = new PropertyDescriptor.Builder()
@@ -41,6 +53,7 @@ private RequestExecutorProperties() {
.description("Client id used for Oauth2 client credentials flow")
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .dependsOn(AUTHORIZATION_STRATEGY, AuthStrategy.OAUTH2_CLIENT_CREDENTIALS.name())
.build();
public static final PropertyDescriptor OAUTH_CLIENT_SECRET = new PropertyDescriptor.Builder()
@@ -50,6 +63,7 @@ private RequestExecutorProperties() {
.sensitive(true)
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .dependsOn(AUTHORIZATION_STRATEGY, AuthStrategy.OAUTH2_CLIENT_CREDENTIALS.name())
.build();
public static final PropertyDescriptor OAUTH_TOKEN_ENDPOINT = new PropertyDescriptor.Builder()
@@ -58,6 +72,7 @@ private RequestExecutorProperties() {
.description("Token endpoint used for Oauth2 client credentials flow.")
.required(false)
.addValidator(StandardValidators.URL_VALIDATOR)
+ .dependsOn(AUTHORIZATION_STRATEGY, AuthStrategy.OAUTH2_CLIENT_CREDENTIALS.name())
.build();
public static final PropertyDescriptor OAUTH_SCOPE = new PropertyDescriptor.Builder()
@@ -66,16 +81,7 @@ private RequestExecutorProperties() {
.description("Scope used for Oauth2 client credentials flow.")
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
- .build();
-
- public static final PropertyDescriptor AUTHORIZATION_STRATEGY = new PropertyDescriptor.Builder()
- .name("AUTHORIZATION_STRATEGY")
- .displayName("Authorization strategy")
- .description("Authorization strategy for the internal http client.")
- .required(true)
- .defaultValue(AuthStrategy.NO_AUTH.name())
- .allowableValues(Arrays.stream(AuthStrategy.values()).map(Enum::name).collect(Collectors.toSet()))
- .addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .dependsOn(AUTHORIZATION_STRATEGY, AuthStrategy.OAUTH2_CLIENT_CREDENTIALS.name())
.build();
public static final PropertyDescriptor RETRIES_ENABLED = new PropertyDescriptor.Builder()
@@ -95,6 +101,7 @@ private RequestExecutorProperties() {
.required(false)
.defaultValue(String.valueOf(5))
.addValidator(StandardValidators.POSITIVE_INTEGER_VALIDATOR)
+ .dependsOn(RETRIES_ENABLED, TRUE.toString())
.build();
public static final PropertyDescriptor STATUSES_TO_RETRY = new PropertyDescriptor.Builder()
@@ -103,6 +110,7 @@ private RequestExecutorProperties() {
.description("Custom comma seperated list of http status codes that can trigger a retry in the http client.")
.required(false)
.addValidator(StandardValidators.NON_BLANK_VALIDATOR)
+ .dependsOn(RETRIES_ENABLED, TRUE.toString())
.build();
public static String getApiKeyHeader(final ProcessContext context) {
diff --git a/ldi-nifi/ldi-nifi-processors/ldes-client-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/LdesProcessorProperties.java b/ldi-nifi/ldi-nifi-processors/ldes-client-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/LdesProcessorProperties.java
index e92de8010..a138ee8ae 100644
--- a/ldi-nifi/ldi-nifi-processors/ldes-client-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/LdesProcessorProperties.java
+++ b/ldi-nifi/ldi-nifi-processors/ldes-client-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/config/LdesProcessorProperties.java
@@ -101,10 +101,11 @@ private LdesProcessorProperties() {
public static final PropertyDescriptor USE_LATEST_STATE_FILTER = new PropertyDescriptor.Builder()
.name("USE_LATEST_STATE_FILTER")
.displayName("Use latest state filter")
- .description("Use filter to only process the latest state and so all older versions are ignored, only when 'Use version materialisation' is set to true")
+ .description("Use filter to only process the latest state and so all older versions are ignored")
.required(false)
.addValidator(StandardValidators.BOOLEAN_VALIDATOR)
.defaultValue(TRUE.toString())
+ .dependsOn(USE_VERSION_MATERIALISATION, TRUE.toString())
.build();
public static List getDataSourceUrl(final ProcessContext context) {
From 74177a9fa32101b1c9255153f8fc9ade32e462ae Mon Sep 17 00:00:00 2001
From: Jan Robert <15772440+Yalz@users.noreply.github.com>
Date: Wed, 27 Nov 2024 15:45:49 +0100
Subject: [PATCH 09/16] fix: LDIO Ldes Client improvements (#723)
Co-authored-by: Yalz
---
.../treenodesupplier/TreeNodeProcessor.java | 27 ++--
.../ldio/pipeline/PipelineServiceImpl.java | 38 +++--
.../web/PipelineExceptionHandler.java | 3 +-
.../ldio/pipeline/PipelineServiceTest.java | 140 ++++++++++++++----
.../pipeline/web/PipelineControllerTest.java | 2 +-
.../ldio/pipeline/creation/LdioInput.java | 9 +-
.../pipeline/exception/PipelineException.java | 7 +
.../PipelineInitialisationException.java | 15 ++
.../ldes/ldio/LdioLdesClient.java | 40 +++--
.../ldes/ldio/LdioLdesClientTest.java | 17 +--
10 files changed, 212 insertions(+), 86 deletions(-)
create mode 100644 ldi-orchestrator/ldio-common/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/exception/PipelineInitialisationException.java
diff --git a/ldi-core/ldes-client/tree-node-supplier/src/main/java/ldes/client/treenodesupplier/TreeNodeProcessor.java b/ldi-core/ldes-client/tree-node-supplier/src/main/java/ldes/client/treenodesupplier/TreeNodeProcessor.java
index 96b3054cf..c5f73deeb 100644
--- a/ldi-core/ldes-client/tree-node-supplier/src/main/java/ldes/client/treenodesupplier/TreeNodeProcessor.java
+++ b/ldi-core/ldes-client/tree-node-supplier/src/main/java/ldes/client/treenodesupplier/TreeNodeProcessor.java
@@ -1,5 +1,6 @@
package ldes.client.treenodesupplier;
+import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.exceptions.HttpRequestException;
import be.vlaanderen.informatievlaanderen.ldes.ldi.requestexecutor.executor.RequestExecutor;
import be.vlaanderen.informatievlaanderen.ldes.ldi.timestampextractor.TimestampExtractor;
import ldes.client.treenodefetcher.TreeNodeFetcher;
@@ -69,16 +70,22 @@ private void processTreeNode() {
treeNodeRecord.markImmutableWithoutUnprocessedMembers();
treeNodeRecordRepository.saveTreeNodeRecord(treeNodeRecord);
} else {
- waitUntilNextVisit(treeNodeRecord);
- TreeNodeResponse treeNodeResponse = treeNodeFetcher
- .fetchTreeNode(ldesMetaData.createRequest(treeNodeRecord.getTreeNodeUrl()));
- treeNodeRecord.updateStatus(treeNodeResponse.getMutabilityStatus());
- saveNewRelations(treeNodeResponse);
- List newMembers = getNewMembersFromResponse(treeNodeResponse, treeNodeRecord);
- saveNewMembers(newMembers);
- treeNodeRecord.addToReceived(newMembers.stream().map(TreeMember::getMemberId).toList());
- treeNodeRecordRepository.saveTreeNodeRecord(treeNodeRecord);
- treeNodeRecordRepository.resetContext();
+ try {
+ waitUntilNextVisit(treeNodeRecord);
+ TreeNodeResponse treeNodeResponse = treeNodeFetcher
+ .fetchTreeNode(ldesMetaData.createRequest(treeNodeRecord.getTreeNodeUrl()));
+ treeNodeRecord.updateStatus(treeNodeResponse.getMutabilityStatus());
+ saveNewRelations(treeNodeResponse);
+ List newMembers = getNewMembersFromResponse(treeNodeResponse, treeNodeRecord);
+ saveNewMembers(newMembers);
+ treeNodeRecord.addToReceived(newMembers.stream().map(TreeMember::getMemberId).toList());
+ treeNodeRecordRepository.saveTreeNodeRecord(treeNodeRecord);
+ treeNodeRecordRepository.resetContext();
+ } catch (HttpRequestException e) {
+ treeNodeRecordRepository.saveTreeNodeRecord(treeNodeRecord);
+ throw e;
+ }
+
}
}
diff --git a/ldi-orchestrator/ldio-application/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/PipelineServiceImpl.java b/ldi-orchestrator/ldio-application/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/PipelineServiceImpl.java
index 3997651f9..e96a03e98 100644
--- a/ldi-orchestrator/ldio-application/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/PipelineServiceImpl.java
+++ b/ldi-orchestrator/ldio-application/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/PipelineServiceImpl.java
@@ -4,6 +4,7 @@
import be.vlaanderen.informatievlaanderen.ldes.ldio.pipeline.creation.events.PipelineShutdownEvent;
import be.vlaanderen.informatievlaanderen.ldes.ldio.pipeline.exception.PipelineAlreadyExistsException;
import be.vlaanderen.informatievlaanderen.ldes.ldio.pipeline.exception.PipelineException;
+import be.vlaanderen.informatievlaanderen.ldes.ldio.pipeline.exception.PipelineInitialisationException;
import be.vlaanderen.informatievlaanderen.ldes.ldio.pipeline.persistence.PipelineRepository;
import be.vlaanderen.informatievlaanderen.ldes.ldio.pipeline.status.PipelineStatusService;
import be.vlaanderen.informatievlaanderen.ldes.ldio.pipeline.web.dto.PipelineTO;
@@ -39,10 +40,14 @@ public PipelineConfig addPipeline(PipelineConfig pipeline) throws PipelineExcept
if (pipelineRepository.exists(pipeline.getName())) {
throw new PipelineAlreadyExistsException(pipeline.getName());
} else {
- pipelineCreatorService.initialisePipeline(pipeline);
- pipelineRepository.activateNewPipeline(pipeline);
- log.atInfo().log("CREATION of pipeline '{}' successfully finished", pipeline.getName().replaceAll("[\n\r]", "_"));
- return pipeline;
+ try {
+ pipelineCreatorService.initialisePipeline(pipeline);
+ pipelineRepository.activateNewPipeline(pipeline);
+ log.atInfo().log("CREATION of pipeline '{}' successfully finished", formatPipelineName(pipeline.getName()));
+ return pipeline;
+ } catch (RuntimeException e) {
+ throw new PipelineInitialisationException(pipeline.getName(), e);
+ }
}
}
@@ -51,9 +56,14 @@ public PipelineConfig addPipeline(PipelineConfig pipeline, File persistedFile) t
if (pipelineRepository.exists(pipeline.getName())) {
throw new PipelineAlreadyExistsException(pipeline.getName());
} else {
- pipelineCreatorService.initialisePipeline(pipeline);
- pipelineRepository.activateExistingPipeline(pipeline, persistedFile);
- return pipeline;
+ try {
+ pipelineCreatorService.initialisePipeline(pipeline);
+ pipelineRepository.activateExistingPipeline(pipeline, persistedFile);
+ log.atInfo().log("CREATION of pipeline '{}' successfully finished", formatPipelineName(pipeline.getName()));
+ return pipeline;
+ } catch (RuntimeException e) {
+ throw new PipelineInitialisationException(pipeline.getName(), e);
+ }
}
}
@@ -65,11 +75,11 @@ public List getPipelines() {
}
@Override
- public boolean requestDeletion(String pipeline) {
- if (pipelineRepository.exists(pipeline)) {
- pipelineStatusService.stopPipeline(pipeline);
- deletePipelineFromServices(pipeline);
- log.atInfo().log("DELETION of pipeline '{}' successfully finished", pipeline.replaceAll("[\n\r]", "_"));
+ public boolean requestDeletion(String pipelineName) {
+ if (pipelineRepository.exists(pipelineName)) {
+ pipelineStatusService.stopPipeline(pipelineName);
+ deletePipelineFromServices(pipelineName);
+ log.atInfo().log("DELETION of pipeline '{}' successfully finished", formatPipelineName(pipelineName));
return true;
} else {
return false;
@@ -80,4 +90,8 @@ private void deletePipelineFromServices(String pipeline) {
pipelineRepository.delete(pipeline);
pipelineCreatorService.removePipeline(pipeline);
}
+
+ private String formatPipelineName(String pipelineName) {
+ return pipelineName.replaceAll("[\n\r]", "_");
+ }
}
diff --git a/ldi-orchestrator/ldio-application/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/web/PipelineExceptionHandler.java b/ldi-orchestrator/ldio-application/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/web/PipelineExceptionHandler.java
index 207850076..50f946548 100644
--- a/ldi-orchestrator/ldio-application/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/web/PipelineExceptionHandler.java
+++ b/ldi-orchestrator/ldio-application/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/pipeline/web/PipelineExceptionHandler.java
@@ -13,7 +13,8 @@
public class PipelineExceptionHandler extends ResponseEntityExceptionHandler {
@ExceptionHandler(value = {PipelineAlreadyExistsException.class, InvalidPipelineNameException.class,
- InvalidComponentException.class, LdiAdapterMissingException.class, ConfigPropertyMissingException.class})
+ InvalidComponentException.class, LdiAdapterMissingException.class, ConfigPropertyMissingException.class,
+ PipelineInitialisationException.class})
public ResponseEntity
+
+ org.assertj
+ assertj-core
+
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessor.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessor.java
index 08c61e7bf..023f1ddce 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessor.java
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessor.java
@@ -55,10 +55,12 @@ public void onTrigger(final ProcessContext context, final ProcessSession session
final Model inputModel = receiveDataAsModel(session, flowFile, getDataSourceFormat(context));
transformer.transform(inputModel).forEach(resultModel ->
- sendRDFToRelation(session, flowFile, resultModel, SUCCESS, getDataSourceFormat(context)));
+ sendRDFToRelation(session, resultModel, SUCCESS, getDataSourceFormat(context)));
+
+ session.remove(flowFile);
} catch (Exception e) {
getLogger().error("Error executing SPARQL CONSTRUCT query: {}", e.getMessage());
- sendRDFToRelation(session, flowFile, FAILURE);
+ session.transfer(flowFile, FAILURE);
}
}
}
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlSelectProcessor.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlSelectProcessor.java
index 1a077ee49..cb3ae62e1 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlSelectProcessor.java
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlSelectProcessor.java
@@ -59,7 +59,7 @@ public void onTrigger(final ProcessContext context, final ProcessSession session
sendRDFToRelation(session, flowFile, queryResult.toString(), SUCCESS, APPLICATION_JSON.getMimeType());
} catch (Exception e) {
getLogger().error("Error executing SPARQL SELECT query: {}", e.getMessage());
- sendRDFToRelation(session, flowFile, FAILURE);
+ session.transfer(flowFile, FAILURE);
}
}
}
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessorTest.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessorTest.java
index 3ac952411..f320d10f4 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessorTest.java
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlConstructProcessorTest.java
@@ -1,15 +1,25 @@
package be.vlaanderen.informatievlaanderen.ldes.ldi.processors;
+import org.apache.jena.riot.Lang;
import org.apache.nifi.util.MockFlowFile;
import org.apache.nifi.util.TestRunner;
import org.apache.nifi.util.TestRunners;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.net.URL;
+import java.nio.file.Files;
+import java.nio.file.Path;
+import java.util.Objects;
+
+import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.CommonProperties.DATA_SOURCE_FORMAT;
import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.SparqlProcessorProperties.INCLUDE_ORIGINAL;
import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.SparqlProcessorProperties.SPARQL_CONSTRUCT_QUERY;
import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.services.FlowManager.FAILURE;
import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.services.FlowManager.SUCCESS;
+import static org.assertj.core.api.Assertions.assertThatNoException;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
@@ -42,7 +52,7 @@ void whenSuccess_andInfer_shouldContainSourceAndInferredData() {
testRunner.run();
- MockFlowFile f = testRunner.getFlowFilesForRelationship(SUCCESS).get(0);
+ MockFlowFile f = testRunner.getFlowFilesForRelationship(SUCCESS).getFirst();
assertTrue(f.getContent().contains("Source data!"));
assertTrue(f.getContent().contains("Inferred data"));
}
@@ -56,7 +66,7 @@ void whenSuccess_andReplace_shouldContainOnlyInferredData() {
testRunner.run();
- MockFlowFile f = testRunner.getFlowFilesForRelationship(SUCCESS).get(0);
+ MockFlowFile f = testRunner.getFlowFilesForRelationship(SUCCESS).getFirst();
// In replace mode, source data shouldn't be present.
assertFalse(f.getContent().contains("Source data!"));
@@ -75,4 +85,17 @@ void whenQueryInvalid_shouldReturnInFailureRouting() {
testRunner.assertAllFlowFilesTransferred(FAILURE);
}
+ @Test
+ void when_SplitIntoMultipleFlowFiles_then_NoExceptionIsThrown() throws URISyntaxException, IOException {
+ final URL query = Objects.requireNonNull(getClass().getClassLoader().getResource("construct_query.rq"));
+ final String splitQuery = Files.readString(Path.of(query.toURI()));
+ testRunner.setProperty(SPARQL_CONSTRUCT_QUERY, splitQuery);
+ testRunner.setProperty(DATA_SOURCE_FORMAT, Lang.TTL.getHeaderString());
+
+ testRunner.enqueue(getClass().getClassLoader().getResourceAsStream("5-members.ttl"));
+
+ assertThatNoException().isThrownBy(testRunner::run);
+
+ testRunner.assertAllFlowFilesTransferred(SUCCESS, 5);
+ }
}
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/resources/5-members.ttl b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/resources/5-members.ttl
new file mode 100644
index 000000000..f4e454e2c
--- /dev/null
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/resources/5-members.ttl
@@ -0,0 +1,114 @@
+
+ a ;
+
+ 85;
+
+ 1;
+
+ "2024-07-11T10:07:49+02:00"^^;
+
+ "51.024483197"^^;
+
+ "3.69519252261"^^;
+
+ "P+R The Loop";
+
+ 168;
+
+ 49;
+
+ "24/7";
+
+ "Mobiliteitsbedrijf Gent" .
+
+
+ a ;
+
+ 0;
+
+ 1;
+
+ "2024-07-11T10:07:49+02:00"^^;
+
+ "51.0325480691"^^;
+
+ "3.7583663653"^^;
+
+ "P+R Gentbrugge Arsenaal";
+
+ 280;
+
+ 100;
+
+ "24/7";
+
+ "Mobiliteitsbedrijf Gent" .
+
+
+ a ;
+
+ 34;
+
+ 1;
+
+ "2024-07-11T10:07:04+02:00"^^;
+
+ "51.0985019636"^^;
+
+ "3.71138627257"^^;
+
+ "P+R Wondelgem";
+
+ 62;
+
+ 45;
+
+ "24/7";
+
+ "Mobiliteitsbedrijf Gent" .
+
+
+ a ;
+
+ 191;
+
+ 1;
+
+ "2024-07-11T10:07:49+02:00"^^;
+
+ "51.0739904088"^^;
+
+ "3.77726718837"^^;
+
+ "P+R Oostakker";
+
+ 201;
+
+ 4;
+
+ "24/7";
+
+ "Mobiliteitsbedrijf Gent" .
+
+
+ a ;
+
+ 0;
+
+ 1;
+
+ "2024-07-11T10:07:49+02:00"^^;
+
+ "51.0674048936"^^;
+
+ "3.68175794804"^^;
+
+ "P+R Bourgoyen";
+
+ 255;
+
+ 100;
+
+ "24/7";
+
+ "Mobiliteitsbedrijf Gent" .
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/resources/construct_query.rq b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/resources/construct_query.rq
new file mode 100644
index 000000000..10d65cc10
--- /dev/null
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/test/resources/construct_query.rq
@@ -0,0 +1,36 @@
+PREFIX rdf:
+PREFIX rdfs:
+PREFIX dct:
+PREFIX schema:
+PREFIX mv:
+PREFIX temp:
+PREFIX wgs84:
+CONSTRUCT {
+ GRAPH ?id {
+ ?id
+ a mv:ParkingLot ;
+ dct:modified ?lastupdate ;
+ rdfs:label ?name ;
+ schema:openingHoursSpecification [a schema:OpeningHoursSpecification; rdfs:label ?openingtimesdescription] ;
+ mv:operatedBy [a schema:Organization, dct:Agent; rdfs:label ?operatorinformation] ;
+ mv:price [a schema:PriceSpecification; mv:freeOfCharge ?freeparking ] ;
+ mv:url ?id ;
+ mv:capacity [a mv:Capacity; mv:totalCapacity ?numberofspaces] ;
+ mv:capacity [a mv:RealTimeCapacity; mv:currentValue ?availablespaces] ;
+ mv:rateOfOccupancy ?occupation ;
+ wgs84:lat ?latitude ;
+ wgs84:long ?longitude .
+ }
+} WHERE {
+ ?id rdf:type mv:ParkingLot .
+ ?id temp:lastupdate ?lastupdate .
+ optional { ?id temp:name ?name . }
+ optional { ?id temp:openingtimesdescription ?openingtimesdescription . }
+ optional { ?id temp:operatorinformation ?operatorinformation . }
+ optional { ?id temp:freeparking ?freeparking . }
+ optional { ?id temp:numberofspaces ?numberofspaces . }
+ optional { ?id temp:availablespaces ?availablespaces . }
+ optional { ?id temp:occupation ?occupation . }
+ optional { ?id temp:latitude ?latitude . }
+ optional { ?id temp:longitude ?longitude . }
+}
\ No newline at end of file
diff --git a/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/VersionMaterialiseProcessor.java b/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/VersionMaterialiseProcessor.java
index fd35a62e6..72a082a02 100644
--- a/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/VersionMaterialiseProcessor.java
+++ b/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/VersionMaterialiseProcessor.java
@@ -58,7 +58,7 @@ public void onTrigger(final ProcessContext context, final ProcessSession session
} catch (Exception e) {
getLogger().error("Error executing version materialisation: {}", e.getMessage());
- sendRDFToRelation(session, flowFile, FAILURE);
+ session.transfer(flowFile, FAILURE);
}
}
}
From 41eaf2faacb2ac01505b12fbfe5dd4b292e3e87a Mon Sep 17 00:00:00 2001
From: Yalz
Date: Thu, 28 Nov 2024 13:43:12 +0100
Subject: [PATCH 12/16] fix: LDIO LDES Client: set pipeline status halted when
experiencing errors
---
.../informatievlaanderen/ldes/ldio/LdioLdesClient.java | 1 +
1 file changed, 1 insertion(+)
diff --git a/ldi-orchestrator/ldio-connectors/ldio-ldes-client/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/LdioLdesClient.java b/ldi-orchestrator/ldio-connectors/ldio-ldes-client/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/LdioLdesClient.java
index b7933f255..605ff3e16 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-ldes-client/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/LdioLdesClient.java
+++ b/ldi-orchestrator/ldio-connectors/ldio-ldes-client/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/LdioLdesClient.java
@@ -81,6 +81,7 @@ private synchronized void run() {
log.error("LDES URL unavailable. Client paused: {}", e.getMessage());
run();
} catch (Exception e) {
+ updateStatus(PipelineStatusTrigger.HALT, StatusChangeSource.AUTO);
clientStatusConsumer.accept(ClientStatus.ERROR);
log.error("LdesClientRunner FAILURE: {}", e.getMessage());
}
From 6a1c2b2145f61d770fe84dff97447e6cee8a4f2a Mon Sep 17 00:00:00 2001
From: Ranko Orlic
Date: Thu, 5 Dec 2024 14:20:26 +0100
Subject: [PATCH 13/16] Chore/add pyroscope (#712)
Co-authored-by: Jonas Bulcke
---
.github/ldio.Dockerfile | 4 ++
.github/workflows/1.a-build-pr.yml | 1 +
.github/workflows/pr-merged.yml | 1 +
.../ldio-application-instrumentation/pom.xml | 40 ++++++++++++++
.../instrumentation/PyroscopeInitialiser.java | 22 ++++++++
ldi-orchestrator/ldio-application/pom.xml | 14 ++++-
ldi-orchestrator/ldio-instrumentation/pom.xml | 55 +++++++++++++++++++
.../instrumentation/PyroscopeInitialiser.java | 18 ++++++
.../PyroscopeInitialiserTest.java | 36 ++++++++++++
ldi-orchestrator/pom.xml | 10 ++++
10 files changed, 199 insertions(+), 2 deletions(-)
create mode 100644 ldi-orchestrator/ldio-application-instrumentation/pom.xml
create mode 100644 ldi-orchestrator/ldio-application-instrumentation/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiser.java
create mode 100644 ldi-orchestrator/ldio-instrumentation/pom.xml
create mode 100644 ldi-orchestrator/ldio-instrumentation/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiser.java
create mode 100644 ldi-orchestrator/ldio-instrumentation/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiserTest.java
diff --git a/.github/ldio.Dockerfile b/.github/ldio.Dockerfile
index 294bd8082..30f5580f5 100644
--- a/.github/ldio.Dockerfile
+++ b/.github/ldio.Dockerfile
@@ -2,11 +2,15 @@
FROM amazoncorretto:21-alpine-jdk
+## Dependency for pyroscope
+RUN apk --no-cache add libstdc++
+
RUN adduser -D -u 2000 ldio
USER ldio
WORKDIR /ldio
COPY ./ldi-orchestrator/ldio-application/target/ldio-application.jar ./
+COPY ./ldi-orchestrator/ldio-instrumentation/target/ldio-instrumentation.jar ./lib/
COPY ./ldi-orchestrator/ldio-connectors/ldio-http-in/target/ldio-http-in-jar-with-dependencies.jar ./lib/
COPY ./ldi-orchestrator/ldio-connectors/ldio-http-in-poller/target/ldio-http-in-poller-jar-with-dependencies.jar ./lib/
diff --git a/.github/workflows/1.a-build-pr.yml b/.github/workflows/1.a-build-pr.yml
index 0b35ced08..be0ab443d 100644
--- a/.github/workflows/1.a-build-pr.yml
+++ b/.github/workflows/1.a-build-pr.yml
@@ -47,6 +47,7 @@ jobs:
**/*with-dependencies.jar
**/*application.jar
**/ldes-discoverer.jar
+ **/ldio-instrumentation.jar
build-ldio-image:
diff --git a/.github/workflows/pr-merged.yml b/.github/workflows/pr-merged.yml
index 832781e42..a76b69e48 100644
--- a/.github/workflows/pr-merged.yml
+++ b/.github/workflows/pr-merged.yml
@@ -77,6 +77,7 @@ jobs:
**/*with-dependencies.jar
**/*application.jar
**/ldes-discoverer.jar
+ **/ldio-instrumentation.jar
create-ldio-image:
diff --git a/ldi-orchestrator/ldio-application-instrumentation/pom.xml b/ldi-orchestrator/ldio-application-instrumentation/pom.xml
new file mode 100644
index 000000000..70e166ab7
--- /dev/null
+++ b/ldi-orchestrator/ldio-application-instrumentation/pom.xml
@@ -0,0 +1,40 @@
+
+
+
+ ldi-orchestrator
+ be.vlaanderen.informatievlaanderen.ldes.ldi
+ 2.9.0-SNAPSHOT
+
+ 4.0.0
+
+ ldio-application-instrumentation
+
+
+
+ io.pyroscope
+ agent
+
+
+ org.springframework
+ spring-context
+ compile
+
+
+ jakarta.annotation
+ jakarta.annotation-api
+ compile
+
+
+
+
+ ${project.artifactId}
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+
+
+
\ No newline at end of file
diff --git a/ldi-orchestrator/ldio-application-instrumentation/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiser.java b/ldi-orchestrator/ldio-application-instrumentation/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiser.java
new file mode 100644
index 000000000..6c900eba0
--- /dev/null
+++ b/ldi-orchestrator/ldio-application-instrumentation/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiser.java
@@ -0,0 +1,22 @@
+package be.vlaanderen.informatievlaanderen.ldes.ldio.instrumentation;
+
+import io.pyroscope.javaagent.PyroscopeAgent;
+import io.pyroscope.javaagent.config.Config;
+import jakarta.annotation.PostConstruct;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+@Component
+public class PyroscopeInitialiser {
+
+ @Value("${pyroscope.agent.enabled:false}")
+ private boolean usePyroscope;
+ @PostConstruct
+ public void init() {
+ if(usePyroscope) {
+ PyroscopeAgent.start(
+ Config.build()
+ );
+ }
+ }
+}
\ No newline at end of file
diff --git a/ldi-orchestrator/ldio-application/pom.xml b/ldi-orchestrator/ldio-application/pom.xml
index 9baa5f297..7a8d4d222 100644
--- a/ldi-orchestrator/ldio-application/pom.xml
+++ b/ldi-orchestrator/ldio-application/pom.xml
@@ -1,5 +1,6 @@
-
+
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-orchestrator
@@ -47,6 +48,14 @@
${project.version}
compile
+
+
+ be.vlaanderen.informatievlaanderen.ldes.ldi
+ ldio-instrumentation
+ ${project.version}
+ compile
+
+
io.micrometer
micrometer-registry-prometheus
@@ -237,7 +246,8 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-rml-adapter
${project.version}
-
+
+
ldio-ngsiv2-to-ld-adapter
diff --git a/ldi-orchestrator/ldio-instrumentation/pom.xml b/ldi-orchestrator/ldio-instrumentation/pom.xml
new file mode 100644
index 000000000..f9918480b
--- /dev/null
+++ b/ldi-orchestrator/ldio-instrumentation/pom.xml
@@ -0,0 +1,55 @@
+
+
+
+ ldi-orchestrator
+ be.vlaanderen.informatievlaanderen.ldes.ldi
+ 2.11.0-SNAPSHOT
+
+ 4.0.0
+
+ ldio-instrumentation
+
+
+
+ io.pyroscope
+ agent
+
+
+ org.springframework
+ spring-context
+ compile
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+
+
+ org.springframework.boot
+ spring-boot-test
+ ${spring-boot.version}
+ test
+
+
+ org.assertj
+ assertj-core
+
+
+ jakarta.annotation
+ jakarta.annotation-api
+ compile
+
+
+
+
+ ${project.artifactId}
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+
+
+
\ No newline at end of file
diff --git a/ldi-orchestrator/ldio-instrumentation/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiser.java b/ldi-orchestrator/ldio-instrumentation/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiser.java
new file mode 100644
index 000000000..cd845108f
--- /dev/null
+++ b/ldi-orchestrator/ldio-instrumentation/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiser.java
@@ -0,0 +1,18 @@
+package be.vlaanderen.informatievlaanderen.ldes.ldio.instrumentation;
+
+import io.pyroscope.javaagent.PyroscopeAgent;
+import io.pyroscope.javaagent.config.Config;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.boot.context.event.ApplicationReadyEvent;
+import org.springframework.context.event.EventListener;
+import org.springframework.stereotype.Component;
+
+@Component
+@ConditionalOnProperty(value = "pyroscope.agent.enabled", havingValue = "true")
+public class PyroscopeInitialiser {
+
+ @EventListener(ApplicationReadyEvent.class)
+ public void init() {
+ PyroscopeAgent.start(Config.build());
+ }
+}
\ No newline at end of file
diff --git a/ldi-orchestrator/ldio-instrumentation/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiserTest.java b/ldi-orchestrator/ldio-instrumentation/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiserTest.java
new file mode 100644
index 000000000..24e16b8a4
--- /dev/null
+++ b/ldi-orchestrator/ldio-instrumentation/src/test/java/be/vlaanderen/informatievlaanderen/ldes/ldio/instrumentation/PyroscopeInitialiserTest.java
@@ -0,0 +1,36 @@
+package be.vlaanderen.informatievlaanderen.ldes.ldio.instrumentation;
+
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+import org.springframework.boot.test.context.runner.ApplicationContextRunner;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+class PyroscopeInitialiserTest {
+ private ApplicationContextRunner runner;
+
+ @BeforeEach
+ void setUp() {
+ runner = new ApplicationContextRunner()
+ .withUserConfiguration(PyroscopeInitialiser.class);
+ }
+
+ @Test
+ void given_EnabledIsTrue_when_RunContext_then_BeanIsPresent() {
+ runner
+ .withPropertyValues("pyroscope.agent.enabled=true")
+ .run(context -> assertThat(context).hasSingleBean(PyroscopeInitialiser.class));
+ }
+
+ @Test
+ void given_EnabledIsFalse_when_RunContext_then_BeanIsAbsent() {
+ runner
+ .withPropertyValues("pyroscope.agent.enabled=false")
+ .run(context -> assertThat(context).doesNotHaveBean(PyroscopeInitialiser.class));
+ }
+
+ @Test
+ void given_MissingEnabledProperty_when_RunContext_then_BeanIsAbsent() {
+ runner.run(context -> assertThat(context).doesNotHaveBean(PyroscopeInitialiser.class));
+ }
+}
\ No newline at end of file
diff --git a/ldi-orchestrator/pom.xml b/ldi-orchestrator/pom.xml
index 305a9939a..6414c62c1 100644
--- a/ldi-orchestrator/pom.xml
+++ b/ldi-orchestrator/pom.xml
@@ -15,6 +15,7 @@
ldio-common
ldio-application
ldio-connectors
+ ldio-instrumentation
@@ -24,6 +25,7 @@
7.13.0
1.9.3
2.3.0
+ 0.13.0
@@ -67,6 +69,14 @@
zipkin-reporter-brave
${zipkin-reporter.version}
+
+
+
+ io.pyroscope
+ agent
+ ${pyroscope.version}
+
+
From a25adf89267202cebede3945b50ab7da7f51bad4 Mon Sep 17 00:00:00 2001
From: Jonas Bulcke <127748878+jobulcke@users.noreply.github.com>
Date: Mon, 9 Dec 2024 16:37:41 +0100
Subject: [PATCH 14/16] chore/bump-to-jena-5 (#729)
Co-authored-by: Ranko Orlic
---
ldi-core/json-to-ld-adapter/pom.xml | 4 +
.../ldes/ldi/JsonToLdAdapter.java | 5 +-
.../org/apache/jena/graph/GraphExtract.java | 89 +++++++++++++++++++
.../org/apache/jena/graph/TripleBoundary.java | 42 +++++++++
.../apache/jena/rdf/model/ModelExtract.java | 67 ++++++++++++++
.../jena/rdf/model/StatementBoundary.java | 38 ++++++++
.../jena/rdf/model/StatementBoundaryBase.java | 61 +++++++++++++
.../rdf/model/StatementTripleBoundary.java | 53 +++++++++++
ldi-core/ngsiv2-to-ld-adapter/pom.xml | 8 ++
.../ldes/ldi/NgsiV2ToLdAdapter.java | 20 ++---
ldi-core/pom.xml | 3 -
ldi-core/rml-adapter/pom.xml | 7 +-
.../ldi/processors/SparqlSelectProcessor.java | 4 +-
ldi-orchestrator/ldio-application/pom.xml | 1 -
.../ldio-azure-blob-out/pom.xml | 6 ++
ldi-orchestrator/pom.xml | 1 -
pom.xml | 40 +++++++--
17 files changed, 420 insertions(+), 29 deletions(-)
create mode 100644 ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/graph/GraphExtract.java
create mode 100644 ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/graph/TripleBoundary.java
create mode 100644 ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/ModelExtract.java
create mode 100644 ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementBoundary.java
create mode 100644 ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementBoundaryBase.java
create mode 100644 ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementTripleBoundary.java
diff --git a/ldi-core/json-to-ld-adapter/pom.xml b/ldi-core/json-to-ld-adapter/pom.xml
index 15c8ee615..4f624484c 100644
--- a/ldi-core/json-to-ld-adapter/pom.xml
+++ b/ldi-core/json-to-ld-adapter/pom.xml
@@ -15,5 +15,9 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-common
+
+ org.apache.httpcomponents.core5
+ httpcore5
+
\ No newline at end of file
diff --git a/ldi-core/json-to-ld-adapter/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/JsonToLdAdapter.java b/ldi-core/json-to-ld-adapter/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/JsonToLdAdapter.java
index 462ab1658..da29dd0b2 100644
--- a/ldi-core/json-to-ld-adapter/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/JsonToLdAdapter.java
+++ b/ldi-core/json-to-ld-adapter/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/JsonToLdAdapter.java
@@ -3,7 +3,7 @@
import be.vlaanderen.informatievlaanderen.ldes.ldi.exceptions.ParseToJsonException;
import be.vlaanderen.informatievlaanderen.ldes.ldi.exceptions.UnsupportedMimeTypeException;
import be.vlaanderen.informatievlaanderen.ldes.ldi.types.LdiAdapter;
-import org.apache.http.entity.ContentType;
+import org.apache.hc.core5.http.ContentType;
import org.apache.jena.atlas.json.*;
import org.apache.jena.rdf.model.Model;
import org.apache.jena.rdf.model.ModelFactory;
@@ -84,8 +84,7 @@ private Model mapJsonObjectToModel(JsonValue json) {
final var jsonObject = json.getAsObject();
addContexts(jsonObject);
Model model = ModelFactory.createDefaultModel();
- RDFParser.fromString(jsonObject.toString())
- .lang(Lang.JSONLD)
+ RDFParser.fromString(jsonObject.toString(), Lang.JSONLD)
.context(jenaContext)
.parse(model);
return model;
diff --git a/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/graph/GraphExtract.java b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/graph/GraphExtract.java
new file mode 100644
index 000000000..0c1a0736b
--- /dev/null
+++ b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/graph/GraphExtract.java
@@ -0,0 +1,89 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.graph;
+
+import org.apache.jena.util.CollectionFactory;
+
+import java.util.Iterator;
+import java.util.Set;
+
+/**
+ GraphExtract offers a very simple recursive extraction of a subgraph with a
+ specified root in some supergraph. The recursion is terminated by triples
+ that satisfy some supplied boundary condition.
+ */
+public class GraphExtract {
+ protected final TripleBoundary b;
+
+ public GraphExtract(TripleBoundary b) {
+ this.b = b;
+ }
+
+ /**
+ Answer a new graph which is the reachable subgraph from node
+ in graph
with the terminating condition given by the
+ TripleBoundary passed to the constructor.
+ */
+ public Graph extract(Node node, Graph graph) {
+ return extractInto(GraphMemFactory.createGraphMem(), node, graph);
+ }
+
+ /**
+ Answer the graph toUpdate
augmented with the sub-graph of
+ extractFrom
reachable from root
bounded
+ by this instance's TripleBoundary.
+ */
+ public Graph extractInto(Graph toUpdate, Node root, Graph extractFrom) {
+ new Extraction(b, toUpdate, extractFrom).extractInto(root);
+ return toUpdate;
+ }
+
+ /**
+ This is the class that does all the work, in the established context of the
+ source and destination graphs, the TripleBoundary that determines the
+ limits of the extraction, and a local set active
of nodes
+ already seen and hence not to be re-processed.
+ */
+ protected static class Extraction {
+ protected Graph toUpdate;
+ protected Graph extractFrom;
+ protected Set active;
+ protected TripleBoundary b;
+
+ Extraction(TripleBoundary b, Graph toUpdate, Graph extractFrom) {
+ this.toUpdate = toUpdate;
+ this.extractFrom = extractFrom;
+ this.active = CollectionFactory.createHashedSet();
+ this.b = b;
+ }
+
+ public void extractInto(Node root) {
+ active.add(root);
+ Iterator it = extractFrom.find(root, Node.ANY, Node.ANY);
+ while (it.hasNext()) {
+ Triple t = it.next();
+ Node subRoot = t.getObject();
+ toUpdate.add(t);
+ if (!(active.contains(subRoot) || b.stopAt(t))) extractInto(subRoot);
+ }
+ }
+ }
+
+
+}
diff --git a/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/graph/TripleBoundary.java b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/graph/TripleBoundary.java
new file mode 100644
index 000000000..ba3a49d91
--- /dev/null
+++ b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/graph/TripleBoundary.java
@@ -0,0 +1,42 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.graph;
+
+/**
+ An interface for expressing a stopping condition on triples, such as in
+ sub-graph extraction.
+ */
+public interface TripleBoundary {
+ /**
+ Answer true if this triple is a stopping triple, and whatever search is using
+ this interface should proceed no further.
+ */
+ boolean stopAt(Triple t);
+
+ /**
+ A TripleBoundary without limits - stopAt always returns false.
+ */
+ TripleBoundary stopNowhere = t -> false;
+
+ /**
+ A TripleBoundary that stops at triples with anonymous objects.
+ */
+ TripleBoundary stopAtAnonObject = t -> t.getObject().isBlank();
+
+}
diff --git a/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/ModelExtract.java b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/ModelExtract.java
new file mode 100644
index 000000000..1f96839b8
--- /dev/null
+++ b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/ModelExtract.java
@@ -0,0 +1,67 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.rdf.model;
+
+import org.apache.jena.graph.Graph;
+import org.apache.jena.graph.GraphExtract;
+import org.apache.jena.graph.TripleBoundary;
+
+/**
+ ModelExtract - a wrapper for GraphExtract, allowing rooted sub-models to be
+ extracted from other models with some boundary condition.
+ */
+public class ModelExtract {
+ /**
+ The statement boundary used to bound the extraction.
+ */
+ protected StatementBoundary boundary;
+
+ /**
+ Initialise this ModelExtract with a boundary condition.
+ */
+ public ModelExtract(StatementBoundary b) {
+ boundary = b;
+ }
+
+ /**
+ Answer the rooted sub-model.
+ */
+ public Model extract(Resource r, Model s) {
+ return extractInto(ModelFactory.createDefaultModel(), r, s);
+ }
+
+ /**
+ Answer model
after updating it with the sub-graph of
+ s
rooted at r
, bounded by this instances
+ boundary
.
+ */
+ public Model extractInto(Model model, Resource r, Model s) {
+ TripleBoundary tb = boundary.asTripleBoundary(s);
+ Graph g = getGraphExtract(tb).extractInto(model.getGraph(), r.asNode(), s.getGraph());
+ return ModelFactory.createModelForGraph(g);
+ }
+
+ /**
+ Answer a GraphExtract initialised with tb
; extension point
+ for sub-classes (specifically TestModelExtract's mocks).
+ */
+ protected GraphExtract getGraphExtract(TripleBoundary tb) {
+ return new GraphExtract(tb);
+ }
+}
diff --git a/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementBoundary.java b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementBoundary.java
new file mode 100644
index 000000000..bb400f01f
--- /dev/null
+++ b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementBoundary.java
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.rdf.model;
+
+import org.apache.jena.graph.TripleBoundary;
+
+/**
+ An interface for expressing search boundaries in terms of bounding statements.
+ */
+
+public interface StatementBoundary {
+ /**
+ Answer true if this statement is a boundary of the search.
+ */
+ boolean stopAt(Statement s);
+
+ /**
+ Answer a TripleBoundary corresponding to this StatementBoundary,
+ where Triples may be converted to Statements using m
.
+ */
+ TripleBoundary asTripleBoundary(Model m);
+}
diff --git a/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementBoundaryBase.java b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementBoundaryBase.java
new file mode 100644
index 000000000..0db5dc4f8
--- /dev/null
+++ b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementBoundaryBase.java
@@ -0,0 +1,61 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.rdf.model;
+
+import org.apache.jena.graph.TripleBoundary;
+
+/**
+ StatementBoundaryBase - a base class for StatementBoundarys, with
+ built-in conversation to triples and a continueWith as well as a stopAt.
+ */
+public abstract class StatementBoundaryBase implements StatementBoundary {
+ /**
+ Method to over-ride to define what stops the boundary search; default
+ definition is !continueWith(s). exactly one of these two methods
+ must be defined.
+ */
+ @Override
+ public boolean stopAt(Statement s) {
+ return !continueWith(s);
+ }
+
+ /**
+ Method to over-ride to define what continues the boundary search; default
+ definition is !stopAt(s). exactly one of these two methods
+ must be defined.
+ */
+ public boolean continueWith(Statement s) {
+ return !stopAt(s);
+ }
+
+ /**
+ Expresses this StatementBoundary as a TripleBoundary.
+ */
+ @Override
+ public final TripleBoundary asTripleBoundary(Model m) {
+ return convert(m, this);
+ }
+
+ /**
+ Answer a TripleBoundary that is implemented in terms of a StatementBoundary.
+ */
+ public static TripleBoundary convert(final Model s, final StatementBoundary b) {
+ return t -> b.stopAt(s.asStatement(t));
+ }
+}
diff --git a/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementTripleBoundary.java b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementTripleBoundary.java
new file mode 100644
index 000000000..fffd4a511
--- /dev/null
+++ b/ldi-core/ldes-client/tree-node-fetcher/src/main/java/org/apache/jena/rdf/model/StatementTripleBoundary.java
@@ -0,0 +1,53 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.jena.rdf.model;
+
+import org.apache.jena.graph.TripleBoundary;
+
+/**
+ StatementTripleBoundary - a StatementBoundary that just wraps a
+ TripleBoundary.
+ */
+public class StatementTripleBoundary implements StatementBoundary {
+ protected TripleBoundary tb;
+
+ /**
+ Initialise this StatementTripleBoundary with the TripleBoundary tb
.
+ * @param tb
+ */
+ public StatementTripleBoundary(TripleBoundary tb) {
+ this.tb = tb;
+ }
+
+ /**
+ Answer whatever the triple-boundary answers for the triple of s
.
+ */
+ @Override
+ public boolean stopAt(Statement s) {
+ return tb.stopAt(s.asTriple());
+ }
+
+ /**
+ Answer the supplied-to-constructor TripleBoundary.
+ */
+ @Override
+ public TripleBoundary asTripleBoundary(Model ignored) {
+ return tb;
+ }
+}
diff --git a/ldi-core/ngsiv2-to-ld-adapter/pom.xml b/ldi-core/ngsiv2-to-ld-adapter/pom.xml
index 7a0a784f8..f2d437012 100644
--- a/ldi-core/ngsiv2-to-ld-adapter/pom.xml
+++ b/ldi-core/ngsiv2-to-ld-adapter/pom.xml
@@ -15,5 +15,13 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-common
+
+ org.apache.httpcomponents.core5
+ httpcore5
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+
diff --git a/ldi-core/ngsiv2-to-ld-adapter/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/NgsiV2ToLdAdapter.java b/ldi-core/ngsiv2-to-ld-adapter/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/NgsiV2ToLdAdapter.java
index 250e3e3d1..5ad291833 100644
--- a/ldi-core/ngsiv2-to-ld-adapter/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/NgsiV2ToLdAdapter.java
+++ b/ldi-core/ngsiv2-to-ld-adapter/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/NgsiV2ToLdAdapter.java
@@ -4,7 +4,9 @@
import be.vlaanderen.informatievlaanderen.ldes.ldi.exceptions.UnsupportedMimeTypeException;
import be.vlaanderen.informatievlaanderen.ldes.ldi.types.LdiAdapter;
import be.vlaanderen.informatievlaanderen.ldes.ldi.valuobjects.LinkedDataModel;
-import org.apache.http.entity.ContentType;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.apache.hc.core5.http.ContentType;
import org.apache.jena.atlas.json.JSON;
import org.apache.jena.atlas.json.JsonObject;
import org.apache.jena.rdf.model.Model;
@@ -12,9 +14,6 @@
import java.util.Arrays;
import java.util.stream.Stream;
-import com.fasterxml.jackson.core.JsonProcessingException;
-import com.fasterxml.jackson.databind.ObjectMapper;
-
/**
* Adapter that will transform a NGSI V2 input into NGSI LD.
*/
@@ -52,21 +51,18 @@ Stream translateJsonToLD(String data) {
LinkedDataModel[] models = new ObjectMapper()
.readerFor(LinkedDataModel[].class)
.readValue(data);
- return Arrays.stream(models)
- .map(model -> {
- addContexts(model);
- return model;
- });
+ return Arrays.stream(models).map(this::addContexts);
} catch (JsonProcessingException e) {
throw new DeserializationFromJsonException(e, data);
}
}
- private void addContexts(LinkedDataModel model) {
+ private LinkedDataModel addContexts(LinkedDataModel model) {
model.addContextDeclaration(coreContext);
if (ldContext != null) {
model.addContextDeclaration(ldContext);
}
+ return model;
}
public Stream translate(String data) {
@@ -86,12 +82,12 @@ public Stream translate(String data) {
@Override
public Stream apply(Content content) {
if (!validateMimeType(content.mimeType())) {
- throw new UnsupportedMimeTypeException("application/json", content.mimeType());
+ throw new UnsupportedMimeTypeException(ContentType.APPLICATION_JSON.getMimeType(), content.mimeType());
}
return translate(content.content());
}
public boolean validateMimeType(String mimeType) {
- return ContentType.parse(mimeType).getMimeType().equalsIgnoreCase("application/json");
+ return ContentType.parse(mimeType).getMimeType().equalsIgnoreCase(ContentType.APPLICATION_JSON.getMimeType());
}
}
diff --git a/ldi-core/pom.xml b/ldi-core/pom.xml
index 5c580591f..3f27c1810 100644
--- a/ldi-core/pom.xml
+++ b/ldi-core/pom.xml
@@ -32,10 +32,7 @@
- 5.9.2
4.2.0
- 7.13.0
- 1.9.3
diff --git a/ldi-core/rml-adapter/pom.xml b/ldi-core/rml-adapter/pom.xml
index 5e8536f56..528ebddf1 100644
--- a/ldi-core/rml-adapter/pom.xml
+++ b/ldi-core/rml-adapter/pom.xml
@@ -26,12 +26,17 @@
io.carml
carml-converters-jena
${carml.version}
+
+
+ org.apache.jena
+ jena-core
+
+
org.apache.jena
jena-arq
- 4.9.0
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlSelectProcessor.java b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlSelectProcessor.java
index cb3ae62e1..e13b3afb6 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlSelectProcessor.java
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/src/main/java/be/vlaanderen/informatievlaanderen/ldes/ldi/processors/SparqlSelectProcessor.java
@@ -21,12 +21,12 @@
import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.CommonProperties.DATA_SOURCE_FORMAT;
import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.config.SparqlProcessorProperties.SPARQL_SELECT_QUERY;
import static be.vlaanderen.informatievlaanderen.ldes.ldi.processors.services.FlowManager.*;
-import static org.apache.http.entity.ContentType.APPLICATION_JSON;
@SuppressWarnings("java:S2160") // nifi handles equals/hashcode of processors
@Tags({ "ldes, vsds, SPARQL" })
@CapabilityDescription("SPARQL construct manipulation of an RDF flowfile.")
public class SparqlSelectProcessor extends AbstractProcessor {
+ private static final String MIMETYPE = "application/json";
private SparqlSelectService sparqlSelectService;
@@ -56,7 +56,7 @@ public void onTrigger(final ProcessContext context, final ProcessSession session
final Iterable queryResult = sparqlSelectService.executeSelect(inputModel, queryString);
- sendRDFToRelation(session, flowFile, queryResult.toString(), SUCCESS, APPLICATION_JSON.getMimeType());
+ sendRDFToRelation(session, flowFile, queryResult.toString(), SUCCESS, MIMETYPE);
} catch (Exception e) {
getLogger().error("Error executing SPARQL SELECT query: {}", e.getMessage());
session.transfer(flowFile, FAILURE);
diff --git a/ldi-orchestrator/ldio-application/pom.xml b/ldi-orchestrator/ldio-application/pom.xml
index 7a8d4d222..98cc57b62 100644
--- a/ldi-orchestrator/ldio-application/pom.xml
+++ b/ldi-orchestrator/ldio-application/pom.xml
@@ -69,7 +69,6 @@
com.fasterxml.jackson.core
jackson-databind
- ${jackson.version}
com.fasterxml.jackson.dataformat
diff --git a/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
index 74039b6c1..227a277ea 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
@@ -11,6 +11,7 @@
1.2.16
+ 0.13.4
ldio-azure-blob-out
@@ -24,6 +25,11 @@
com.azure
azure-identity
+
+ com.github.jsonld-java
+ jsonld-java
+ ${jsonld-java.version}
+
diff --git a/ldi-orchestrator/pom.xml b/ldi-orchestrator/pom.xml
index 6414c62c1..001d3239d 100644
--- a/ldi-orchestrator/pom.xml
+++ b/ldi-orchestrator/pom.xml
@@ -22,7 +22,6 @@
3.1.3
1.1.6
6.0.11
- 7.13.0
1.9.3
2.3.0
0.13.0
diff --git a/pom.xml b/pom.xml
index 6f8363f63..b40e4f77d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,7 +23,7 @@
Yalz
- Yalz@users.noreply.github.com
+ Yalz@users.noreply.github.com
Cegeka
http://www.sonatype.com
@@ -64,11 +64,12 @@
5.0.1
42.6.0
- 4.10.0
+ 5.1.0
1.4
4.0.1
2.15.3
1.3
+ 5.3.1
1.12.0
@@ -78,13 +79,14 @@
3.24.2
- 5.10.0
- 1.9.3
+ 5.10.2
+ 1.10.2
4.2.0
1.14.12
2.35.1
- 5.5.0
- 5.5.0
+ 5.14.2
+ 5.14.2
+ 7.15.0
1.19.6
1.20.2
2.0.7
@@ -236,6 +238,26 @@
rdf-urdna
${rdf-urdna.version}
+
+ org.apache.httpcomponents.core5
+ httpcore5
+ ${apache-httpclient.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-core
+ ${jackson.version}
+
+
+ com.fasterxml.jackson.core
+ jackson-annotations
+ ${jackson.version}
+
@@ -334,6 +356,12 @@
META-INF/**
**/CustomHTTPRepositoryConnection.java
+ **/GraphExtract.java
+ **/TripleBoundary.java
+ **/ModelExtract.java
+ **/StatementBoundary.java
+ **/StatementBoundaryBase.java
+ **/StatementTripleBoundary.java
From 60cbc319c52797e8baa8a5083569639c8e35346e Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Mon, 9 Dec 2024 15:39:05 +0000
Subject: [PATCH 15/16] chore(deps): bump cucumber.version from 7.15.0 to
7.20.1
Bumps `cucumber.version` from 7.15.0 to 7.20.1.
Updates `io.cucumber:cucumber-junit` from 7.15.0 to 7.20.1
- [Release notes](https://github.com/cucumber/cucumber-jvm/releases)
- [Changelog](https://github.com/cucumber/cucumber-jvm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cucumber/cucumber-jvm/compare/v7.15.0...v7.20.1)
Updates `io.cucumber:cucumber-java` from 7.15.0 to 7.20.1
- [Release notes](https://github.com/cucumber/cucumber-jvm/releases)
- [Changelog](https://github.com/cucumber/cucumber-jvm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cucumber/cucumber-jvm/compare/v7.15.0...v7.20.1)
Updates `io.cucumber:cucumber-junit-platform-engine` from 7.15.0 to 7.20.1
- [Release notes](https://github.com/cucumber/cucumber-jvm/releases)
- [Changelog](https://github.com/cucumber/cucumber-jvm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cucumber/cucumber-jvm/compare/v7.15.0...v7.20.1)
Updates `io.cucumber:cucumber-spring` from 7.15.0 to 7.20.1
- [Release notes](https://github.com/cucumber/cucumber-jvm/releases)
- [Changelog](https://github.com/cucumber/cucumber-jvm/blob/main/CHANGELOG.md)
- [Commits](https://github.com/cucumber/cucumber-jvm/compare/v7.15.0...v7.20.1)
---
updated-dependencies:
- dependency-name: io.cucumber:cucumber-junit
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: io.cucumber:cucumber-java
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: io.cucumber:cucumber-junit-platform-engine
dependency-type: direct:production
update-type: version-update:semver-minor
- dependency-name: io.cucumber:cucumber-spring
dependency-type: direct:development
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot]
---
pom.xml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/pom.xml b/pom.xml
index b40e4f77d..ce2192651 100644
--- a/pom.xml
+++ b/pom.xml
@@ -86,7 +86,7 @@
2.35.1
5.14.2
5.14.2
- 7.15.0
+ 7.20.1
1.19.6
1.20.2
2.0.7
From ff2466eace2755f50343ea64893a29556e525faa Mon Sep 17 00:00:00 2001
From: Jonas Bulcke
Date: Wed, 11 Dec 2024 10:51:27 +0100
Subject: [PATCH 16/16] ci: bump to 2.12.0-SNAPSHOT
---
ldi-api/pom.xml | 2 +-
ldi-core/change-detection-filter/pom.xml | 2 +-
ldi-core/file-archiving/pom.xml | 2 +-
ldi-core/geojson-to-wkt/pom.xml | 2 +-
ldi-core/http-sparql-out/pom.xml | 2 +-
ldi-core/json-to-ld-adapter/pom.xml | 2 +-
ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml | 2 +-
ldi-core/ldes-client/pom.xml | 2 +-
ldi-core/ldes-client/starting-node/pom.xml | 2 +-
ldi-core/ldes-client/tree-node-fetcher/pom.xml | 2 +-
ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml | 2 +-
ldi-core/ldes-client/tree-node-supplier/pom.xml | 2 +-
ldi-core/ldi-common/pom.xml | 2 +-
ldi-core/ldi-infra-sql/pom.xml | 2 +-
ldi-core/ngsiv2-to-ld-adapter/pom.xml | 2 +-
ldi-core/pom.xml | 2 +-
ldi-core/rdf-adapter/pom.xml | 2 +-
ldi-core/repository-sink/pom.xml | 2 +-
ldi-core/request-executor/pom.xml | 2 +-
ldi-core/rml-adapter/pom.xml | 2 +-
ldi-core/skolemisation-transformer/pom.xml | 2 +-
ldi-core/sparql-construct/pom.xml | 2 +-
ldi-core/version-materialiser/pom.xml | 2 +-
ldi-core/version-object-creator/pom.xml | 2 +-
ldi-extensions/ldes-discoverer/pom.xml | 2 +-
ldi-extensions/pom.xml | 2 +-
ldi-nifi/ldi-nifi-common/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml | 2 +-
.../ldi-nifi-processors/create-version-object-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/pom.xml | 2 +-
.../ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml | 2 +-
ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml | 2 +-
.../skolemisation-transformer-processor/pom.xml | 2 +-
.../ldi-nifi-processors/sparql-interactions-processor/pom.xml | 2 +-
.../version-materialisation-processor/pom.xml | 2 +-
ldi-nifi/pom.xml | 2 +-
ldi-orchestrator/ldio-application/pom.xml | 2 +-
ldi-orchestrator/ldio-common/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml | 2 +-
.../ldio-connectors/ldio-change-detection-filter/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml | 2 +-
.../ldio-connectors/ldio-json-to-ld-adapter/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml | 2 +-
.../ldio-connectors/ldio-ldes-client-connector/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml | 2 +-
.../ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml | 2 +-
.../ldio-connectors/ldio-skolemisation-transformer/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml | 2 +-
.../ldio-connectors/ldio-version-materialiser/pom.xml | 2 +-
.../ldio-connectors/ldio-version-object-creator/pom.xml | 2 +-
ldi-orchestrator/ldio-connectors/pom.xml | 2 +-
ldi-orchestrator/ldio-instrumentation/pom.xml | 2 +-
ldi-orchestrator/pom.xml | 2 +-
pom.xml | 2 +-
76 files changed, 76 insertions(+), 76 deletions(-)
diff --git a/ldi-api/pom.xml b/ldi-api/pom.xml
index 289f5939d..1b126efe8 100644
--- a/ldi-api/pom.xml
+++ b/ldi-api/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes
linked-data-interactions
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/change-detection-filter/pom.xml b/ldi-core/change-detection-filter/pom.xml
index 5cfa9dff4..2ab4ac398 100644
--- a/ldi-core/change-detection-filter/pom.xml
+++ b/ldi-core/change-detection-filter/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
change-detection-filter
diff --git a/ldi-core/file-archiving/pom.xml b/ldi-core/file-archiving/pom.xml
index 8b0a94c28..5266ce1bf 100644
--- a/ldi-core/file-archiving/pom.xml
+++ b/ldi-core/file-archiving/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
file-archiving
diff --git a/ldi-core/geojson-to-wkt/pom.xml b/ldi-core/geojson-to-wkt/pom.xml
index ed80b3fd7..12cc6f09f 100644
--- a/ldi-core/geojson-to-wkt/pom.xml
+++ b/ldi-core/geojson-to-wkt/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
geojson-to-wkt
diff --git a/ldi-core/http-sparql-out/pom.xml b/ldi-core/http-sparql-out/pom.xml
index 4f480234b..ad661fc74 100644
--- a/ldi-core/http-sparql-out/pom.xml
+++ b/ldi-core/http-sparql-out/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
http-sparql-out
diff --git a/ldi-core/json-to-ld-adapter/pom.xml b/ldi-core/json-to-ld-adapter/pom.xml
index 4f624484c..681cf764e 100644
--- a/ldi-core/json-to-ld-adapter/pom.xml
+++ b/ldi-core/json-to-ld-adapter/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
json-to-ld-adapter
diff --git a/ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml b/ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml
index 17f65855f..51561a64a 100644
--- a/ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml
+++ b/ldi-core/ldes-client/event-stream-properties-fetcher/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.client
ldes-client
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
event-stream-properties-fetcher
diff --git a/ldi-core/ldes-client/pom.xml b/ldi-core/ldes-client/pom.xml
index 46e44f5cd..e6b832861 100644
--- a/ldi-core/ldes-client/pom.xml
+++ b/ldi-core/ldes-client/pom.xml
@@ -5,7 +5,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/ldes-client/starting-node/pom.xml b/ldi-core/ldes-client/starting-node/pom.xml
index 7ec1c0d06..e81b9e0d9 100644
--- a/ldi-core/ldes-client/starting-node/pom.xml
+++ b/ldi-core/ldes-client/starting-node/pom.xml
@@ -5,7 +5,7 @@
ldes-client
be.vlaanderen.informatievlaanderen.ldes.client
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
starting-node
diff --git a/ldi-core/ldes-client/tree-node-fetcher/pom.xml b/ldi-core/ldes-client/tree-node-fetcher/pom.xml
index 99cb970dd..a27005c5a 100644
--- a/ldi-core/ldes-client/tree-node-fetcher/pom.xml
+++ b/ldi-core/ldes-client/tree-node-fetcher/pom.xml
@@ -5,7 +5,7 @@
ldes-client
be.vlaanderen.informatievlaanderen.ldes.client
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
diff --git a/ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml b/ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml
index f3bba4d3c..4987124b5 100644
--- a/ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml
+++ b/ldi-core/ldes-client/tree-node-relations-fetcher/pom.xml
@@ -5,7 +5,7 @@
ldes-client
be.vlaanderen.informatievlaanderen.ldes.client
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/ldes-client/tree-node-supplier/pom.xml b/ldi-core/ldes-client/tree-node-supplier/pom.xml
index d5e75282d..7e8d2a266 100644
--- a/ldi-core/ldes-client/tree-node-supplier/pom.xml
+++ b/ldi-core/ldes-client/tree-node-supplier/pom.xml
@@ -5,7 +5,7 @@
ldes-client
be.vlaanderen.informatievlaanderen.ldes.client
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
tree-node-supplier
diff --git a/ldi-core/ldi-common/pom.xml b/ldi-core/ldi-common/pom.xml
index 832ec936a..c4a87c948 100644
--- a/ldi-core/ldi-common/pom.xml
+++ b/ldi-core/ldi-common/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldi-common
diff --git a/ldi-core/ldi-infra-sql/pom.xml b/ldi-core/ldi-infra-sql/pom.xml
index c15e54aa2..16ce8162e 100644
--- a/ldi-core/ldi-infra-sql/pom.xml
+++ b/ldi-core/ldi-infra-sql/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldi-infra-sql
diff --git a/ldi-core/ngsiv2-to-ld-adapter/pom.xml b/ldi-core/ngsiv2-to-ld-adapter/pom.xml
index f2d437012..d0f676aa8 100644
--- a/ldi-core/ngsiv2-to-ld-adapter/pom.xml
+++ b/ldi-core/ngsiv2-to-ld-adapter/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ngsiv2-to-ld-adapter
diff --git a/ldi-core/pom.xml b/ldi-core/pom.xml
index 3f27c1810..e4a1bfabf 100644
--- a/ldi-core/pom.xml
+++ b/ldi-core/pom.xml
@@ -3,7 +3,7 @@
linked-data-interactions
be.vlaanderen.informatievlaanderen.ldes
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/rdf-adapter/pom.xml b/ldi-core/rdf-adapter/pom.xml
index 98517f1cb..99ed4b830 100644
--- a/ldi-core/rdf-adapter/pom.xml
+++ b/ldi-core/rdf-adapter/pom.xml
@@ -5,7 +5,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/repository-sink/pom.xml b/ldi-core/repository-sink/pom.xml
index ee1071e70..3f56cc335 100644
--- a/ldi-core/repository-sink/pom.xml
+++ b/ldi-core/repository-sink/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
diff --git a/ldi-core/request-executor/pom.xml b/ldi-core/request-executor/pom.xml
index 0b88b4469..983130333 100644
--- a/ldi-core/request-executor/pom.xml
+++ b/ldi-core/request-executor/pom.xml
@@ -5,7 +5,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
request-executor
diff --git a/ldi-core/rml-adapter/pom.xml b/ldi-core/rml-adapter/pom.xml
index 528ebddf1..e5aad2192 100644
--- a/ldi-core/rml-adapter/pom.xml
+++ b/ldi-core/rml-adapter/pom.xml
@@ -5,7 +5,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/skolemisation-transformer/pom.xml b/ldi-core/skolemisation-transformer/pom.xml
index de3da7d41..175d9287a 100644
--- a/ldi-core/skolemisation-transformer/pom.xml
+++ b/ldi-core/skolemisation-transformer/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
skolemisation-transformer
diff --git a/ldi-core/sparql-construct/pom.xml b/ldi-core/sparql-construct/pom.xml
index d7275b7cb..4194c08d5 100644
--- a/ldi-core/sparql-construct/pom.xml
+++ b/ldi-core/sparql-construct/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-core
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/version-materialiser/pom.xml b/ldi-core/version-materialiser/pom.xml
index 9610000fc..b45959798 100644
--- a/ldi-core/version-materialiser/pom.xml
+++ b/ldi-core/version-materialiser/pom.xml
@@ -3,7 +3,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-core/version-object-creator/pom.xml b/ldi-core/version-object-creator/pom.xml
index ff520ec6b..90b8dda30 100644
--- a/ldi-core/version-object-creator/pom.xml
+++ b/ldi-core/version-object-creator/pom.xml
@@ -3,7 +3,7 @@
ldi-core
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-extensions/ldes-discoverer/pom.xml b/ldi-extensions/ldes-discoverer/pom.xml
index 66a471dff..603d07ac6 100644
--- a/ldi-extensions/ldes-discoverer/pom.xml
+++ b/ldi-extensions/ldes-discoverer/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-extensions
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldes-discoverer
diff --git a/ldi-extensions/pom.xml b/ldi-extensions/pom.xml
index ef08fba12..a9eebfe5e 100644
--- a/ldi-extensions/pom.xml
+++ b/ldi-extensions/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes
linked-data-interactions
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
be.vlaanderen.informatievlaanderen.ldes.ldi
diff --git a/ldi-nifi/ldi-nifi-common/pom.xml b/ldi-nifi/ldi-nifi-common/pom.xml
index 9ff5973b0..54f4e3e5d 100644
--- a/ldi-nifi/ldi-nifi-common/pom.xml
+++ b/ldi-nifi/ldi-nifi-common/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-nifi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml b/ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml
index fc55acf22..efacdb5d0 100644
--- a/ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/archive-file-in/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
archive-file-in
diff --git a/ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml b/ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml
index 5495d755e..c8a93a14e 100644
--- a/ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/archive-file-out/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
archive-file-out
diff --git a/ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml
index b78c62c30..bb4038939 100644
--- a/ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/change-detection-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
change-detection-processor
diff --git a/ldi-nifi/ldi-nifi-processors/create-version-object-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/create-version-object-processor/pom.xml
index be8762010..264ff225b 100644
--- a/ldi-nifi/ldi-nifi-processors/create-version-object-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/create-version-object-processor/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml
index 3a97c05ea..8c0f5e91f 100644
--- a/ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/geojson-to-wkt-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
geojson-to-wkt-processor
diff --git a/ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml
index 185ccfd74..6308ae1f0 100644
--- a/ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/http-sparql-out-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
http-sparql-out-processor
diff --git a/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml
index 6e0359137..f105b76ac 100644
--- a/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/json-to-ld-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
json-to-ld-processor
diff --git a/ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml
index f0634e8c3..e143205e2 100644
--- a/ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/ldes-client-processor/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml b/ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml
index fc5617de5..8fe041a9f 100644
--- a/ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/ldi-processors-bundle/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldi-processors-bundle
diff --git a/ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml
index 269cd416c..3e8168e78 100644
--- a/ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/ngsiv2-to-ld-processor/pom.xml
@@ -7,7 +7,7 @@
ldi-nifi-processors
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ngsiv2-to-ld-processor
diff --git a/ldi-nifi/ldi-nifi-processors/pom.xml b/ldi-nifi/ldi-nifi-processors/pom.xml
index 821ff6805..9e2cc8960 100644
--- a/ldi-nifi/ldi-nifi-processors/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-nifi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml
index 6cbc8a9e4..723eec30a 100644
--- a/ldi-nifi/ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/rdf4j-repository-sink-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
rdf4j-repository-sink-processor
diff --git a/ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml
index 93c170025..a5ff18a38 100644
--- a/ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/rml-adapter-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
rml-adapter-processor
diff --git a/ldi-nifi/ldi-nifi-processors/skolemisation-transformer-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/skolemisation-transformer-processor/pom.xml
index cad30fb9e..b271ef802 100644
--- a/ldi-nifi/ldi-nifi-processors/skolemisation-transformer-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/skolemisation-transformer-processor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
skolemisation-transformer-processor
diff --git a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/pom.xml
index 7b56b63da..d9f62489a 100644
--- a/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/sparql-interactions-processor/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/pom.xml b/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/pom.xml
index fe229f52f..cb9260701 100644
--- a/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/pom.xml
+++ b/ldi-nifi/ldi-nifi-processors/version-materialisation-processor/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi.nifi
ldi-nifi-processors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-nifi/pom.xml b/ldi-nifi/pom.xml
index baac6521c..140f4e9ac 100644
--- a/ldi-nifi/pom.xml
+++ b/ldi-nifi/pom.xml
@@ -3,7 +3,7 @@
linked-data-interactions
be.vlaanderen.informatievlaanderen.ldes
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
pom
diff --git a/ldi-orchestrator/ldio-application/pom.xml b/ldi-orchestrator/ldio-application/pom.xml
index 65b66a165..00a6375a4 100644
--- a/ldi-orchestrator/ldio-application/pom.xml
+++ b/ldi-orchestrator/ldio-application/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-orchestrator
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-common/pom.xml b/ldi-orchestrator/ldio-common/pom.xml
index 3fe5560b2..6fa52b932 100644
--- a/ldi-orchestrator/ldio-common/pom.xml
+++ b/ldi-orchestrator/ldio-common/pom.xml
@@ -5,7 +5,7 @@
ldi-orchestrator
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml
index ffcc7806b..7f63123a0 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-amqp/pom.xml
@@ -6,7 +6,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-amqp
diff --git a/ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml
index ddac11017..59744d00c 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-archive-file-in/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-archive-file-in
diff --git a/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
index 227a277ea..196be2743 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-azure-blob-out/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
diff --git a/ldi-orchestrator/ldio-connectors/ldio-change-detection-filter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-change-detection-filter/pom.xml
index efe533e29..780c25b03 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-change-detection-filter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-change-detection-filter/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-change-detection-filter
diff --git a/ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml
index 489e5ca7a..64f2d1651 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-console-out/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml
index ad424edaf..11d6738f9 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-file-out/pom.xml
@@ -6,7 +6,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-file-out
diff --git a/ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml
index 93555423e..de26313ed 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-geojson-to-wkt/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-geojson-to-wkt
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml
index f3e078a63..d1b7bc080 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-enricher/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml
index b08786695..fb2e3ceb7 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-in-poller/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-http-in-poller
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml
index 192ee7f2d..d3b38921a 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-in/pom.xml
@@ -4,7 +4,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml
index 50bf682c7..9a3cc9ccb 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-out/pom.xml
@@ -3,7 +3,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml
index 436a448af..1bdaf7c59 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-http-sparql-out/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-http-sparql-out
diff --git a/ldi-orchestrator/ldio-connectors/ldio-json-to-ld-adapter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-json-to-ld-adapter/pom.xml
index 540055fac..17c65c46e 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-json-to-ld-adapter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-json-to-ld-adapter/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml
index ffcc4a3a7..18989d526 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-kafka/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-ldes-client-connector/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-ldes-client-connector/pom.xml
index c5b9407ef..460ae7a85 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-ldes-client-connector/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-ldes-client-connector/pom.xml
@@ -5,7 +5,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml
index dba15bd21..c81d08100 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-ldes-client/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml
index d112528f0..b4cd0ad4b 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-ngsiv2-to-ld-adapter/pom.xml
@@ -6,7 +6,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-ngsiv2-to-ld-adapter
diff --git a/ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml
index a329bf166..459eb02a7 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-noop-out/pom.xml
@@ -4,7 +4,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml
index 42b830fd9..508094a25 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-rdf-adapter/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml
index f6a58a493..8444de1da 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-repository-sink/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-repository-sink
diff --git a/ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml
index 365ac68eb..087a2008f 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-request-executor/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-request-executor
diff --git a/ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml
index df8478a41..0f1164590 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-rml-adapter/pom.xml
@@ -5,7 +5,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-skolemisation-transformer/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-skolemisation-transformer/pom.xml
index 17fe52519..b875f136b 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-skolemisation-transformer/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-skolemisation-transformer/pom.xml
@@ -6,7 +6,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldio-skolemisation-transformer
diff --git a/ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml
index 23170dacd..87f009b19 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-sparql-construct/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldio
ldio-connectors
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-version-materialiser/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-version-materialiser/pom.xml
index 5e01f0cf1..d2c9d06dc 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-version-materialiser/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-version-materialiser/pom.xml
@@ -3,7 +3,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/ldio-version-object-creator/pom.xml b/ldi-orchestrator/ldio-connectors/ldio-version-object-creator/pom.xml
index bb3aeea55..5081c67f7 100644
--- a/ldi-orchestrator/ldio-connectors/ldio-version-object-creator/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/ldio-version-object-creator/pom.xml
@@ -3,7 +3,7 @@
ldio-connectors
be.vlaanderen.informatievlaanderen.ldes.ldio
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-connectors/pom.xml b/ldi-orchestrator/ldio-connectors/pom.xml
index 91ebba153..103a95af2 100644
--- a/ldi-orchestrator/ldio-connectors/pom.xml
+++ b/ldi-orchestrator/ldio-connectors/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes.ldi
ldi-orchestrator
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/ldio-instrumentation/pom.xml b/ldi-orchestrator/ldio-instrumentation/pom.xml
index f9918480b..190b53f45 100644
--- a/ldi-orchestrator/ldio-instrumentation/pom.xml
+++ b/ldi-orchestrator/ldio-instrumentation/pom.xml
@@ -5,7 +5,7 @@
ldi-orchestrator
be.vlaanderen.informatievlaanderen.ldes.ldi
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/ldi-orchestrator/pom.xml b/ldi-orchestrator/pom.xml
index 001d3239d..ae7402007 100644
--- a/ldi-orchestrator/pom.xml
+++ b/ldi-orchestrator/pom.xml
@@ -3,7 +3,7 @@
be.vlaanderen.informatievlaanderen.ldes
linked-data-interactions
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
4.0.0
diff --git a/pom.xml b/pom.xml
index ce2192651..dacc29040 100644
--- a/pom.xml
+++ b/pom.xml
@@ -10,7 +10,7 @@
be.vlaanderen.informatievlaanderen.ldes
linked-data-interactions
pom
- 2.11.0-SNAPSHOT
+ 2.12.0-SNAPSHOT
ldi-api