Package com.semedy.reasoner.rewriter
Class PropagateConstantsRewriter
java.lang.Object
com.semedy.reasoner.rewriter.PropagateConstantsRewriter
- All Implemented Interfaces:
Rewriter
This rewriter propagates constants top-down in the rules and
then removes rules which cannot contribute to the answer or instantiates variables with constants in rules
then removes rules which cannot contribute to the answer or instantiates variables with constants in rules
- Author:
- angele
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionget a description for the rewritergetName()
get the name of a rewriterboolean
indicates whether rewriter has to read the symbol tablerewrite
(IntensionalDB input, ExtensionalDB[] edbs, SymbolTable symbolTable, ExternalDataTypeProvider datatypes, Configuration config) applies the rewriter to a set of rulesvoid
setBuiltinProvider
(BuiltinProvider builtinProvider) sets the built-in provider for the rewritervoid
setProperties
(Properties prp) set propertiesvoid
setStatistics
(SystemMonitor _statistics) adds a system monitor which has run time data about rules.boolean
indicates whether rewriter modifies the symbol table
-
Constructor Details
-
PropagateConstantsRewriter
public PropagateConstantsRewriter()
-
-
Method Details
-
getName
Description copied from interface:Rewriter
get the name of a rewriter -
getDescription
Description copied from interface:Rewriter
get a description for the rewriter- Specified by:
getDescription
in interfaceRewriter
- Returns:
-
readsSymbolTable
public boolean readsSymbolTable()Description copied from interface:Rewriter
indicates whether rewriter has to read the symbol table- Specified by:
readsSymbolTable
in interfaceRewriter
- Returns:
-
writesSymbolTable
public boolean writesSymbolTable()Description copied from interface:Rewriter
indicates whether rewriter modifies the symbol table- Specified by:
writesSymbolTable
in interfaceRewriter
- Returns:
-
setBuiltinProvider
Description copied from interface:Rewriter
sets the built-in provider for the rewriter- Specified by:
setBuiltinProvider
in interfaceRewriter
-
rewrite
public IntensionalDB rewrite(IntensionalDB input, ExtensionalDB[] edbs, SymbolTable symbolTable, ExternalDataTypeProvider datatypes, Configuration config) throws InterruptedException, IOException, SemReasonerException Description copied from interface:Rewriter
applies the rewriter to a set of rules- Specified by:
rewrite
in interfaceRewriter
- Parameters:
input
- , intensional databaseedbs
- , extensional databases, the last one is used for snapshot transaction datasymbolTable
- , symbol tabledatatypes
- , the external datatypesconfig
- , configuration- Returns:
- Throws:
InterruptedException
IOException
RewriterException
SemReasonerException
-
setStatistics
Description copied from interface:Rewriter
adds a system monitor which has run time data about rules.- Specified by:
setStatistics
in interfaceRewriter
-
setProperties
Description copied from interface:Rewriter
set properties- Specified by:
setProperties
in interfaceRewriter
-