Database Models =============== Overview -------- Database models are organized into domain-specific modules under ``ai4drpm.db.models``: * **auth/** - User and authentication models (User, RefreshToken) * **resources/** - Legal resources and provisions (LegalResource, LegalProvision, LegalProvisionClassification) * **analyses/** - Analysis types (DescriptionAnalysis, DataAnalysis, SolutionsAnalysis, InteroperabilityAnalysis, DataFlowsAnalysis) * **categories/** - Hierarchical category taxonomy * **classifiers/** - ML classifier metadata and training data * **prompts/** - LLM prompt templates * **pipelines/** - Haystack pipeline definitions and executions * **queries/** - SPARQL query storage * **tasks/** - Celery task tracking * **token_usage** - LLM token usage tracking Model Architecture ------------------ Base Model ~~~~~~~~~~ All models inherit from SQLAlchemy's declarative base defined in ``ai4drpm.db.base``. Relationships ~~~~~~~~~~~~~ Models use SQLAlchemy relationships for: * Foreign key relationships * One-to-many and many-to-one associations * Many-to-many through association tables * Lazy and eager loading configurations Association Tables ~~~~~~~~~~~~~~~~~~ Many-to-many relationships are managed through association tables defined alongside their related models. Model Domains ------------- .. toctree:: :maxdepth: 2 auth resources analyses categories classifiers prompts pipelines tasks