Repository navigation
feat: Explain view with the engine's execution plan and the SPARQL algebra - #237
Open
MathiasVDA wants to merge 3 commits into
Open
MathiasVDA wants to merge 3 commits into
MathiasVDA wants to merge 3 commits into
Conversation
…ueries Host API 2: `yasr.executeQuery` now honours `extraArgs` and `endpoint`, so a result plugin can ask an engine for its execution plan (Blazegraph and Neptune need an `explain` parameter, Stardog its `/explain` path) with the authentication and settings of the tab. Plugins feature-detect it with `hostApi.queryRequest`. Documents the Explain plugin in the user guide.
Collaborator
Author
|
The Generated by Claude Code |
Registers @matdata/yasgui-explain-plugin 1.0.0 as the Explain view and adds it to the default plugin order after Chart.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Mathias · project thread
Before: MatGUI shows the results of a query but nothing about how the endpoint executed it. A result plugin could run a background query through
yasr.executeQuerywith a custom Accept header only; one that needs an extra request parameter (Blazegraph and Neptune explain withexplain=details) or another path on the same server (Stardog's/{db}/explain) had to send the request itself, without the authentication and request settings of the tab.After: an Explain tab in the results, from @matdata/yasgui-explain-plugin 1.0.0, shows the execution plan of QLever, GraphDB, Stardog, Blazegraph and Neptune endpoints and the SPARQL algebra of any query.
yasr.executeQuery(query, { extraArgs, endpoint })passes those on to yasqe, which sends the request with the tab's method, headers, authentication and graph arguments.yasr.hostApiis version 2 and carriesqueryRequest: true, so plugins can feature-detect it. The user guide gets an "Explain Plugin" section and the developer guide documents the option.How:
ExecuteQueryOptionsin yasqe gainsextraArgs(appended after the configured arguments, never replacingqueryorupdate) andcustomEndpoint(replaces the URL of the populated request config); the Tab maps the yasr options onto them. The plugin is registered like the chart plugin inpackages/yasgui/src/index.tsand added at the end of the defaultpluginOrder.Closes #147.
Generated by Claude Code