All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bigdata.rdf.sparql.ast.IQueryNode Maven / Gradle / Ivy

package com.bigdata.rdf.sparql.ast;

import java.util.Properties;

import com.bigdata.bop.BOp;
import com.bigdata.bop.PipelineOp;
import com.bigdata.rdf.sparql.ast.eval.AST2BOpContext;
import com.bigdata.rdf.sparql.ast.eval.AST2BOpUtility;
import com.bigdata.rdf.sparql.ast.optimizers.ASTQueryHintOptimizer;
import com.bigdata.rdf.sparql.ast.optimizers.IASTOptimizer;

/**
 * This is the basic interface for any AST operator that appears in the query
 * plan.
 */
public interface IQueryNode extends BOp {

	public interface Annotations {
		
        /**
         * An optional {@link Properties} object specifying query hints which
         * apply to this AST node.
         * 

* The relationship between SPARQL level query hints, the annotations on * the {@link ASTBase} and {@link PipelineOp} nodes is a bit complex, * and this {@link Properties} object is a bit complex. Briefly, this * {@link Properties} object contains property values which will be * applied (copied) onto generated {@link PipelineOp}s while annotations * on the {@link ASTBase} nodes are interpreted by {@link IASTOptimizer} * s and {@link AST2BOpUtility}. SPARQL level query hints map into one * or another of these things, or may directly set attributes on the * {@link AST2BOpContext}. * * @see ASTQueryHintOptimizer */ String QUERY_HINTS = "queryHints"; } /** * A string representation of a recursive structure with pretty-print indent. * @param indent * @return */ String toString(final int indent); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy