Class QueryManager


  • public class QueryManager
    extends Object
    QueryManager to manage queries. a) Management of running queries (abort, finish) b) Factory to create queries
    Author:
    Andreas Schwarte
    • Constructor Detail

      • QueryManager

        public QueryManager()
    • Method Detail

      • shutdown

        public void shutdown()
      • registerQuery

        public void registerQuery​(QueryInfo queryInfo)
        Add the query to the set of running queries, queries are identified via a unique id
        Parameters:
        queryInfo -
      • getRunningQueries

        public Set<QueryInfo> getRunningQueries()
      • getNumberOfRunningQueries

        public int getNumberOfRunningQueries()
      • abortQuery

        public void abortQuery​(QueryInfo queryInfo)
      • finishQuery

        public void finishQuery​(QueryInfo queryInfo)
      • isRunning

        public boolean isRunning​(QueryInfo queryInfo)
      • addPrefixDeclaration

        public void addPrefixDeclaration​(String prefix,
                                         String namespace)
        Register a prefix declaration to be used during query evaluation. If a known prefix is used in a query, it is substituted in the parsing step. If namespace is null, the corresponding entry is removed.
        Parameters:
        prefix - a common prefix, e.g. rdf
        namespace - the corresponding namespace, e.g. "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
      • getNextQueryId

        public BigInteger getNextQueryId()
        Computes the (incremental) next query identifier. Implementation is thread safe and synchronized.
        Returns:
        the next query identifier
      • getPrefixDeclarations

        protected String getPrefixDeclarations()
        Get the prefix declarations that have to be prepended to the query.
        Returns:
        the prefix declarations
      • getPrefixDeclarationsCheck

        protected String getPrefixDeclarationsCheck​(String queryString)
        Get the prefix declarations that have to be added while considering prefixes that are already declared in the query. The issue here is that duplicate declaration causes exceptions in RDF4J.
        Parameters:
        queryString -
        Returns:
        the prefix declarations
      • findQueryPrefixes

        protected static Set<String> findQueryPrefixes​(String queryString)
        Find all prefixes declared in the query
        Parameters:
        queryString -
        Returns:
        the prefixes