TreeBasedDatalogProgram and TypeLift under implementation.
FP part of TypeLift implemented. Concrete actions still not implemented.
TreeBasedDatalogProgram cleaned. Last implementation using a simple PredicateTree and a Map for predicate def.
Rule tree following the predicate hierarchy is now the unique attribute of TreeBasedDatalogProgram.
TypeLift improved but not yet operational.
TypeLift passing AggregatesTestWP5!
Some comments and little improvements for TypeLift.
Type lifting takes better care of multiple rules.
Simplification of TypeLift. Only one type proposal per predicate can be given by children.
Bugfix: "null" and "null" (same objects) were not recognized as equal by the unifier.
Many comments added to TypeLift.
Left join support added for TypeLift.
TypeLift now detects types that are not yet supported (URI templates with multiple vars).
Bugfix: URI templates with multiple variables where not detected correctly (false positives).
TypeLift is now the default implementation for lifting types.
getUntypedArgumentFromTerm() and forceVariablereuse() moved from DatalogUnfolder to TypeLift.
getUntypedArgumentFromTerm() and forceVariablereuse() renamed and rewritten.
Add protection against incomplete multi-typed predicate indexes.
Former type push implementation removed (if necessary you can revert this commit).
Use JSQLParser 0.9.1 instead of its snapshot.