Skip to content
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

Implement Explanations in RPC #131

Merged
merged 4 commits into from
Mar 30, 2021

Conversation

flyingsilverfin
Copy link
Member

@flyingsilverfin flyingsilverfin commented Mar 22, 2021

What is the goal of this PR?

We add Explanations, and the explain() query endpoint to the protocol. This enables all clients to retrieve all available explanations for a particular explainable concept map.

What are the changes implemented in this PR?

  • Implement Explainable and Explainables as part of Answer protocol
  • Implement Explanation as part of Logic protocol
  • Add Explain.Req and Explain.Res as part of the explain QueryManager endpoing

common/logic.proto Outdated Show resolved Hide resolved
@flyingsilverfin flyingsilverfin changed the title Explanations rpc Implement Explanations in RPC Mar 29, 2021
@flyingsilverfin flyingsilverfin marked this pull request as ready for review March 29, 2021 11:47
@flyingsilverfin flyingsilverfin added this to the 2.0.0-alpha-13 milestone Mar 29, 2021
common/answer.proto Outdated Show resolved Hide resolved
common/logic.proto Outdated Show resolved Hide resolved
common/logic.proto Outdated Show resolved Hide resolved
joshua added 2 commits March 30, 2021 14:18
add missing field numbers

tmp publish npm, pip, and maven artifacts

Move Explanation to //common/logic.proto

update answer proto

Make map style consistent

Revert "Make map style consistent"

This reverts commit a625c71.

use snake-case

split concepts into relation and attributes
final tweaks and publish snapshots

undo temporary snapshot publishing
@haikalpribadi haikalpribadi merged commit d0bdb87 into typedb:master Mar 30, 2021
@flyingsilverfin flyingsilverfin deleted the explanations-rpc branch March 30, 2021 17:11
flyingsilverfin added a commit to typedb/typedb that referenced this pull request Mar 30, 2021
## What is the goal of this PR?
To make Explanations and the explain() functionality available to our clients, we implement the protocol extended in typedb/typedb-protocol#131, which creates new RPC endpoints for `QueryManager.explain()` and extended serialisation of `ConceptMap`.

## What are the changes implemented in this PR?
* Add RPC endpoint for `QueryManager.explain()`
* Extend `ConceptMap` serialisation to serialise `explainableRelations`, `explainableAttributes`, and `explainableOwnerships`
alexjpwalker pushed a commit to typedb/typedb-driver-python that referenced this pull request Mar 31, 2021
## What is the goal of this PR?
Following typedb/typedb#6271 and the corresponding protocol change in typedb/typedb-protocol#131 we implement Explanations, Explainable concept maps, and the explain() query API, which allows users to stream Explanations on demand **note: explain query or transaction option must be set to `true`**

## What are the changes implemented in this PR?
* Implement `Explanation` objects, and extend `ConceptMap` to contain `Explainables`
* Add the `QueryManager.explain(Explainable)` API to retrieve all direct explanations (1-rule layer)
alexjpwalker pushed a commit to typedb/typedb-driver that referenced this pull request Mar 31, 2021
## What is the goal of this PR?
Following typedb/typedb#6271 and the corresponding protocol change in typedb/typedb-protocol#131 we implement Explanations, Explainable concept maps, and the explain() query API, which allows users to stream Explanations on demand **note: explain query or transaction option must be set to `true`**

## What are the changes implemented in this PR?
* Implement `Explanation` objects, and extend `ConceptMap` to contain `Explainables`
* Add the `QueryManager.explain(Explainable)` API to retrieve all direct explanations (1-rule layer) 
* update `ClientTest` to include a simple Explanation test
flyingsilverfin added a commit to typedb/typedb-driver-nodejs that referenced this pull request Mar 31, 2021
## What is the goal of this PR?
We refactor client-nodejs to follow the new architecture set out by client-java in 7963479, and then following typedb/typedb#6271 and the corresponding protocol change in typedb/typedb-protocol#131 we implement Explanations, Explainable concept maps, and the explain() query API, which allows users to stream Explanations on demand **note: `explain` query or transaction option must be set to `true`**

## What are the changes implemented in this PR?
* completely overhaul client to match the architecture of client-java
* Implement `Explanation` objects, and extend `ConceptMap` to contain `Explainables`
* Add the `QueryManager.explain(Explainable)` API to retrieve all direct explanations (1-rule layer)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants