Skip to content

Add minimal next SELECT/ASK executor - #491

Merged
abdessamad-abdoun merged 5 commits into
feature/corese-nextfrom
feature/490-minimal-select-ask-executor
Jul 16, 2026
Merged

Add minimal next SELECT/ASK executor#491
abdessamad-abdoun merged 5 commits into
feature/corese-nextfrom
feature/490-minimal-select-ask-executor

Conversation

@remiceres

@remiceres remiceres commented Jul 16, 2026

Copy link
Copy Markdown
Contributor

Closes #490.

Adds a minimal internal executor for SELECT and ASK queries through the next pipeline.

This connects the next parser, AST bridge, KGRAM, StorageManagerProducer, and StorageManager. It also adds reusable KGRAM execution collaborators and end-to-end tests for simple SPO and joined BGP queries.

Checks:

  • ./gradlew test --tests fr.inria.corese.core.next.query.impl.sparql.execution.NextSparqlPipelineExecutorTest --tests fr.inria.corese.core.next.query.kgram.tool.StorageManagerProducerTest

@github-actions

Copy link
Copy Markdown
Overall Project 51.09% -0.03% 🍏
Files changed 55.17%

File Coverage
NextSparqlPipelineExecutor.java 92.97% -7.03% 🍏
StorageManagerProducer.java 56.98% -1.42%
SparqlKgramEvaluator.java 55.56% -44.44%
RdfTermMatcher.java 15% -85%

@github-actions

github-actions Bot commented Jul 16, 2026

Copy link
Copy Markdown

Test Results

  436 files    436 suites   34s ⏱️
2 502 tests 2 502 ✅ 0 💤 0 ❌
2 516 runs  2 516 ✅ 0 💤 0 ❌

Results for commit 513fcb4.

♻️ This comment has been updated with latest results.

@remiceres remiceres added the Refactoring Issue created during the 2025 refactoring effort label Jul 16, 2026
@remiceres remiceres self-assigned this Jul 16, 2026
@remiceres
remiceres requested a review from Copilot July 16, 2026 10:13

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR introduces the first end-to-end “next pipeline” execution path for minimal SPARQL SELECT and ASK queries, wiring together the next parser, AST bridge, KGRAM-next runtime, and StorageManagerProducer backed by a StorageManager.

Changes:

  • Added NextSparqlPipelineExecutor to execute SELECT/ASK through the next pipeline (parser → AST → KGRAM → storage).
  • Introduced reusable KGRAM execution collaborators (SparqlKgramEvaluator, RdfTermMatcher) for minimal graph-pattern execution.
  • Added end-to-end tests for simple SPO and joined BGP queries using MemoryStorageManager, and updated StorageManagerProducer tests to use the shared evaluator/matcher.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
src/test/java/fr/inria/corese/core/next/query/kgram/tool/StorageManagerProducerTest.java Updates tests to use the shared evaluator/matcher and a test edge implementation.
src/test/java/fr/inria/corese/core/next/query/impl/sparql/execution/NextSparqlPipelineExecutorTest.java New end-to-end tests validating SELECT/ASK execution over MemoryStorageManager.
src/main/java/fr/inria/corese/core/next/query/kgram/tool/StorageManagerProducer.java Improves docs and adjusts unsupported-feature error signaling.
src/main/java/fr/inria/corese/core/next/query/kgram/execution/SparqlKgramEvaluator.java New minimal KGRAM evaluator placeholder for SPARQL execution scope.
src/main/java/fr/inria/corese/core/next/query/kgram/execution/RdfTermMatcher.java New strict RDF-term matcher used during KGRAM pattern matching.
src/main/java/fr/inria/corese/core/next/query/kgram/execution/package-info.java New package documentation for the execution collaborators.
src/main/java/fr/inria/corese/core/next/query/impl/sparql/execution/NextSparqlPipelineExecutor.java New internal executor wiring the full next pipeline to storage.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@github-actions

Copy link
Copy Markdown
Overall Project 51.09% -0.03% 🍏
Files changed 53.57%

File Coverage
NextSparqlPipelineExecutor.java 92.44% -7.56% 🍏
StorageManagerProducer.java 56.98% -1.42%
SparqlKgramEvaluator.java 55.56% -44.44%
RdfTermMatcher.java 15% -85%

@github-actions

Copy link
Copy Markdown
Overall Project 51.09% -0.03% 🍏
Files changed 57.09%

File Coverage
NextSparqlPipelineExecutor.java 92.44% -7.56% 🍏
StorageManagerProducer.java 57.93% -0.47% 🍏
SparqlKgramEvaluator.java 55.56% -44.44%
InvalidQueryExecutionPlanException.java 44.44% -55.56%
RdfTermMatcher.java 15% -85%

@github-actions

Copy link
Copy Markdown
Overall Project 51.09% -0.03% 🍏
Files changed 53.57%

File Coverage
NextSparqlPipelineExecutor.java 92.44% -7.56% 🍏
StorageManagerProducer.java 56.98% -1.42%
SparqlKgramEvaluator.java 55.56% -44.44%
RdfTermMatcher.java 15% -85%

@remiceres
remiceres marked this pull request as ready for review July 16, 2026 10:37
@abdessamad-abdoun
abdessamad-abdoun merged commit 4b81c56 into feature/corese-next Jul 16, 2026
1 check passed
@github-actions

Copy link
Copy Markdown
Overall Project 51.11% -0.01% 🍏
Files changed 87.3% 🍏

File Coverage
RdfTermMatcher.java 100% 🍏
NextSparqlPipelineExecutor.java 92.44% -7.56% 🍏
StorageManagerProducer.java 56.98% -1.42%
SparqlKgramEvaluator.java 55.56% -44.44%

@abdessamad-abdoun
abdessamad-abdoun deleted the feature/490-minimal-select-ask-executor branch August 18, 2026 08:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Refactoring Issue created during the 2025 refactoring effort

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[NEXT][EXEC] Add minimal SELECT/ASK execution through KGRAM and StorageManagerProducer

3 participants