Ejemplo n.º 1
0
        public static IGraph GetContextualGraphV2(this SparqlRemoteEndpoint endpoint, string uri, HashSet <string> processed, int rank)
        {
            if (rank <= 0)
            {
                return(new Graph());
            }
            rank--;
            var graph = endpoint.GetContextualGraph(uri);

            processed.Add(uri);
            var graphToMerge = new List <IGraph>();

            foreach (var uriString in graph.Triples.GetAllUriNodeToString())
            {
                if (processed.Contains(uriString))
                {
                    continue;
                }
                var tmpGraph = endpoint.GetContextualGraphV2(uriString, processed, rank);
                if (!tmpGraph.IsEmpty)
                {
                    graphToMerge.Add(tmpGraph);
                }
            }
            foreach (var g in graphToMerge)
            {
                graph.Merge(g);
            }
            return(graph);
        }
Ejemplo n.º 2
0
 public static IEnumerable <Triple> GetTriples(this SparqlRemoteEndpoint endpoint, Uri uri)
 {
     return(endpoint.GetContextualGraph(uri.ToString()).Triples);
 }