TDB2 Skip scan for single pattern queries.
- Dominant language
- Java
- Stars
- 1.4k
- Forks
- 712
- Avg merge
- 15h 41m
- Merged PRs (30d)
- 53
Description
### Version
6.2.0-SNAPSHOT
### Feature
@rvesse once created https://github.com/apache/jena/pull/1655 which makes `GRAPH ?g { }` return the set of distinct graph names from the TDB2 index.
So far this work was not leveraged for arbitrary single tuple patterns, such as:
* `SELECT DISTINCT ?p { ?s ?p ?o }`
* `SELECT ?g (COUNT(DISTINCT ?p) AS ?c) { GRAPH ?g { ?s ?p ?o } } GROUP BY ?g`
* `...`
The proposal is to extend `OpExecutorTDB2` to make `OpDistinct` and `OpGroup` leverage indexes
### Are you interested in contributing a solution yourself?
Yes
Contributor guide
Research direction
Start by reading OpExecutorTDB2 and the existing TDB2 index handling introduced by pull request 1655. Trace how OpDistinct and OpGroup execute the single-pattern examples in the issue, then determine how they can use index results. Done means the listed distinct and grouped queries leverage the indexes while preserving their expected results.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100