diff --git a/src/Tree/Controllers/TreeController.cs b/src/Tree/Controllers/TreeController.cs
index b486598b0bca2490baf78669b10222a7caf011af..4b18deecc4af9388277236de61423a8187be8d92 100644
--- a/src/Tree/Controllers/TreeController.cs
+++ b/src/Tree/Controllers/TreeController.cs
@@ -338,15 +338,11 @@ namespace Coscine.Api.Tree.Controllers
             }
             else
             {
-                var tempGraph = new Graph();
-                StringParser.Parse(tempGraph, metadataObject.Value<string>("metadata"), MimeTypesHelper.GetParser(mimeType));
-                var triplesList = tempGraph.Triples.ToArray();
-                var subjectNode = tempGraph.CreateUriNode(graphNameUri);
-                foreach (var triple in triplesList)
+                var tempGraph = new Graph
                 {
-                    tempGraph.Retract(triple);
-                    tempGraph.Assert(new Triple(subjectNode, triple.Predicate, triple.Object));
-                }
+                    BaseUri = graphNameUri
+                };
+                StringParser.Parse(tempGraph, metadataObject.Value<string>("metadata"), MimeTypesHelper.GetParser(mimeType));
                 json = JObject.Parse(VDS.RDF.Writing.StringWriter.Write(tempGraph, MimeTypesHelper.GetWriter("application/rdf+json")));
             }