Skip to content
Snippets Groups Projects

Release: Sprint/2023 07 :robot:

Merged CoscineBot requested to merge dev into master
1 file
+ 30
1
Compare changes
  • Side-by-side
  • Inline
@@ -138,7 +138,7 @@ namespace Coscine.Metadata
?g <{Uris.FdpHasMetadata}> ?m .
?m <{Uris.FdpHasMetadata}> ?v .
" + ((path != null) ? "FILTER(contains(str(?m), @path)) ." : "") + $@"
" + (extracted ? "FILTER(contains(str(?v), '&extracted=true')) ." : "") + $@"
" + (extracted ? "FILTER(contains(str(?v), '&extracted=true')) ." : "FILTER(!contains(str(?v), '&extracted=true')) .") + $@"
}}";
var cmdString = new SparqlParameterizedString
@@ -354,5 +354,34 @@ namespace Coscine.Metadata
}
await AddGraphAsync(provenanceGraph);
}
/// <summary>
/// Invalidates a metadata set in the given provenance graph
/// </summary>
/// <param name="resourceId"></param>
/// <param name="path"></param>
/// <param name="type"></param>
/// <param name="responsibleAgent"></param>
public void SetInvalidation(string resourceId, string path, string type = "metadata", Uri? responsibleAgent = null)
{
if (!path.StartsWith("/"))
{
path = "/" + path;
}
if (responsibleAgent is null)
{
responsibleAgent = Uris.CoscineUserAgent;
}
var urlId = new CoscineLDPHelper(this).GetId(resourceId, path, true, false, type);
var provenanceGraph = GetEmptySmallUpdateGraph(
$"https://purl.org/coscine/resources/{resourceId}{path}/@type={type}"
);
MetadataUtil.AssertToGraph(provenanceGraph, urlId, Uris.ProvWasInvalidatedBy, responsibleAgent);
AddGraph(provenanceGraph);
}
}
}
Loading