public void GraphToDataTable2() { Graph g = new Graph(); DataTable table = g.ToDataTable(); Assert.Equal(g.Triples.Count, table.Rows.Count); Assert.Equal(3, table.Columns.Count); foreach (DataRow row in table.Rows) { foreach (DataColumn col in table.Columns) { Console.Write(col.ColumnName + " = " + row[col].ToString() + " , "); } Console.WriteLine(); } }
public void GraphToDataTable() { Graph g = new Graph(); g.LoadFromFile("resources\\InferenceTest.ttl"); DataTable table = g.ToDataTable(); Assert.Equal(g.Triples.Count, table.Rows.Count); Assert.Equal(3, table.Columns.Count); foreach (DataRow row in table.Rows) { foreach (DataColumn col in table.Columns) { Console.Write(col.ColumnName + " = " + row[col].ToString() + " , "); } Console.WriteLine(); } }
private List<string> GetInferredPlaces(Graph outputGraph) { List<string> inferredResults = new List<string>(); foreach (DataRow row in outputGraph.ToDataTable().Rows) { inferredResults.Add(row.ItemArray[0].ToString()); } return inferredResults; }
private Collection<BaprLocation> ExtractResults(Graph graph, List<string> inferredResults) { Collection<BaprLocation> results = new Collection<BaprLocation>(); List<object[]> itemsArray = new List<object[]>(); foreach (DataRow row in graph.ToDataTable().Rows) { itemsArray.Add(row.ItemArray); } foreach (var group in itemsArray.GroupBy(x => x[0])) { if (!inferredResults.Contains(group.Key.ToString())) continue; BaprLocation location = new BaprLocation(); location.attributes = new Collection<BaprLocationAttribute>(); foreach (object[] attribute in group) { string attrValue = attribute[2].ToString(); if (attribute[1].ToString().Contains("label")) location.name = GetAttributeName(attrValue); else if (attribute[1].ToString().Contains("lat")) location.latitude = GetCoordinate(attrValue); else if (attribute[1].ToString().Contains("long")) location.longitude = GetCoordinate(attrValue); else { BaprLocationAttribute attr = new BaprLocationAttribute(); attr.Name = GetLastSubstring(attribute[1].ToString()); attr.Value = SplitValue(attribute[1].ToString(), attribute[2].ToString()); attr.Type = "string"; location.attributes.Add(attr); } } results.Add(location); } return results; }