示例#1
0
        static void Test0()
        {
            IGraph g = new Graph();

            TurtleParser parser = new TurtleParser();

            parser.Load(g, "datatypes.test.ttl");

            StringWriter stringWriter = new StringWriter();

            JToken frame;

            using (JsonReader reader = new JsonTextReader(new StreamReader("datatypes.context.json")))
            {
                frame = JToken.Load(reader);
            }

            JsonLdWriter jsonLdWriter = new JsonLdWriter();

            jsonLdWriter.Frame = frame;
            jsonLdWriter.Save(g, stringWriter);

            JToken compacted = JToken.Parse(stringWriter.ToString());

            Console.WriteLine(compacted);
        }
        public string GetFormattedOutput(ref Graph graph, string outputFormat)
        {
            var writer = new System.IO.StringWriter();

            if (outputFormat == "jsonLd")
            {
                var jsonLdWriter = new JsonLdWriter();
                var store        = new TripleStore();
                store.Add(graph);
                jsonLdWriter.Save(store, writer);
            }
            else
            {
                dynamic formattedWriter = new CompressingTurtleWriter();
                if (outputFormat == "rdf/xml")
                {
                    formattedWriter = new RdfXmlWriter();
                }
                else if (outputFormat == "n triples")
                {
                    formattedWriter = new NTriplesWriter();
                }
                formattedWriter.Save(graph, writer);
            }
            return(writer.ToString());
        }
        /*
         * public static bool SaveGraph(Tuple<IGraph, string, string> graph, string connectionString)
         * {
         *  StringBuilder sb = new StringBuilder();
         *  using (System.IO.TextWriter writer = new System.IO.StringWriter(sb))
         *  {
         *      RdfJsonWriter jsonWriter = new RdfJsonWriter();
         *      jsonWriter.PrettyPrintMode = true;
         *      jsonWriter.Save(graph.Item1, writer);
         *  }
         *
         *  MemoryStream stream = new MemoryStream();
         *  using (StreamWriter writer = new StreamWriter(stream))
         *  {
         *      writer.Write(sb.ToString());
         *      writer.Flush();
         *
         *      stream.Seek(0, SeekOrigin.Begin);
         *      Publish(stream, graph.Item3, "application/json", connectionString);
         *  }
         *
         *  return true;
         * }
         */

        public static bool SaveGraph(Tuple <IGraph, string, string> graph, string connectionString, string publishContainer)
        {
            JToken frame;

            using (JsonReader jsonReader = new JsonTextReader(new StreamReader(graph.Item2)))
            {
                frame = JToken.Load(jsonReader);
            }

            MemoryStream stream = new MemoryStream();

            using (StreamWriter writer = new StreamWriter(stream))
            {
                IRdfWriter rdfWriter = new JsonLdWriter {
                    Frame = frame
                };
                rdfWriter.Save(graph.Item1, writer);

                writer.Flush();

                stream.Seek(0, SeekOrigin.Begin);
                Publish(stream, graph.Item3, "application/json", connectionString, publishContainer);
            }

            return(true);
        }
示例#4
0
        public static JToken JsonFromGraph2(IGraph graph, string rootType, JToken context)
        {
            System.IO.StringWriter stringWriter = new System.IO.StringWriter();
            IRdfWriter             rdfWriter    = new JsonLdWriter();

            rdfWriter.Save(graph, stringWriter);
            stringWriter.Flush();

            JToken flattened = JToken.Parse(stringWriter.ToString());

            return(flattened);
        }
示例#5
0
        public static void Save(IGraph graph, JToken frame, string connectionString, string container, string name)
        {
            MemoryStream stream = new MemoryStream();

            using (StreamWriter writer = new StreamWriter(stream))
            {
                IRdfWriter rdfWriter = new JsonLdWriter {
                    Frame = frame
                };
                rdfWriter.Save(graph, writer);

                writer.Flush();

                stream.Seek(0, SeekOrigin.Begin);
                Utils.Publish(stream, name, "application/json", connectionString, container);
            }
        }
示例#6
0
        static JToken ApplyFrame(IGraph g, string frameName)
        {
            JToken frame;

            using (JsonReader reader = new JsonTextReader(new StreamReader(frameName)))
            {
                frame = JToken.Load(reader);
            }

            StringWriter stringWriter = new StringWriter();

            JsonLdWriter jsonLdWriter = new JsonLdWriter();

            jsonLdWriter.Frame = frame;
            jsonLdWriter.Save(g, stringWriter);

            return(JToken.Parse(stringWriter.ToString()));
        }
示例#7
0
        public static JObject JsonFromGraph(IGraph graph, string rootType, JToken context)
        {
            System.IO.StringWriter stringWriter = new System.IO.StringWriter();
            IRdfWriter             rdfWriter    = new JsonLdWriter();

            rdfWriter.Save(graph, stringWriter);
            stringWriter.Flush();

            JObject frame = new JObject();

            frame.Add("@context", context);
            frame.Add("@type", rootType);
            //frame.Add("@embed", false);

            JToken  flattened = JToken.Parse(stringWriter.ToString());
            JObject framed    = JsonLdProcessor.Frame(flattened, frame, new JsonLdOptions());
            JObject compacted = JsonLdProcessor.Compact(framed, context, new JsonLdOptions());

            return(compacted);
        }
        public static string CreateJson(IGraph graph, JToken frame = null)
        {
            System.IO.StringWriter writer    = new System.IO.StringWriter();
            IRdfWriter             rdfWriter = new JsonLdWriter();

            rdfWriter.Save(graph, writer);
            writer.Flush();

            if (frame == null)
            {
                return(writer.ToString());
            }
            else
            {
                JToken  flattened = JToken.Parse(writer.ToString());
                JObject framed    = JsonLdProcessor.Frame(flattened, frame, new JsonLdOptions());
                JObject compacted = JsonLdProcessor.Compact(framed, frame["@context"], new JsonLdOptions());

                return(compacted.ToString());
            }
        }
        public static JToken FromRdf(IEnumerable <string> statements)
        {
            var stringBuilder = new StringBuilder();

            foreach (var item in statements)
            {
                stringBuilder.AppendLine(item);
            }
            var reader = new StringReader(stringBuilder.ToString());

            var store  = new TripleStore();
            var parser = new NQuadsParser(NQuadsSyntax.Rdf11);

            parser.Load(store, reader);

            var ldWriter     = new JsonLdWriter();
            var stringWriter = new System.IO.StringWriter();

            ldWriter.Save(store, stringWriter);

            return(JToken.Parse(stringWriter.ToString()));
        }
示例#10
0
        static void Test0()
        {
            Console.WriteLine("JsonLDIntegrationTests.Test0");

            IGraph g = new Graph();

            TurtleParser parser = new TurtleParser();
            parser.Load(g, "datatypes.test.ttl");

            System.IO.StringWriter stringWriter = new System.IO.StringWriter();

            JToken frame;
            using (JsonReader reader = new JsonTextReader(new StreamReader("datatypes.context.json")))
            {
                frame = JToken.Load(reader);
            }

            JsonLdWriter jsonLdWriter = new JsonLdWriter();
            jsonLdWriter.Save(g, stringWriter);

            JToken flattened = JToken.Parse(stringWriter.ToString());

            JObject framed = JsonLdProcessor.Frame(flattened, frame, new JsonLdOptions());
            JObject compacted = JsonLdProcessor.Compact(framed, framed["@context"], new JsonLdOptions());

            Console.WriteLine(compacted);

            JToken flattened2 = JsonLdProcessor.Flatten(compacted, new JsonLdOptions());

            IGraph g2 = new Graph();
            JsonLdReader jsonLdReader = new JsonLdReader();
            jsonLdReader.Load(g2, new StringReader(flattened2.ToString()));

            CompressingTurtleWriter turtleWriter = new CompressingTurtleWriter();

            turtleWriter.DefaultNamespaces.AddNamespace("ns", new Uri("http://tempuri.org/schema#"));

            turtleWriter.Save(g2, Console.Out);
        }
示例#11
0
        public static string CreateJson(IGraph graph, JToken frame = null)
        {
            System.IO.StringWriter writer = new System.IO.StringWriter();
            IRdfWriter rdfWriter = new JsonLdWriter();
            rdfWriter.Save(graph, writer);
            writer.Flush();

            if (frame == null)
            {
                return writer.ToString();
            }
            else
            {
                JToken flattened = JToken.Parse(writer.ToString());
                JObject framed = JsonLdProcessor.Frame(flattened, frame, new JsonLdOptions());
                JObject compacted = JsonLdProcessor.Compact(framed, framed["@context"], new JsonLdOptions());

                return compacted.ToString();
            }
        }