arango-query-core
Shared conceptual-model and NL substrate for the ArangoDB query
transpilers — arango-cypher-py
(Cypher→AQL) and arango-sparql-py
(SPARQL→AQL) — and, through them, the contextual-data-fabric's
federated query engine.
Carved out of arango-cypher-py (which previously shipped
arango_query_core inside its own wheel) so both transpilers and the
fabric pin one artifact instead of forking the same code three ways.
What's here
| Subpackage / module | Purpose |
|---|---|
arango_query_core.mapping |
MappingBundle — the conceptual↔physical model contract (entities, relationships, physical annotations) shared by both transpilers and the analyzers' CSI pipeline |
arango_query_core.owl_turtle / owl_rdflib |
OWL/Turtle ⇄ MappingBundle round-trip (rdflib optional, via the owl extra) |
arango_query_core.aql / exec / extensions / errors |
AQL fragment types, safe execution helpers, extension registry, error base |
arango_query_core.nl |
Language-agnostic NL→query engine: LLM providers (OpenAI / OpenRouter / Anthropic with prompt caching), BM25/dense few-shot retrieval, caller-supplied semantic postconditions, and the generate→validate→repair loop |
arango_query_core.nl.seams |
QueryLanguageAdapter — the eight language-specific seams an adapter implements (grammar prompt, corpus, validator, repair rules, guardrails, entity/predicate/path grounding) |
arango_query_core.nl.grounding / pathindex |
Entity, predicate, and relationship-path grounding retrieval (seams 6-8) — inject known IDs, schema conventions, and navigation hints into the prompt |
arango_query_core.nl.postconditions |
Caller-supplied semantic invariants enforced through the same generate→validate→retry budget, failing closed on exhaustion |
arango_query_core.nl.synthbank |
Ontology-agnostic query-shape template catalog for synthetic few-shot bank generation |
What's deliberately NOT here
The per-language adapters. nl2cypher (in arango-cypher-py) and
nl2sparql (in arango-sparql-py) implement QueryLanguageAdapter
next to their transpilers, because validating a generated query
requires the transpiler stack — importing one here would create a
dependency cycle or force consumers to install both query languages.
Dependencies point one way: transpilers → this package.
Install
pip install arango-query-core # mapping/aql core, zero deps
pip install "arango-query-core[owl]" # + rdflib OWL round-trip
pip install "arango-query-core[nl]" # + NL engine runtime deps
pip install "arango-query-core[dense]" # + dense-embedding few-shot retrieval
Versioning
Consumed as a pinned artifact (contextual-data-fabric CC-9): consumers pin exact versions and re-run their golden suites on every bump. On PyPI since v0.1.0.
Release files for arango-query-core 0.2.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| arango_query_core-0.2.0.tar.gz | 79.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| arango_query_core-0.2.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 139.2 kB
Release files / arango_query_core-0.2.0.tar.gz
| Download URL | arango_query_core-0.2.0.tar.gz |
|---|---|
| Size | 79.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9f81366eded22167a2a04bce3d918f25f1b7fa59b8bfddd32d86cb4a3665b970
|
|
BLAKE2b-256 checksum How to use checksums |
d11a2f4e183e963fef036180bad454348c401c1863361d10c25bd419823bd1f8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|
Release files / arango_query_core-0.2.0-py3-none-any.whl
| Download URL | arango_query_core-0.2.0-py3-none-any.whl |
|---|---|
| Size | 59.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
428c754f0b563a42828b55fa42c7a63b6b307e5099dcc6d0971d0d901f215d14
|
|
BLAKE2b-256 checksum How to use checksums |
cbd282266793d0ee2876c5b751622d0fe599b35da5e2b97e7f3f8b38fa938b73
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.15
|