Esempio n. 1
0
        public void WritingNTriplesVsTurtleNonAsciiCharsSpeed()
        {
            StringBuilder builder = new StringBuilder();

            for (int i = 128; i <= 255; i++)
            {
                builder.Append((char)i);
            }
            INode n = new NodeFactory().CreateLiteralNode(builder.ToString());

            const int repeatCount = 10000;
            // Write 10,000 times with NTriplesFormatter
            Stopwatch      timer     = new Stopwatch();
            INodeFormatter formatter = new NTriplesFormatter();

            System.IO.StringWriter strWriter = new System.IO.StringWriter();
            timer.Start();
            for (var i = 0; i < repeatCount; i++)
            {
                strWriter.WriteLine(formatter.Format(n));
            }
            timer.Stop();

            Console.WriteLine("NTriples Formatter Time Elapsed: " + timer.Elapsed);
            TimeSpan ntriplesTime = timer.Elapsed;

            timer.Reset();

            // Write 10,000 times with NTriplesFormatter in RDF 1.1 mode
            formatter = new NTriplesFormatter(NTriplesSyntax.Rdf11);
            strWriter = new System.IO.StringWriter();
            timer.Start();
            for (var i = 0; i < repeatCount; i++)
            {
                strWriter.WriteLine(formatter.Format(n));
            }
            timer.Stop();

            Console.WriteLine("NTriples Formatter (RDF 1.1) Time Elapsed: " + timer.Elapsed);
            //TimeSpan ntriples11Time = timer.Elapsed;
            timer.Reset();

            // Write and check round trip with Turtle and compare speed
            strWriter = new System.IO.StringWriter();
            formatter = new UncompressedTurtleFormatter();
            timer.Start();
            for (var i = 0; i < repeatCount; i++)
            {
                strWriter.WriteLine(formatter.Format(n));
            }
            timer.Stop();

            Console.WriteLine("Turtle Write Time Elapsed: " + timer.Elapsed);
            TimeSpan turtleTime = timer.Elapsed;

            // Compare Speed
            Assert.IsTrue(turtleTime.CompareTo(ntriplesTime) == -1);
        }
Esempio n. 2
0
        private string ReportGraphDiff(GraphDiffReport gd)
        {
            var sb             = new StringBuilder();
            var formatter      = new UncompressedTurtleFormatter();
            var missingTriples = gd.RemovedTriples.ToList();

            if (missingTriples.Any())
            {
                sb.Append($"{missingTriples.Count} triples expected and not found:\n");
                foreach (var t in missingTriples)
                {
                    sb.Append("\t");
                    sb.AppendLine(t.ToString(formatter));
                }
            }

            var unexpectedTriples = gd.AddedTriples.ToList();

            if (unexpectedTriples.Any())
            {
                sb.Append($"{unexpectedTriples.Count} triples found but not expected:\n");
                foreach (var t in unexpectedTriples)
                {
                    sb.Append("\t");
                    sb.AppendLine(t.ToString(formatter));
                }
            }

            if (gd.RemovedMSGs.Any())
            {
                var unexpectedGraphs = gd.RemovedMSGs.ToList();
                sb.Append($"{unexpectedGraphs.Count} subgraphs expected and not found:\n");
                foreach (var t in unexpectedGraphs.SelectMany(g => g.Triples))
                {
                    sb.Append("\t");
                    sb.AppendLine(t.ToString(formatter));
                }
            }

            if (gd.AddedMSGs.Any())
            {
                var missingGraphs = gd.AddedMSGs.ToList();
                sb.Append($"{missingGraphs.Count} subgraphs unexpected:\n");
                foreach (var t in missingGraphs.SelectMany(g => g.Triples))
                {
                    sb.Append("\t");
                    sb.AppendLine(t.ToString(formatter));
                }
            }

            return(sb.ToString());
        }