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!
fixing a stupid bug in the conclusion visitor which sometimes prevented
application of composition rules for backward links
a type in the registerDeletion method fixed
IndexChange constructor should take rules that constitute the change;
this is used by the differential index
reaching the state where the basic incremental test passes. got rid of
all the registration rules needed to compile composition rules when
changes are accumulated. fixed a few bugs in the desaturation/cleaning
computations