コード例 #1
0
        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();
            }
        }
コード例 #2
0
        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();
            }
        }
コード例 #3
0
        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;
        }
コード例 #4
0
        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;
        }