Class PrefixDeclarations

    • Constructor Detail

      • PrefixDeclarations

        public PrefixDeclarations()
    • Method Detail

      • addPrefix

        public PrefixDeclarations addPrefix​(Prefix... prefixes)
        Add prefix declarations to this collection
        Parameters:
        prefixes - the prefixes
        Returns:
        this
      • replacePrefixesInQuery

        public String replacePrefixesInQuery​(String queryString)
        Replaces all occurrences of all declared namespaces with their prefix labels in the specified query string.

        For example, if the foaf: prefix is declared with PrefixDeclarations, the query

         SELECT ?name WHERE {
           ?x <http://xmlns.com/foaf/0.1/name> ?name .
         }
         

        is transformed to

         SELECT ?name WHERE {
           ?x foaf:name ?name .
         }
         

        Rules applied:

        • The longest matching namespace wins (if one namespace is a substring of another)
        • No replacement if the namespace occurs in a string, i.e., within " or '''
        • Only replace if the continuation of the match is a local name (
        Parameters:
        queryString - the query string
        Returns:
        the query string, namespaces replaced with prefix label