-
Notifications
You must be signed in to change notification settings - Fork 336
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revamp explanations #4605
Labels
Comments
flyingsilverfin
added a commit
that referenced
this issue
Nov 1, 2019
## What is the goal of this PR? Large explanations can break gRPC message limits, specifically nesting depth when returning deep explanation trees. With this change, each layer of the explanation tree can be retrieved from the server separately. This reflects the changes in the protocol here: vaticle/typedb-protocol#20. We retain the storage of Explanation trees on the Server, and expose a new RPC message with corresponding handler on the server to retrieve particular layers of the tree using the query pattern provided by the client. The query pattern is used to access the query cache directly. Additionally, `pattern` in `ConceptMap`s now contain the IDs indicated in the actual concept map as well. Finishes #4605, and #4545 ## What are the changes implemented in this PR? * `Pattern` has been moved from `Explanation` to `ConceptMap` * `Answer` interface is empty and requires further refactoring * Propagate `Pattern` throughout reasoner conclusions * Reconstruct `Explanation` objects from the query cache when the user requests an explanation a concept map * Update some tests * Solve previously unnoticed explanation bug: when re-querying the same query, the explanation is shallow (ie. a `LookupExplanation`) rather than the full reasoner tree
vaticle/typedb-driver-python#75 fixes one of these points |
We've superceded the previous explanations with new style explanation queries in Grakn 2.0 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
The grpc explanations are not in sync with the code, related issues:
make Explanation object to storePattern
rather thanReasonerQuery
(Graql: Change Explanation object to store Pattern rather than ReasonerQuery #4197),Answer.explanations() should return a stream of Explanation objects (Answer.explanations() should return a stream of Explanation objects #4545),make sure explanations are available via python client (Explanation not available via gRPC, "explanation-query" is misnamed #3897).The text was updated successfully, but these errors were encountered: