コード例 #1
0
ファイル: GraphWriter.cs プロジェクト: Temitope-A/Delfi
        /// <summary>
        /// Adds a graph portion to the repository
        /// </summary>
        public void Insert(LabelledTreeNode <object, Term> graph)
        {
            var body = SparqlBgpWriter.ConvertQueryModelToSparql(graph);

            var query = $"INSERT DATA {{{body}}}";

            Client.ExecuteQuery(query, DefaultSource.EndPoint);
        }
コード例 #2
0
        /// <summary>
        /// Evaluates a graph query model against a graph source
        /// </summary>
        /// <param name="queryModel">tree model of the query</param>
        /// <param name="offset">number of solutions to skip</param>
        /// <param name="limit">maximum number of solutions to take</param>
        /// <param name="filter">a bgp filter</param>
        /// <param name="source">query target</param>
        /// <returns>A collection of trees</returns>
        public IEnumerable <LabelledTreeNode <object, Term> > Evaluate(LabelledTreeNode <object, Term> queryModel, int?offset, int?limit, IFilter filter, IGraphSource source)
        {
            var queryString   = SparqlBgpWriter.Write(queryModel, offset, limit, filter);
            var client        = new SparqlJsonClient();
            var responseModel = client.ExecuteQuery(queryString, source.EndPoint);

            foreach (var solution in responseModel.Results.Bindings)
            {
                yield return(CreateResultGraph(solution, queryModel));
            }
        }