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

fr.boreal.component_builder.components.RewritingComponentBuilder Maven / Gradle / Ivy

There is a newer version: 1.6.2
Show newest version
package fr.boreal.component_builder.components;

import java.util.Collection;
import java.util.Set;

import fr.boreal.backward_chaining.evaluators.QueryRewriter;
import fr.boreal.model.kb.api.RuleBase;
import fr.boreal.model.query.api.Query;
import fr.boreal.model.ruleCompilation.api.RuleCompilation;
import fr.lirmm.boreal.util.externalHaltingConditions.ExternalAlgorithmHaltingConditions;

/**
 * Builds a custom query rewriter
 */
public class RewritingComponentBuilder {

	/**
	 * @param queries
	 * @param rulebase
	 * @param compilation
	 * @param hc
	 * @return the query rewriter according to the configuration required
	 */
	public static QueryRewriter prepareAndGetRewriterFrom(Collection queries, RuleBase rulebase,
			RuleCompilation compilation, ExternalAlgorithmHaltingConditions hc) {

		return new QueryRewriter(queries, rulebase, compilation,  hc);

	}

	/**
	 * @param query
	 * @param rulebase
	 * @param compilation
	 * @param hc
	 * @return the query rewriter according to the configuration required
	 */
	public static QueryRewriter prepareAndGetRewriterFrom(Query query, RuleBase rulebase,
			RuleCompilation compilation, ExternalAlgorithmHaltingConditions hc) {

		return prepareAndGetRewriterFrom(Set.of(query), rulebase, compilation,  hc);

	}
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy