diff --git a/src/SQL2Linked/Implementations/ProjectStructuralData.cs b/src/SQL2Linked/Implementations/ProjectStructuralData.cs index c9c8fe1f69894c0550c2bb478610877a0bc97e62..b3f63d4208c69e98cc01e93884cb4a49c2fb56e5 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 76408b6c6f8357941f0da742ee3dad589ee65629..c603d164133929ffc3925ccc0b0f5ce5795ab983 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 " +