Reasonershould expose a getInferences method that returns a stream/iterator/collection of Java objects representing all (explicit and implicit) facts in the result of the chase, as well as the correctness (see Reasoner#writeInferences).
-[ ] have a general forEachInference(BiConsumer<Predicate, List<Term>>), in the style of Iterator#forEachRemaining, to keep the common parts of the implementation of writeInferencesand getInferencesin a single place
-[ ] move writeInferencesand getInferencesto Reasonerinterface as default methods, since they would no longer be specific to VLog
-[ ] round-tripping for writeInferences can now be tested, as the Parser accepts facts with nulls.
Reasoner
should expose agetInferences
method that returns a stream/iterator/collection of Java objects representing all (explicit and implicit) facts in the result of the chase, as well as the correctness (seeReasoner#writeInferences
).-[ ] have a general
forEachInference(BiConsumer<Predicate, List<Term>>)
, in the style ofIterator#forEachRemaining
, to keep the common parts of the implementation ofwriteInferences
andgetInferences
in a single place-[ ] move
writeInferences
andgetInferences
toReasoner
interface as default methods, since they would no longer be specific to VLog-[ ] round-tripping for
writeInferences
can now be tested, as the Parser accepts facts with nulls.