From bf7d95fd989b1a6bc3cde227ed27627ad7db1e11 Mon Sep 17 00:00:00 2001
From: Heinrichs <Heinrichs@itc.rwth-aachen.de>
Date: Mon, 13 Mar 2023 13:27:15 +0100
Subject: [PATCH] Fix: Add Coscine Graph

---
 .../Implementations/ProjectStructuralData.cs  |  8 +++++
 .../Implementations/ResourceStructuralData.cs | 31 -------------------
 src/SQL2Linked/StructuralData.cs              |  1 -
 3 files changed, 8 insertions(+), 32 deletions(-)

diff --git a/src/SQL2Linked/Implementations/ProjectStructuralData.cs b/src/SQL2Linked/Implementations/ProjectStructuralData.cs
index 1c22ab2..876f9db 100644
--- a/src/SQL2Linked/Implementations/ProjectStructuralData.cs
+++ b/src/SQL2Linked/Implementations/ProjectStructuralData.cs
@@ -43,6 +43,14 @@ namespace SQL2Linked.Implementations
             var projectUrlPrefix = "https://purl.org/coscine/projects";
             var resourceUrlPrefix = "https://purl.org/coscine/resources";
 
+            var coscineGraph = new Graph
+            {
+                BaseUri = cosc
+            };
+            AssertToGraphUriNode(coscineGraph, cosc.AbsoluteUri, dcat + "catalog", projectUrlPrefix + "/");
+            AssertToGraphUriNode(coscineGraph, cosc.AbsoluteUri, dcat + "catalog", resourceUrlPrefix + "/");
+            graphs.Add(coscineGraph);
+
             foreach (var entry in entries)
             {
                 var projectGraphName = $"{projectUrlPrefix}/{entry.Id}";
diff --git a/src/SQL2Linked/Implementations/ResourceStructuralData.cs b/src/SQL2Linked/Implementations/ResourceStructuralData.cs
index 6d3abb1..53b8ab2 100644
--- a/src/SQL2Linked/Implementations/ResourceStructuralData.cs
+++ b/src/SQL2Linked/Implementations/ResourceStructuralData.cs
@@ -185,36 +185,5 @@ namespace SQL2Linked.Implementations
 
             return graphs;
         }
-
-        /// <summary>
-        /// Since Application Profile URL does not have to be the targetClass, resolve it first
-        /// </summary>
-        /// <param name="entry"></param>
-        /// <returns></returns>
-        private string GetTargetClass(Resource entry)
-        {
-            if (_targetClassMap.ContainsKey(entry.ApplicationProfile))
-            {
-                return _targetClassMap[entry.ApplicationProfile];
-            }
-
-            var targetClassCmdString = new SparqlParameterizedString
-            {
-                CommandText = "SELECT DISTINCT ?targetClass " +
-                                "WHERE { @applicationProfile <http://www.w3.org/ns/shacl#targetClass> ?targetClass }"
-            };
-            targetClassCmdString.SetUri("applicationProfile", new Uri(entry.ApplicationProfile));
-            var targetClassResultSet = WrapRequest(() => RdfStoreConnector.QueryEndpoint.QueryWithResultSet(targetClassCmdString.ToString()));
-
-            var targetClass = entry.ApplicationProfile;
-            foreach (var result in targetClassResultSet)
-            {
-                targetClass = result[0].ToString();
-            }
-
-            _targetClassMap.Add(entry.ApplicationProfile, targetClass);
-
-            return targetClass;
-        }
     }
 }
diff --git a/src/SQL2Linked/StructuralData.cs b/src/SQL2Linked/StructuralData.cs
index 2788821..ea4d2d8 100644
--- a/src/SQL2Linked/StructuralData.cs
+++ b/src/SQL2Linked/StructuralData.cs
@@ -3,7 +3,6 @@ using Coscine.Database.Models;
 using Coscine.Metadata;
 using Polly;
 using VDS.RDF;
-using VDS.RDF.Query.Algebra;
 
 namespace SQL2Linked
 {
-- 
GitLab