Repository navigation
Conversation
…ath per graph database in `qeval`
…ad of copying QLever's code in `qeval` and use clearer description texts
… path starts with a slash
…` is offered in the shared `query` command
So far, `BaseStopCommand` returned `False` without a message when the Qleverfile says that the server runs in a container and no container with the configured name exists, so `qeval <engine> stop` exited with status 1 after the line "Checking for container with name ..." and nothing else. Now it reports the missing container, like QLever's `stop` reports a missing process or container.
qevalqeval [ADD TEST, THEN MERGE WHEN ALL GREEN]
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.
So far,
qevalcould only run QLever. Several commands work the same way for every graph database:statusandstopfind the server's processes by a regex,queryandbenchmark-queriessend SPARQL queries to an HTTP endpoint,index-statsreports the time and space of the index build, andsetup-configderives a Qleverfile from one of QLever's pre-configured ones. QLever's versions of these commands already do almost all of the work, so every new graph database would otherwise copy them with small changes, and a fix in one copy would not reach the others. Commands likeindexandstartare not part of this, because each graph database builds its index and runs its server with its own binaries, options and logs, so there is little to share.With this change,
qeval/base_commandshas one shared version of each of these commands, built on QLever's. A graph database only provides what differs, such as the regex for its processes, its container image and settings, which files hold its index, and how its index log reports the duration of each phase. Where QLever's command needs a different value for another graph database, such as the path of the SPARQL endpoint or the default regex ofstatus, it now gets that value from a small method that the shared version overrides, so that no code is copied.On the side,
Qleverfile.filternow keeps all options of a section forNoneinstead of an empty list, and theqevalhelp mentions graph databases instead of engines.NOTE: No graph database uses the shared commands yet, Oxigraph will follow in a separate change (#328). QLever's commands behave as before.