Skip to content

Commit 2b52222

Browse files
authored
Merge pull request #217 from lblod/feat/improve-tombstone-handling
feat(ldes-client): adjust tombstone handling
2 parents a897118 + 236ece6 commit 2b52222

File tree

4 files changed

+57
-4
lines changed

4 files changed

+57
-4
lines changed

.changeset/late-donkeys-travel.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"app-gelinkt-notuleren": minor
3+
---
4+
5+
Add migration which drops all data related to tombstones from our database

.changeset/tasty-cycles-accept.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"app-gelinkt-notuleren": minor
3+
---
4+
5+
Adjust ldes-client `processPage` logic to remove incoming tombstones entirely

config/ldes-client/processPage.ts

+26-4
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,18 @@ async function replaceExistingData() {
4040
?versionedMember ${sparqlEscapeUri(VERSION_PREDICATE)} ?s .
4141
4242
{
43-
?versionedMember (a | as:formerType) ?type.
43+
?versionedMember a ?type.
4444
VALUES ?type { mandaat:Mandataris mandaat:Fractie org:Membership }
4545
?versionedMember ?pNew ?oNew.
4646
BIND(<http://mu.semte.ch/graphs/lmb-data-public> as ?target_graph)
4747
}
4848
UNION
4949
{
50-
?versionedMember (a | as:formerType) ?type.
50+
?versionedMember a ?type.
5151
VALUES ?type { person:Person }
5252
?versionedMember ?pNew ?oNew.
5353
VALUES ?pNew {
5454
rdf:type
55-
as:formerType
5655
dct:modified
5756
mu:uuid
5857
foaf:familyName
@@ -62,7 +61,7 @@ async function replaceExistingData() {
6261
}
6362
UNION
6463
{
65-
?versionedMember (a | as:formerType) ?type.
64+
?versionedMember a ?type.
6665
VALUES ?type { person:Person persoon:Geboorte }
6766
?versionedMember ?pNew ?oNew.
6867
FILTER (?pNew NOT IN ( adms:identifier ))
@@ -77,6 +76,29 @@ async function replaceExistingData() {
7776
}
7877
}
7978
};
79+
DELETE {
80+
GRAPH ?g {
81+
?member ?pOut ?oOut.
82+
?sIn ?pIn ?member.
83+
}
84+
}
85+
WHERE {
86+
GRAPH ${sparqlEscapeUri(BATCH_GRAPH)} {
87+
?stream <https://w3id.org/tree#member> ?versionedMember .
88+
?versionedMember ${sparqlEscapeUri(VERSION_PREDICATE)} ?member .
89+
?versionedMember a as:Tombstone.
90+
}
91+
GRAPH ?g {
92+
{
93+
?member ?pOut ?oOut.
94+
}
95+
UNION
96+
{
97+
?sIn ?pIn ?member.
98+
}
99+
}
100+
FILTER(?g != ${sparqlEscapeUri(BATCH_GRAPH)})
101+
};
80102
DELETE {
81103
GRAPH <http://mu.semte.ch/graphs/lmb-data-public> {
82104
?administrativeUnit ext:lastLMBUpdate ?oldTimestamp.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
PREFIX as: <http://www.w3.org/ns/activitystreams#>
2+
3+
DELETE {
4+
GRAPH ?g {
5+
?tombstone a as:Tombstone.
6+
?tombstone ?p_out ?o_out.
7+
?s_in ?p_in ?tombstone.
8+
}
9+
}
10+
WHERE {
11+
GRAPH ?g {
12+
?tombstone a as:Tombstone.
13+
{
14+
?tombstone ?p_out ?o_out.
15+
}
16+
UNION
17+
{
18+
?s_in ?p_in ?tombstone.
19+
}
20+
}
21+
}

0 commit comments

Comments
 (0)