You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jul 11, 2021. It is now read-only.
It's interactive, which I think would probably better be handled in a GUI, although they do it in the terminal.
An interesting point is that they support interactive recursive tracing of queries that failed -- what they call "whynot" questions. I think in our setting, this might mean a GUI that in general, optionally shows some of the "interesting" null aggregands. More precisely, make it possible to see show groundings or partial groundings of the rule body that didn't complete but "came close" because some of the subgoals succeeded (or came close in turn).
Some heuristics (or user control) are needed to determinine which bindings are worth showing. E.g., if the rule body is foo(X)*bar(X+1), we don't want to report X=5 as an interesting binding simply because Y is X+1 succeeded there, but we might be interested in that binding if foo(5) or bar(6) succeeded, particularly if that is surprising because those are selective predicates or at least finite predicates (support mode -).
The rule of thumb might be that we show the partial bindings from our actual query plan or update plan, which will tend to start with the selective subgoals. I think that's in fact what AILog2 does, although it's a bit easier there because it only does backward chaining.
The text was updated successfully, but these errors were encountered:
Related to trace commands on #1, we might look at AILog2's tracing.
http://www.cs.ubc.ca/~poole/aibook/code/ailog/ailog_man_7.html
It's interactive, which I think would probably better be handled in a GUI, although they do it in the terminal.
An interesting point is that they support interactive recursive tracing of queries that failed -- what they call "whynot" questions. I think in our setting, this might mean a GUI that in general, optionally shows some of the "interesting" null aggregands. More precisely, make it possible to see show groundings or partial groundings of the rule body that didn't complete but "came close" because some of the subgoals succeeded (or came close in turn).
Some heuristics (or user control) are needed to determinine which bindings are worth showing. E.g., if the rule body is
foo(X)*bar(X+1)
, we don't want to reportX=5
as an interesting binding simply becauseY is X+1
succeeded there, but we might be interested in that binding iffoo(5)
orbar(6)
succeeded, particularly if that is surprising because those are selective predicates or at least finite predicates (support mode-
).The rule of thumb might be that we show the partial bindings from our actual query plan or update plan, which will tend to start with the selective subgoals. I think that's in fact what AILog2 does, although it's a bit easier there because it only does backward chaining.
The text was updated successfully, but these errors were encountered: