internal TLiteralNode(string rest_line, TGraph g) { this.g = g; // Последняя двойная кавычка int lastqu = rest_line.LastIndexOf('\"'); // Значение данных var sdata = rest_line.Substring(1, lastqu - 1); // Языковый специализатор: int dog = rest_line.LastIndexOf('@'); string lang = ""; if (dog == lastqu + 1) { lang = rest_line.Substring(dog + 1, rest_line.Length - dog - 1); } string datatype = ""; int pp = rest_line.IndexOf("^^"); if (pp == lastqu + 1) { // Тип данных string qname = rest_line.Substring(pp + 2); // тип данных может быть "префиксным" или полным if (qname[0] == '<') { datatype = qname.Substring(1, qname.Length - 2); } else { datatype = TTurtleParser.GetEntityString(g, qname); } } Literal lit = datatype == "http://www.w3.org/2001/XMLSchema#integer" ? new Literal() { Vid = LiteralVidEnumeration.integer, Value = int.Parse(sdata) } : (datatype == "http://www.w3.org/2001/XMLSchema#date" ? new Literal() { Vid = LiteralVidEnumeration.date, Value = DateTime.Parse(sdata).ToBinary() } : (new Literal() { Vid = LiteralVidEnumeration.text, Value = new Text() { Value = sdata, Lang = "en" } })); long off = g.AddLiteral(lit); this.ocode = off; }
public static void Main(string[] args) { Console.WriteLine("Start"); string path = @"..\..\..\Databases\"; TGraph gra = new TGraph(path); bool toload = false; if (toload) { TTurtleParser parser = new TTurtleParser(); parser.Load(gra, @"D:\home\FactographDatabases\dataset\dataset1M.ttl"); } else { Tracer(gra); } }
public static void Main(string[] args) { Console.WriteLine("Start"); string path = @"..\..\..\Databases\"; string datasetpath = @"D:\home\FactographDatabases\dataset\"; DateTime tt0 = DateTime.Now; TGraph gra = new TGraph(path); Console.WriteLine("Построение графа: {0} мс.", (DateTime.Now - tt0).Ticks / 10000L); tt0 = DateTime.Now; bool toload = true; if (toload) { tt0 = DateTime.Now; TTurtleParser parser = new TTurtleParser(); parser.Load(gra, datasetpath + "dataset100M.ttl"); Console.WriteLine("TOTAL: {0} мс.", (DateTime.Now - tt0).Ticks / 10000L); tt0 = DateTime.Now; } else { Tracer(gra, datasetpath + @"tracing100th.xml"); } }