Class Service

    • Field Detail

      • serviceRef

        private Var serviceRef
      • serviceExpressionString

        private java.lang.String serviceExpressionString
      • serviceVars

        private final java.util.Set<java.lang.String> serviceVars
      • prefixDeclarations

        private java.util.Map<java.lang.String,​java.lang.String> prefixDeclarations
      • baseURI

        private java.lang.String baseURI
      • preparedSelectQueryString

        private java.lang.String preparedSelectQueryString
      • preparedAskQueryString

        private java.lang.String preparedAskQueryString
      • silent

        private final boolean silent
      • subselectPattern

        private static final java.util.regex.Pattern subselectPattern
    • Constructor Detail

      • Service

        public Service​(Var serviceRef,
                       TupleExpr serviceExpr,
                       java.lang.String serviceExpressionString,
                       java.util.Map<java.lang.String,​java.lang.String> prefixDeclarations,
                       java.lang.String baseURI,
                       boolean silent)
    • Method Detail

      • getServiceRef

        public Var getServiceRef()
      • getServiceExpr

        public TupleExpr getServiceExpr()
      • setServiceRef

        public void setServiceRef​(Var serviceRef)
      • isSilent

        public boolean isSilent()
        Returns:
        Returns the silent.
      • getPrefixDeclarations

        public java.util.Map<java.lang.String,​java.lang.String> getPrefixDeclarations()
        Returns:
        Returns the prefixDeclarations.
      • setPrefixDeclarations

        public void setPrefixDeclarations​(java.util.Map<java.lang.String,​java.lang.String> prefixDeclarations)
        Parameters:
        prefixDeclarations - The prefixDeclarations to set.
      • setExpressionString

        public void setExpressionString​(java.lang.String serviceExpressionString)
        The SERVICE expression, either complete or just the expression e.g. "SERVICE { ... }" becomes " ... "
        Parameters:
        serviceExpressionString - the inner expression as SPARQL String representation
      • getServiceExpressionString

        public java.lang.String getServiceExpressionString()
        Returns:
        Returns the serviceExpressionString.
      • getAskQueryString

        public java.lang.String getAskQueryString()
        Returns an ASK query string using no projection vars.
        Returns:
        an ASK query string
      • getSelectQueryString

        public java.lang.String getSelectQueryString​(java.util.Set<java.lang.String> projectionVars)
        Returns a SELECT query string using the provided projection vars. The variables are inserted into the preparedSelectQueryString in the SELECT clause.
        Parameters:
        projectionVars -
        Returns:
        SELECT query string, utilizing the given projection variables
      • getServiceVars

        public java.util.Set<java.lang.String> getServiceVars()
        Returns:
        Returns the serviceVars.
      • visit

        public <X extends java.lang.Exception> void visit​(QueryModelVisitor<X> visitor)
                                                   throws X extends java.lang.Exception
        Description copied from interface: QueryModelNode
        Visits this node. The node reports itself to the visitor with the proper runtime type.
        Throws:
        X extends java.lang.Exception
      • equals

        public boolean equals​(java.lang.Object other)
        Description copied from interface: QueryModelNode
        Returns true if this query model node and its children are recursively equal to o and its children.
        Specified by:
        equals in interface QueryModelNode
        Overrides:
        equals in class UnaryTupleOperator
      • clone

        public Service clone()
        Description copied from interface: QueryModelNode
        Returns a (deep) clone of this query model node. This method recursively clones the entire node tree, starting from this nodes.
        Specified by:
        clone in interface QueryModelNode
        Specified by:
        clone in interface TupleExpr
        Overrides:
        clone in class UnaryTupleOperator
        Returns:
        A deep clone of this query model node.
      • computeServiceVars

        private java.util.Set<java.lang.String> computeServiceVars​(TupleExpr serviceExpression)
        Compute the variable names occurring in the service expression using tree traversal, since these are necessary for building the SPARQL query.
        Returns:
        the set of variable names in the given service expression
      • initPreparedQueryString

        private void initPreparedQueryString()
      • computePrefixString

        private java.lang.String computePrefixString​(java.util.Map<java.lang.String,​java.lang.String> prefixDeclarations)
        Compute the prefix string only once to avoid computation overhead during evaluation.
        Parameters:
        prefixDeclarations -
        Returns:
        a Prefix String or an empty string if there are no prefixes
      • parseServiceExpression

        private java.lang.String parseServiceExpression​(java.lang.String serviceExpression)
        Parses a service expression to just have the inner expression, e.g. from something like "SERVICE <url> { ... }" becomes " ... ", also applies String.trim() to remove leading/tailing space
        Parameters:
        serviceExpression -
        Returns:
        the inner expression of the given service expression
      • setBaseURI

        public void setBaseURI​(java.lang.String baseURI)
        Parameters:
        baseURI - The baseURI to set.
      • getBaseURI

        public java.lang.String getBaseURI()
        Returns:
        Returns the baseURI.