Open jeswr opened 2 years ago
As suggested by @arminhaller - in lieu of metadata about the reasoning status of sources as discussed in https://github.com/SolidLabResearch/Challenges/issues/14#issuecomment-1062554186, we can in some case heuristically determine this based on the presense of data. For example some superset of RDFS inferencing is likely enabled if a triple of the form ?s a rdfs:resource
is present.
I suggest we create a bus that takes a source as input and returns the types of reasoning that have been applied to that source. Then one actor can be this heuristic actor, a second actor uses metadata exposed by the source, and a third actor uses the ActionContext
in cases where users have explicitly stated the pre-reasoning done on sources.
One can possibly view this reduced problem as one of 'incremental reasoning' - where the pod data can be abstractly considered as an 'insertion' into the main KB.
For extra points - handle dialogical reasoning https://github.com/SolidLabResearch/Challenges/issues/22
Expanding upon https://github.com/SolidLabResearch/Challenges/issues/14#issuecomment-1062554186 with some implementation specific ideas.
As a first-pass lets make the following assumptions (which can be verified inside the appropriate actors
test
method) to simplify the problem:premise-conclusion
style format (i.e. no quantification, nesting etc.)As a 'naive' first implementation we can then do the following:
initialBindings
.1
, except now we create theseinitialBindings
using results produced in the previous iteration of reasoning.^^ Most of this logic would also be re-usable to optimize the current rule evaluation strategies as well.