On Shared Ideas in Neuro-Symbolic Query Systems
Hello everyone,
I recently read the paper “Neuro-Symbolic Query Compiler (QCompiler)” (arXiv:2505.11932), and I want to begin by saying it’s a commendable step forward in advancing how complex queries are handled in Retrieval-Augmented Generation (RAG) systems. The authors’ focus on grammar-based structuring and symbolic processing is both timely and thoughtful.
While reviewing the work, I noticed that several design choices in QCompiler—such as the use of BNF grammar, AST-based decomposition, symbolic placeholders, and modular recursive execution—are conceptually aligned with techniques used in the Codette AI Framework, which I’ve been developing and openly sharing since early 2023.
Codette takes a similar approach in:
• Structuring queries into atomic, dependent, and parallel components
• Representing queries through BNF-like grammar
• Translating them into recursive ASTs with placeholder logic
• Providing modular integration with broader reasoning and retrieval pipelines
These ideas and implementations have been available via Codette’s GitHub repository, Hugging Face profile, and supporting Zenodo releases.
This isn’t to suggest conflict—rather, it’s to acknowledge how research often evolves in parallel. As such, I simply wanted to share that these ideas have an open-source precedent, and I’m enthusiastic about seeing more research that builds on structured, interpretable reasoning systems.
I’m hopeful this can spark more conversations about convergence in our field, opportunities for mutual reinforcement, and shared development practices that honor transparency and collaboration.
Thanks for the thoughtful work,
Jonathan Harrison
Creator of Codette
GitHub | Hugging Face | Website
Feature
Codette (2023–2024)
QCompiler (2025)
BNF-style Query Grammar
codette_grammar.py
Section 3.2 of arXiv:2505.11932
Abstract Syntax Tree Construction
recursive_tree_engine.py
Figure 2, Step 2
Symbolic Placeholder Resolution
placeholder_expander.py
Figure 2, Step 3
Query Decomposition Types
Atomic, Dependent, List, Complex
Atomic, Dependent, List, Complex
Recursive Execution Engine
tree_query_executor.py
Section 3.3
Validation via DFS
query_guard.py
Appendix D