From f93b1314ebfe0d0ee5fc6adf1ce6dc123fb6c9c4 Mon Sep 17 00:00:00 2001
From: Heinrichs <Heinrichs@itc.rwth-aachen.de>
Date: Wed, 1 Mar 2023 15:35:21 +0100
Subject: [PATCH] Check invalidation by parent

---
 src/Metadata/MetadataRdfStoreConnector.cs | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/Metadata/MetadataRdfStoreConnector.cs b/src/Metadata/MetadataRdfStoreConnector.cs
index 8e608dc..4451276 100644
--- a/src/Metadata/MetadataRdfStoreConnector.cs
+++ b/src/Metadata/MetadataRdfStoreConnector.cs
@@ -56,7 +56,9 @@ namespace Coscine.Metadata
                 ?g <{Uris.DcatCatalog}> ?m .
                 " + (extracted ? $"?m <{Uris.DcatDistribution}> ?v ." : $"?m <{Uris.DcatDataset}> ?v .") + $@"
                 " + ((path != null) ? "FILTER(contains(str(?m), @path)) ." : "") + $@"
-                " + ((!includeDeleted) ? $"OPTIONAL {{ ?v <{Uris.ProvWasInvalidatedBy}> ?invalidatedBy }} . FILTER (!bound(?invalidatedBy)) ." : "") + $@"
+                " + ((!includeDeleted) ? $"OPTIONAL {{ ?v <{Uris.ProvWasInvalidatedBy}> ?invalidatedBy }} ." +
+                    $"OPTIONAL {{ ?pv <{Uris.ProvWasRevisionOf}>* ?v . ?pv <{Uris.ProvWasInvalidatedBy}> ?invalidatedByParent }} ." +
+                    $" FILTER (!bound(?invalidatedBy) && !bound(?invalidatedByParent)) ." : "") + $@"
             }}";
 
             var cmdString = new SparqlParameterizedString
-- 
GitLab