internal static async Task<Stream> AsStream<TEntity>(this TEntity entity) where TEntity : IResource { var result = new MemoryStream(); var serializer = new JsonLdWriter(); using (var writer = new StreamWriter(result, Encoding.UTF8, 4096, true)) { var graphs = from statement in await entity.Context.EntitySource.Load(entity.Iri) group statement by statement.Graph into graphStatements select new Graph(graphStatements.Key, graphStatements); await serializer.Write(writer, graphs); } result.Seek(0, SeekOrigin.Begin); return result; }