diff --git a/src/SQL2Linked/Implementations/ProjectStructuralData.cs b/src/SQL2Linked/Implementations/ProjectStructuralData.cs
index 6b5a7a6f28ff1d6259a348532bed237f2fbadadd..ab51ee25006b0dd802681f625d6e82c1c7edf45c 100644
--- a/src/SQL2Linked/Implementations/ProjectStructuralData.cs
+++ b/src/SQL2Linked/Implementations/ProjectStructuralData.cs
@@ -14,9 +14,11 @@ namespace SQL2Linked.Implementations
         public readonly Uri vcard = new("http://www.w3.org/2006/vcard/ns#");
         public readonly Uri rdf = new("http://www.w3.org/1999/02/22-rdf-syntax-ns#");
         public readonly Uri cosc = new("https://purl.org/coscine/");
-        private VisibilityModel VisibilityModel = new VisibilityModel();
-        private ProjectRoleModel ProjectRoleModel = new ProjectRoleModel();
-        private ProjectResourceModel ProjectResourceModel = new ProjectResourceModel();
+
+        private readonly VisibilityModel VisibilityModel = new();
+        private readonly ProjectRoleModel ProjectRoleModel = new();
+        private readonly ProjectResourceModel ProjectResourceModel = new();
+        private readonly ProjectInstituteModel ProjectInstituteModel = new();
 
         // Override to also receive deleted projects
         public override IEnumerable<Project> GetAll()
@@ -34,6 +36,7 @@ namespace SQL2Linked.Implementations
             IEnumerable<Visibility> visibilities = VisibilityModel.GetAll();
             IEnumerable<ProjectRole> projectRoles = ProjectRoleModel.GetAll();
             IEnumerable<ProjectResource> projectResources = ProjectResourceModel.GetAll();
+            IEnumerable<ProjectInstitute> projectInstitutes = ProjectInstituteModel.GetAll();
 
             var graphs = new List<IGraph>();
             var projectUrlHandlePrefix = "https://hdl.handle.net/" + Prefix;
@@ -45,8 +48,10 @@ namespace SQL2Linked.Implementations
                 var projectGraphName = $"{projectUrlPrefix}/{entry.Id}";
                 var projectHandleName = $"{projectUrlHandlePrefix}/{entry.Id}";
 
-                var graph = new Graph();
-                graph.BaseUri = new Uri(projectGraphName);
+                var graph = new Graph
+                {
+                    BaseUri = new Uri(projectGraphName)
+                };
 
                 AssertToGraphUriNode(graph, projectGraphName, rdf + "type", dcat + "Catalog");
                 Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{projectGraphName} {rdf}type {dcat}Catalog'. ");
@@ -113,36 +118,37 @@ namespace SQL2Linked.Implementations
                 AssertToGraphUriNode(graph, projectGraphName, foaf + "homepage", projectHandleName);
                 Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{projectGraphName} {foaf}homepage {projectHandleName}'. ");
 
-                foreach (var projectRole in projectRoles)
+                foreach (var projectRole in projectRoles.Where(p => p.ProjectId.Equals(entry.Id)))
                 {
-                    if (entry.Id == projectRole.ProjectId)
-                    {
-                        AssertToGraphUriNode(graph, projectGraphName, vcard + "hasMember", cosc + "users/" + projectRole.UserId);
-                        Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{projectGraphName} {vcard}hasMember {cosc}users/{projectRole.UserId}'. ");
+                    AssertToGraphUriNode(graph, projectGraphName, vcard + "hasMember", cosc + "users/" + projectRole.UserId);
+                    Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{projectGraphName} {vcard}hasMember {cosc}users/{projectRole.UserId}'. ");
 
-                        var blankNode = graph.CreateBlankNode();
+                    var blankNode = graph.CreateBlankNode();
 
-                        AssertToGraphBlankAndUriNode(graph, blankNode, rdf + "type", org + "Membership");
-                        Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {rdf}type {org}Membership'. ");
+                    AssertToGraphBlankAndUriNode(graph, blankNode, rdf + "type", org + "Membership");
+                    Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {rdf}type {org}Membership'. ");
 
-                        AssertToGraphBlankAndUriNode(graph, blankNode, org + "organization", projectGraphName);
-                        Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {org}organization {projectGraphName}'. ");
+                    AssertToGraphBlankAndUriNode(graph, blankNode, org + "organization", projectGraphName);
+                    Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {org}organization {projectGraphName}'. ");
 
-                        AssertToGraphBlankAndUriNode(graph, blankNode, org + "role", cosc + "roles/" + projectRole.RoleId);
-                        Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {org}role {cosc}roles/{projectRole.RoleId}'. ");
+                    AssertToGraphBlankAndUriNode(graph, blankNode, org + "role", cosc + "roles/" + projectRole.RoleId);
+                    Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {org}role {cosc}roles/{projectRole.RoleId}'. ");
 
-                        AssertToGraphBlankAndUriNode(graph, blankNode, org + "member", cosc + "users/" + projectRole.UserId);
-                        Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {org}member {cosc}users/{projectRole.UserId}'. ");
-                    }
+                    AssertToGraphBlankAndUriNode(graph, blankNode, org + "member", cosc + "users/" + projectRole.UserId);
+                    Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {org}member {cosc}users/{projectRole.UserId}'. ");
                 }
 
-                foreach (var projectResource in projectResources)
+                foreach (var projectResource in projectResources.Where(p => p.ProjectId.Equals(entry.Id)))
                 {
-                    if (entry.Id == projectResource.ProjectId)
-                    {
-                        AssertToGraphUriNode(graph, projectGraphName, dcat + "catalog", $"{resourceUrlPrefix}/{projectResource.ResourceId}");
-                        Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{projectGraphName} {dcat}catalog {resourceUrlPrefix}/{projectResource.ResourceId}'. ");
-                    }
+                    AssertToGraphUriNode(graph, projectGraphName, dcat + "catalog", $"{resourceUrlPrefix}/{projectResource.ResourceId}");
+                    Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{projectGraphName} {dcat}catalog {resourceUrlPrefix}/{projectResource.ResourceId}'. ");
+                }
+
+                foreach (var projectInstitute in projectInstitutes.Where(p => p.ProjectId.Equals(entry.Id)))
+                {
+                    var blankNode = graph.CreateBlankNode();
+                    AssertToGraphBlankAndUriNode(graph, blankNode, org + "organization", projectGraphName);
+                    Console.WriteLine($"For project '{entry.DisplayName}' will migrate triple '{blankNode} {org}organization {projectGraphName}'. ");
                 }
 
                 if (entry.Creator is not null)
diff --git a/src/SQL2Linked/Implementations/ResourceTypeStructuralData.cs b/src/SQL2Linked/Implementations/ResourceTypeStructuralData.cs
index 06040e19323407d51ca45acd4232cd61f391c438..be7ca6e0c15ebb8b8cc9a8ebd0ad9017519fbf42 100644
--- a/src/SQL2Linked/Implementations/ResourceTypeStructuralData.cs
+++ b/src/SQL2Linked/Implementations/ResourceTypeStructuralData.cs
@@ -12,7 +12,7 @@ namespace SQL2Linked.Implementations
         public readonly Uri dcterms = new("http://purl.org/dc/terms/");
         public override IEnumerable<IGraph> ConvertToLinkedData(IEnumerable<ResourceType> entries)
         {
-       
+
             var graphs = new List<IGraph>();
 
             foreach (var entry in entries)
@@ -53,5 +53,5 @@ namespace SQL2Linked.Implementations
             return graphs;
         }
     }
-    
+
 }
\ No newline at end of file
diff --git a/src/SQL2Linked/StructuralData.cs b/src/SQL2Linked/StructuralData.cs
index 11df7b519a128600be69f5c9b4153acc06ad8970..0e077a6574eef59165fa60b3c7645ccbbcce69e6 100644
--- a/src/SQL2Linked/StructuralData.cs
+++ b/src/SQL2Linked/StructuralData.cs
@@ -1,7 +1,7 @@
-using Polly;
-using Coscine.Configuration;
+using Coscine.Configuration;
 using Coscine.Database.Models;
 using Coscine.Metadata;
+using Polly;
 using VDS.RDF;
 
 namespace SQL2Linked
@@ -64,7 +64,7 @@ namespace SQL2Linked
                     WrapRequest(() => RdfStoreConnector.AddGraph(graph));
                     Console.WriteLine($" - Graph {graph.BaseUri} added successfully");
                     Console.WriteLine();
-                } 
+                }
                 catch (Exception e)
                 {
                     Console.Error.WriteLine($"Error on ({graph.BaseUri}):");