From 2fdc6f938a4c5c6196339247b51a6c9efeb2c7a2 Mon Sep 17 00:00:00 2001 From: Heinrichs <Heinrichs@itc.rwth-aachen.de> Date: Wed, 31 Aug 2022 10:29:18 +0200 Subject: [PATCH] Add resource deleted flag --- .../Implementations/ProjectStructuralData.cs | 12 ++++++++++++ .../Implementations/ResourceStructuralData.cs | 15 +++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/SQL2Linked/Implementations/ProjectStructuralData.cs b/src/SQL2Linked/Implementations/ProjectStructuralData.cs index c9c8fe1..b3f63d4 100644 --- a/src/SQL2Linked/Implementations/ProjectStructuralData.cs +++ b/src/SQL2Linked/Implementations/ProjectStructuralData.cs @@ -1,5 +1,6 @@ using Coscine.Database.DataModel; using Coscine.Database.Models; +using Coscine.Database.Util; using VDS.RDF; namespace SQL2Linked.Implementations @@ -17,6 +18,17 @@ namespace SQL2Linked.Implementations private ProjectRoleModel ProjectRoleModel = new ProjectRoleModel(); private ProjectResourceModel ProjectResourceModel = new ProjectResourceModel(); + // Override to also receive deleted projects + public override IEnumerable<Project> GetAll() + { + return DatabaseConnection.ConnectToDatabase((db) => + { + return + (from tableEntry in Model.GetITableFromDatabase(db) + select tableEntry).ToList(); + }); + } + public override IEnumerable<IGraph> ConvertToLinkedData(IEnumerable<Project> entries) { IEnumerable<Visibility> visibilities = VisibilityModel.GetAll(); diff --git a/src/SQL2Linked/Implementations/ResourceStructuralData.cs b/src/SQL2Linked/Implementations/ResourceStructuralData.cs index 76408b6..c603d16 100644 --- a/src/SQL2Linked/Implementations/ResourceStructuralData.cs +++ b/src/SQL2Linked/Implementations/ResourceStructuralData.cs @@ -1,5 +1,6 @@ using Coscine.Database.DataModel; using Coscine.Database.Models; +using Coscine.Database.Util; using VDS.RDF; using VDS.RDF.Query; @@ -19,6 +20,17 @@ namespace SQL2Linked.Implementations private ProjectResourceModel ProjectResourceModel = new ProjectResourceModel(); private LicenseModel LicenseModel = new LicenseModel(); + // Override to also receive deleted resources + public override IEnumerable<Resource> GetAll() + { + return DatabaseConnection.ConnectToDatabase((db) => + { + return + (from tableEntry in Model.GetITableFromDatabase(db) + select tableEntry).ToList(); + }); + } + public override IEnumerable<IGraph> ConvertToLinkedData(IEnumerable<Resource> entries) { IEnumerable<Visibility> visibilities = VisibilityModel.GetAll(); @@ -113,6 +125,9 @@ namespace SQL2Linked.Implementations AssertToGraphUriNode(graph, resourceGraphName, foaf + "homepage", resourceGraphName); Console.WriteLine($"For resource '{entry.DisplayName}' will migrate triple '{resourceGraphName} {foaf}homepage {resourceGraphName}'. "); + AssertToGraphLiteralNode(graph, resourceGraphName, cosc + "terms/resource#deleted", entry.Deleted.ToString().ToLower(), new Uri("http://www.w3.org/2001/XMLSchema#boolean")); + Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{resourceGraphName} {cosc}terms/resource#deleted {entry.Deleted}'. "); + SparqlParameterizedString cmdString = new SparqlParameterizedString { CommandText = "SELECT DISTINCT ?g " + -- GitLab