Looking at some queries the other day I realized that I would like a query profiler that returns the same kind of results as explain() but with actual measured counts and time estimates.
Any chance you have something like that in the pipeline?
We have an internal command (not included in the release) that shows the actual cardinality of each node and highlights the cases where estimates are significantly off. However, such a feature requires us to disable some optimizations because during normal execution Stardog won’t actually produce all the results for each node (sideways information passing). As a result the queries run considerably slower and sometimes might not even terminate in reasonable time even though the original query completes relatively quickly. Having said that we will look into exposing this functionality in the release with warnings that explain these issues.
How about something like a sampling profiler for timing query?