a bunch of classes brought from the old incremental branch. don't
compile yet.
Merge branch 'master' into elk-new-incremental
temporary commit
moving along with the incrementakl stuff, half way through porting the
index changes
basically all indexing now works via index updaters to support
incremental updates (untested though)
reworked incremental indexing: now both additions and removals are
stored as compiled sets of rules, not as lists of indexed objects
a hierarchy of rule engines which do three things: apply rules, de-apply
rules, and clean contexts (the latter being equivalent to de-application
without touching saturated contexts). also moved all operations that
modify contexts's internal data structures (superclasses, backward links
and backward link rules) from conclusions to conclusion visitors invoked
by the engines. That way conclusions abstract from whether they're added
to the context or removed.
adding missing files to the index
remove boolean flags which correspond to non-existent stages (property
hierarchy and composition computations)
moving on with the incremental stuff:
* working on the stages (contexts/changes init, de-saturation, cleaning,
saturation)
* simplifying overly generic code in elk-util-concurrent, namely, drop
Engine type parameters from ConcurrentComputation and the job finish
notification listener
substantial refactoring to extract the state of saturation from
RuleEngine s.t. the state can be shared across stages w/o the need to
use the same rule engine. Also, the context management stuff, that is
activation/deactivation, is now separate from rule application.Other
than that, the stages for incremental stuff are pretty close to
completion; need to finish the last stage (re-application) and put all
the pieces together.
finishing the first cut of the incremental stages (w/ passing the
SaturationState) and tweaking ConcurrentComputation to start input
processors for the first time even if there're no inputs
switching off (for the moment) the optimization which creates
propagations
only
for
roles
which occur in positive existentials
first index predefined classes and only after use them
fix NPE resulting from using the direct indexers before creating them
fixed all exceptions during classification tests, next need to fix
bugs!
a new class Stack for manipulation with todo conclusions in contexts
fixing a stupid bug in the conclusion visitor which sometimes prevented
application of composition rules for backward links
simplified the implementation of stack; added and improved the
documentation
a type in the registerDeletion method fixed