Dieses Verzeichnis enthält die formale Grammatikdefinition von ThemisDB's AQL in EBNF-Notation.
- AQL_GRAMMAR.ebnf - Vollständige EBNF-Grammatik für AQL (v1.3.0)
- AQL_GRAMMAR_EXTENDED_v1.3.1.ebnf - 📋 PROPOSAL: Erweiterte Grammatik mit OOP-Features (v1.3.1)
- examples/vision_analysis_oop.aql - 📋 PROPOSAL: Beispiele für Vision-Analyse mit OOP
AQL ist ThemisDB's deklarative Abfragesprache für Multi-Model-Datenbank-Operationen:
- Relational: Joins, Aggregationen, Gruppierung
- Graph: Traversierung (OUTBOUND, INBOUND, ANY), Kürzester Pfad
- Dokument: Flexible JSON-Queries
- Vektor: Ähnlichkeitssuchen
- Geo-Spatial: ST_*-Funktionen
- Zeitreihen: Optimierte Speicherung, Gorilla-Kompression, kontinuierliche Aggregation
- Prozessabbildung: Event-Log-Extraktion, Process-Discovery, Konformitätsprüfung
- LLM (v1.3.0+): Native LLM-Inferenz, RAG, Embeddings
FOR- Iteration über Collections, Ranges, Graph-TraversalsLET- Variable BindingsFILTER- Prädikate und BedingungenCOLLECT- Gruppierung und AggregationSORT- SortierungLIMIT- PaginationRETURN- Projektion
CREATE/DROP COLLECTIONCREATE/DROP INDEX(HASH, SKIPLIST, FULLTEXT, GEO, VECTOR, etc.)CREATE/DROP VIEW
INSERT- Neue Dokumente einfügenUPDATE- Dokumente aktualisierenREPLACE- Dokumente ersetzenREMOVE- Dokumente löschenUPSERT- Insert oder Update
LLM INFER- Inferenz mit LLM-ModellenLLM RAG- Retrieval-Augmented GenerationLLM EMBED- Text-Embeddings generierenLLM MODEL- Modell-Verwaltung (LOAD, UNLOAD, LIST, INGEST)LLM LORA- LoRA-Adapter-VerwaltungLLM STATS- StatistikenLLM CACHE- Cache-Verwaltung
NAMESPACE- Hierarchische Organisation von CodeTYPE- User-Defined Types für TypsicherheitFUNCTION- Wiederverwendbare User-Defined FunctionsCLASS- Objektorientierte Workflows mit State ManagementTRY/CATCH- Strukturierte FehlerbehandlungMATCH- Pattern Matching für komplexe DatenstrukturenASYNC/AWAIT- Asynchrone LLM-Operationen- Pipeline Operator
|>- Method Chaining für bessere Lesbarkeit
LLM VISION ANALYZE- Strukturierte Bildanalyse mit ObjekterkennungLLM VISION BATCH- Batch-Verarbeitung mehrerer BilderLLM VISION QUESTION- Visual Question Answering (VQA)LLM VISION COMPARE- Bildvergleich und ÄhnlichkeitsanalyseLLM VISION TRANSFORM- BildtransformationenLLM VISION RAG- Multimodales RAG mit Bildern und Text
FOR user IN users
FILTER user.age > 18
SORT user.name ASC
LIMIT 10
RETURN user
FOR user IN users
FOR order IN orders
FILTER order.user_id == user._key
RETURN {
user_name: user.name,
order_total: order.total
}
FOR vertex IN 1..3 OUTBOUND 'users/john' friends
RETURN vertex.name
FOR order IN orders
COLLECT city = order.city
AGGREGATE total_sales = SUM(order.amount)
SORT total_sales DESC
RETURN { city, total_sales }
FOR doc IN documents
FILTER SIMILARITY(doc.embedding, @query_vector, 10)
RETURN doc
LLM INFER "Explain the concept of databases"
USING MODEL "llama-2-7b"
OPTIONS { max_tokens: 200, temperature: 0.7 }
LLM RAG "What are the key features of ThemisDB?"
FROM COLLECTION documents
TOP 5
USING LORA "technical-docs"
- Syntax-Guide:
../docs/de/aql/aql_syntax.md - Funktions-Referenz:
../docs/de/aql/aql_functions_reference.md - Query Engine:
../docs/de/aql/aql_query_engine.md - Subqueries:
../docs/de/aql/aql_subquery_reference.md - Hybrid Queries:
../docs/de/aql/aql_hybrid_queries.md - LLM-Erweiterungen:
../docs/de/aql/LLM_GRAMMAR.ebnf - 📋 OOP Extension Proposal:
../docs/de/aql/AQL_OOP_EXTENSION_PROPOSAL.md(NEU)
Siehe detaillierten Vorschlag in ../docs/de/aql/AQL_OOP_EXTENSION_PROPOSAL.md
Diese Erweiterungen zielen darauf ab:
- Modularität durch Namespaces zu verbessern
- Wiederverwendbarkeit mit User-Defined Functions und Types
- Ausdruckskraft durch Classes und Pattern Matching
- Vision-Integration für llama.cpp vision und multimodale RAG
- Best Practices für Enterprise-Anwendungen zu etablieren
Die Grammatik verwendet Standard-EBNF-Notation:
::=- Definition|- Alternative()- Gruppierung[]- Optional (0 oder 1){}- Wiederholung (0 oder mehr)+- Wiederholung (1 oder mehr)*- Wiederholung (0 oder mehr)?- Optional (0 oder 1)"..."- Terminal (Literal)(* ... *)- Kommentar
- Version: 1.3.0 (Aktuell Production-Ready)
- Version: 1.3.1 (📋 Vorschlag für OOP & Vision Extensions)
- Datum: 22. Dezember 2025
- Status: Siehe Proposal-Dokumente für Details
Copyright (c) 2025 ThemisDB. Alle Rechte vorbehalten.