Semantic model data flow
In NexusOne, the Semantic Models feature interacts with three core NexusOne apps, DataHub, CrewAI, and Trino. The following list describes the data flow from a client to NexusOne:- You ingest datasets into NexusOne and categorize them into a DataHub domain.
- You select datasets from that DataHub domain.
- NexusOne fetches the domain metadata from DataHub.
- CrewAI agents analyze the metadata and generate semantic models that define a business-friendly abstraction layer.
- NexusOne compiles the semantic model into SQL and stores it as a draft for review.
- An administrator reviews the generated SQL draft and either approves or rejects it.
- If approved, then NexusOne deploys the approved models as Trino materialized views.
- Optional: NexusOne registers the view in DataHub with lineage.
- Optional: You schedule the view for a refresh using Airflow.
Key features
The following features highlight the core features of the NexusOne Semantic Models feature:- Audit trail: Complete tracking of all semantic model changes.
- Automated semantic model generation: CrewAI agents reduce manual work by automatically analyzing metadata and generating semantic models.
- Domain-scoped operations: Work within DataHub domains to keep data organized and context-aware for the AI.
- Human-in-the-loop approvals: Validate semantic models before deploying to production to maintain accuracy and control.
- Materialized views: Deploy semantic models as materialized views in Trino for consistently fast queries.
- User-level execution: Run queries under an authenticated user with permission boundaries.
Semantic model states
A semantic model has the following states:- Draft: Initial state after configuring a semantic model
- Pending review: Submitted and waiting for review and approval
- Approved: Reviewed and approved for deployment
- Deployed: Live and available for use
- Archived: Deleted and no longer active
- Failed: Error occurred and needs fixing
Security and access control
When using the Semantic Models feature, you can assign any of the following Keycloak roles to a user:nx1_semantic_adminnx1_semantic_modellernx1_semantic_user
| Operation | nx1_semantic_user | nx1_semantic_modeller | nx1_semantic_admin |
|---|---|---|---|
| List domains | ✅ | ✅ | ✅ |
| View deployed semantic models | ✅ | ✅ | ✅ |
| View domain datasets | ❌ | ✅ | ✅ |
| Create a semantic model | ❌ | ✅ | ✅ |
| Edit a semantic model | ❌ | ✅ | ✅ |
| Submit a semantic model draft for review | ❌ | ✅ | ✅ |
| Preview SQL | ❌ | ✅ | ✅ |
| Generate a semantic model using AI | ❌ | ✅ | ✅ |
| Approve/reject a semantic model | ❌ | ❌ | ✅ |
| Deploy/undeploy a semantic model | ❌ | ❌ | ✅ |
| Refresh views | ❌ | ✅ | ✅ |
| View audit logs | ❌ | ✅ | ✅ |
Use cases
These examples show how different industries can use NexusOne’s Semantic Models feature:- Financial services: Define business-friendly metrics like revenue, risk, and compliance reporting for financial reports using shared semantic models.
- Education: Standardize student metrics such as enrollment, attendance, and performance across multiple data sources using shared semantic models.
Additional resources
- For more information about data ingestion, refer to Ingest Overview.
- For more information about an alternative version of this feature that only produces a SQL command for data insights, refer to Ask Overview.