ODIN is an open-source data catalog built on W3C standards. Business semantics, end-to-end lineage, AI-powered discovery, and accountable data ownership — designed for enterprises where data governance isn't optional.
The Problem
Most catalogs are glorified spreadsheets with a search bar. They document data, but don't understand it.
Existing catalogs find the table. They don't tell you what "TRADE_AMT" actually means, whether it's gross or net, or what currency it's in.
Lineage is either absent, stale, or requires manual curation. When a pipeline breaks, nobody knows what downstream reports are affected.
Regulatory requirements like BCBS 239, FRTB, and GDPR demand documented lineage and semantic consistency. Most orgs scramble at audit time.
Capabilities
ODIN treats metadata as a first-class concern — standards-based, semantically rich, and lineage-aware from day one.
Map every data element to a controlled vocabulary concept using SKOS matching properties. Ship with schema.org, FIBO FND/FBC/SEC/MD, SKOS, and Dublin Core pre-loaded. Add your own domain ontology in minutes.
Ingest lineage from any OpenLineage-compatible tool (Spark, dbt, Airflow). Parse SQL DDL across Snowflake, Teradata, and Hive dialects. Traverse multi-hop graphs with Apache AGE — upstream, downstream, and column-level. Expand dataset nodes to see logical data elements inline; hover an element to highlight its upstream edge path.
Model data products with the DPROD standard. Track lifecycle stages from Ideation through Consume. Define input/output ports, link distributions, and attach access policies — all through a structured API.
Ask questions in plain English. ODIN uses retrieval-augmented generation over your full metadata corpus — descriptions, logical elements, and vocabulary mappings. Runs locally on Ollama or via OpenAI. No data leaves your perimeter.
Connect to Snowflake, AWS Glue, Teradata, or any DCAT HTTP endpoint. Scheduled Spring Batch jobs crawl schemas, infer types, publish events to Kafka, and auto-generate draft logical models from physical columns.
Full-text and semantic search over OpenSearch. Filter by entity type, lifecycle, vocabulary concepts, FIBO ontology terms, or whether a dataset has lineage and a published logical model. Autocomplete suggestions in milliseconds.
Assign accountable owners to every dataset with a structured role model — Administrator, Data Owner, Data Steward, and Data Governance Officer. Ownership transfers go through a proposal-and-approval workflow so accountability is never lost. A governance dashboard surfaces pending tasks, outstanding proposals, and a full activity feed for each user.
Beyond natural-language search, ODIN's AI layer actively improves metadata quality. For every logical model element, the AI service suggests a data classification level (Public through Restricted), a plain-English business description, up to five SKOS vocabulary concept mappings from FIBO and schema.org, and PII/direct-identifier indicators — detected using W3C DPV-PD vocabulary IRIs and field name heuristics. Data owners review and accept or reject each suggestion individually or in bulk. Vocabulary concept chips are individually selectable; PII flags use the same owner-gated accept/reject flow.
For higher-quality enrichment, ODIN runs a two-agent proposer/reviewer loop over a logical model. A proposer drafts a description, classification, vocabulary mappings, and PII flags for every element; a reviewer then audits that draft against the dataset's full DCAT context and returns a verdict — APPROVE or REJECT, with per-issue comments. The proposer revises on each rejection, up to ten iterations, and a long-term review memory carries lessons from past runs into new ones to speed convergence. Progress streams live over Server-Sent Events; the converged result is persisted to the model's elements for the data owner to accept or reject.
Once elements are classified and vocabulary-mapped, ODIN automatically derives a machine-readable
ODRL
terms-of-use policy for every dataset. The access level — OPEN, INTERNAL_ONLY, RESTRICTED, or
HIGHLY_RESTRICTED — follows directly from the most sensitive element classification. Applicable regulatory
frameworks (MiFID II, EMIR, GDPR, Basel III, FCRA) are inferred from FIBO vocabulary
mappings, dataset keywords, and PII element signals — when any element is flagged as personal data or a
direct identifier, the HAS_PII_ELEMENTS signal fires and POLICY_STRICT rules are automatically
added. Consumers see terms in plain English; data owners accept and lock the policy with one click. A
dedicated policy-service then enforces those policies at request time using the ODRE
algorithm — returning a structured UsageDecision (granted / denied / delegated) rather than
leaving enforcement to convention.
Built on Open Standards
ODIN's metamodel is grounded in W3C, OMG, and FIBO standards. Your metadata is portable by design.
UsageDecision — granted, denied, or delegated —
rather than leaving interpretation to each consumer. ODIN's policy-service implements A-Level (static)
and B1-Level (variable injection) enforcement.Data Lineage
ODIN builds a live graph of your data pipelines — automatically. SQL DDL parsing extracts lineage from CREATE VIEW statements without touching your pipelines.
Use Case
ODIN ships with the Financial Industry Business Ontology (FIBO) pre-loaded. Map your trade and risk data to an industry-standard semantic layer in minutes.
Documented lineage from source systems to regulatory reports. Automated tracing of every data element that flows into capital calculations.
Column-level lineage from market data feeds through risk positions to SA capital charges. Auditable and reproducible.
Map ISIN, LEI, CUSIP, and monetary amounts to FIBO concepts. Eliminate the ambiguity between source systems with a canonical semantic layer.
Publish governed data products with defined SLAs, access policies, and lineage. Consumers find what they need; owners control who gets it.
Vocabulary & AI
LLMs can search for tables. They cannot tell you whether TRADE_AMT
is gross or net, in USD or EUR, pre- or post-netting. Standard semantic vocabularies — schema.org and FIBO —
close that gap. When every data element carries a machine-readable concept IRI, AI stops guessing and starts
reasoning.
RAG pipelines retrieve chunks of text. Without semantic grounding, a question about "settlement amount"
returns every table that mentions the word "amount." SKOS exactMatch bindings to
fibo-fnd-acc-cur:MonetaryAmount make retrieval precise — the model finds the right element, not
the most popular one.
schema.org and FIBO IRIs appear extensively in the training corpora of every major LLM. Annotating a data
element with https://schema.org/price or fibo-md-temx-ex:MarketPrice puts it in
semantic proximity to everything the model already understands about that concept — zero prompt engineering
required.
As AI moves from answering questions to taking actions — writing pipelines, generating reports, triggering
workflows — it needs to know exactly what data it is handling. A vocabulary mapping is a contract: this
column contains a LegalEntityIdentifier, not "some kind of ID." Agents that operate on
contracts are auditable; agents that operate on descriptions are not.
ODIN's vocabulary mappings, logical models, and lineage edges form a traversable knowledge graph. AI agents don't just search it — they walk it. From a regulatory report, upstream through lineage to source systems, sideways through vocabulary to equivalent concepts in other datasets. That kind of reasoning is only possible when meaning is explicit.
The Financial Industry Business Ontology is the only semantic vocabulary built specifically for financial data with regulatory intent. When an AI model encounters a FIBO-annotated dataset, it has access to the same ontological structure that regulators, risk managers, and auditors use to describe the same concepts. No translation layer. No interpretation gap.
Different source systems use different column names for the same concept: trade_ccy,
SETTL_CURR, SettlementCurrency. All three mapped to
fibo-fnd-acc-cur:Currency with exactMatch become interchangeable to any AI agent —
without moving a byte of data. Semantic equivalence is free once vocabulary mappings exist.
The bottom line: every major AI lab is investing in structured data and knowledge graphs because they have discovered the same thing — unstructured text retrieval has a ceiling. The organisations that will get the most from AI in the next decade are the ones who spent the last decade building semantic structure into their data. ODIN gives you that structure today, on top of the data you already have.
Architecture
7 microservices. Deploy to Kubernetes, Docker Compose, or your cloud of choice. No managed service required.
DCAT/DPROD/CSV-W metadata. Logical models. Vocabulary mappings. Kafka event publisher.
Spring Batch crawlers for Snowflake, Glue, Teradata, DCAT HTTP. Quartz scheduler.
OpenLineage ingestion. DDL parsing via Apache Calcite. Apache AGE Cypher graph queries.
OpenSearch indexing with FIBO facets. Autocomplete. Full-text + semantic hybrid search.
Spring AI RAG pipeline. pgvector embeddings. Ollama (local) or OpenAI. SSE chat streaming.
Keycloak OAuth2/OIDC. Role-based access (Administrator, Data Owner, Steward, Governance). User management with Keycloak sync. API keys. Multi-tenant isolation.
ODRL policy registry + ODRE enforcement engine (PDP). Evaluates A-Level and B1-Level policies at request time. Kafka-driven sync from dataset changes. Evaluation audit log.
Metadata, harvest, identity, and AI conversation stores.
Lineage graph on PostgreSQL. Cypher queries. No separate graph DB.
Embedding vectors for RAG. IVFFlat index. 768 dimensions.
Full-text and k-NN vector search. FIBO concept facets.
Event backbone. KRaft mode. Log-compacted entity topics.
Harvest snapshots, DDL files, DCAT exports. S3-compatible.
API-First
Every capability in ODIN is available over a documented REST API. The bundled producer and consumer interfaces show what's possible — they're a starting point, not a constraint.
What teams build on top of ODIN
A branded, role-tailored portal that surfaces only the datasets and products relevant to each business unit — finance sees FIBO-annotated instruments, operations sees operational tables.
Bring lineage and schema context directly into VS Code, JupyterLab, or DataGrip. Hover over a table name to see its logical model, upstream sources, and vocabulary annotations inline.
Let analysts ask "who owns the trade positions dataset?" or "what feeds the risk report?" in the tools they already use. The AI API streams back a grounded, cited answer.
A consumer-facing storefront where data products can be browsed, subscribed to, and access-requested — with lifecycle status, SLA, and distribution format surfaced from the API.
"The data governance tools we use today were designed for a world where having metadata was enough. ODIN is designed for a world where understanding metadata is the only thing that matters."
Early Access Program
We're working with a small group of data engineering and governance teams across financial services, healthcare, and enterprise technology. Alpha participants get direct access to the core team, influence the roadmap, and help shape the product before public launch.