/// <summary> /// Generates the Output for a Graph as a String in CSV syntax. /// </summary> /// <param name="globalContext">Context for writing the Store.</param> /// <param name="context">Context for writing the Graph.</param> /// <returns></returns> private String GenerateGraphOutput(ThreadedStoreWriterContext globalContext, BaseWriterContext context) { if (context.Graph.BaseUri != null) { // Named Graphs have a fourth context field added foreach (Triple t in context.Graph.Triples) { GenerateNodeOutput(context, t.Subject, TripleSegment.Subject); context.Output.Write(','); GenerateNodeOutput(context, t.Predicate, TripleSegment.Predicate); context.Output.Write(','); GenerateNodeOutput(context, t.Object, TripleSegment.Object); context.Output.Write(','); context.Output.Write(_formatter.FormatUri(context.Graph.BaseUri)); context.Output.Write("\r\n"); } } else { // Default Graph has an empty field added foreach (Triple t in context.Graph.Triples) { GenerateNodeOutput(context, t.Subject, TripleSegment.Subject); context.Output.Write(','); GenerateNodeOutput(context, t.Predicate, TripleSegment.Predicate); context.Output.Write(','); GenerateNodeOutput(context, t.Object, TripleSegment.Object); context.Output.Write(','); context.Output.Write("\r\n"); } } return(context.Output.ToString()); }