Пример #1
0
        protected virtual SparqlQuery  BuildQuery(SparqlQuery query)
        {
            BuildRootGraphPattern(query);
            BuildGroupByClauses(query);
            BuildHavingClauses(query);
            BuildAndChainOrderings(query);
            _inlineDataOverQuery?.AppendTo(query);

            query.NamespaceMap.Import(Prefixes);

            return(query);
        }
Пример #2
0
        /// <inheritdoc />
        public SparqlQuery BuildQuery()
        {
            var query = new SparqlQuery
            {
                QueryType = _sparqlQueryType,
                Limit     = _queryLimit,
                Offset    = _queryOffset,
            };

            switch (_sparqlQueryType)
            {
            case SparqlQueryType.Construct:
                BuildConstructGraphPattern(query);
                break;

            case SparqlQueryType.Describe:
            case SparqlQueryType.DescribeAll:
                BuildDescribeVariables(query);
                break;

            case SparqlQueryType.Select:
            case SparqlQueryType.SelectAll:
            case SparqlQueryType.SelectAllDistinct:
            case SparqlQueryType.SelectAllReduced:
            case SparqlQueryType.SelectDistinct:
            case SparqlQueryType.SelectReduced:
                BuildReturnVariables(query);
                break;
            }

            BuildRootGraphPattern(query);
            BuildGroupByClauses(query);
            BuildHavingClauses(query);
            BuildAndChainOrderings(query);
            _inlineDataOverQuery?.AppendTo(query);

            query.NamespaceMap.Import(Prefixes);

            return(query);
        }