Beispiel #1
0
        public void ReadBlanks()
        {
            var f   = new NodeFactory();
            var rdf = new RdfData(f);

            var g = rdf.GetBlankGraph();

            var target = new NTripleParse(g);

            target.Load("<s:1> <p:1> _:blank . ");

            var label = g.Query.Single().ValueBlank();

            Assert.AreEqual("blank", label);
        }
Beispiel #2
0
        public void ReadMultiLine()
        {
            var data     = "Multi \\n Line text \\\" with spaces\\u0021.";
            var expected = "Multi \n Line text \" with spaces!.";

            var f   = new NodeFactory();
            var rdf = new RdfData(f);

            var target = new NTripleParse(rdf.GetBlankGraph());
            var quad   = "<a:s> <a:p> \"" + data + "\" .";

            target.Load(quad);

            var result = rdf.Query.Single().Value <string>();

            Assert.AreEqual(expected, result);
        }
Beispiel #3
0
        public void Parse()
        {
            var data = "<x:/s1> <x:/p1> \"Blurb\" .";

            var rdf = new RdfData(new NodeFactory());
            var g   = rdf.GetFullGraph("x:g1");

            var token = NTripleTokenizer.NextToken(data);

            var parse = new NTripleParse(rdf.GetFullGraph("x:g1"));

            while (!token.IsEnd)
            {
                parse.Next(token);
                token = NTripleTokenizer.NextToken(token.Rest);
            }

            Assert.AreEqual(1, g.Query.Count, "Loaded a triple");
        }
Beispiel #4
0
        public void Parse_LiteralWithDifferentEncoding()
        {
            var rdf = new RdfData(new NodeFactory());

            var g = rdf.GetBlankGraph("test");

            var aHex = "\\u" + ((int)'a').ToString("X4");

            var data = "<a:s1> <a:p> \"a literal\"." +
                       $"\r\n <a:s2> <a:p> \"a liter{aHex}l\".";

            var target = new NTripleParse(g);

            target.Load(data);
            var q1 = rdf.Query.ElementAt(0);
            var q2 = rdf.Query.ElementAt(1);

            Assert.AreEqual(q1.Object, q2.Object, "Same literal node");
        }