apache / apache/jena

TDB2 Skip scan for single pattern queries.

Open
#3,994 0 comments 1 reaction 0 assignees View on GitHub
enhancement
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.