The Enterprise Semantic Layer
Four platforms. One governed set of numbers.
Connect Salesforce Data 360, Snowflake, Databricks and Palantir AIP with a read-only credential you issue.
Connect a warehouse without giving up write access.
The connectors contain no write method at all, so a read-only credential is all TabTotal ever needs. Whatever your role cannot see, Boreon cannot see either.
Your warehouse keeps its own vocabulary.
Each catalogue names things its own way, and Boreon’s TabTotal reads every one of them.
| Warehouse | Governed catalogue | Define a metric once | The question surface it feeds |
|---|---|---|---|
| Salesforce | Data 360 | Semantic model | Tableau Semantics |
| Databricks | Unity Catalog | Metric view | Genie |
| Snowflake | Horizon Catalog | Semantic view | Cortex Analyst |
| Palantir | AIP Ontology | Object type and Function | AIP Assistant |
- Salesforce Data 360
- Snowflake
- Databricks
- Palantir AIP Ontology
One definition, and every answer agrees.
Boreon’s TabTotal keeps its own copy of your definition and writes the query from it, using your identifiers.
The definition TabTotal answers from is the same one that feeds Tableau Semantics, Genie and Cortex Analyst. One definition, one figure, whether you read it in a conversation, on a dashboard or in the warehouse.
Every answer uses your certified numbers.
You define a metric once in Salesforce Data 360, Snowflake, Databricks or the Palantir AIP Ontology. The AI names it; TabTotal writes the SQL from its own stored copy of your definition, using your identifiers. The number in a conversation is the number in your warehouse.
Ontology
One of the four has no tables at all.
Databricks and Snowflake publish schemas and tables. Palantir Foundry publishes an ontology, and it answers the same contract.
An object type carries typed properties where a table carries columns, and link types are the join graph the platform itself declares rather than one inferred from column names. Your inventory reads as ontology and object type where the others read as schema and table. The same field record, the same approval queue and the same governed query all apply, with no special case.
A measure has to be declared, never guessed
A metric view states which of its members is a measure. An ontology does not. It publishes typed properties and lets any caller aggregate any numeric one. Numeric is not the same as measurable. One live object type carries fifty-one properties, twenty of them numeric, and among those numbers are a latitude and a longitude. Summing either means nothing. A measure is read only from a Function whose declared output is numeric, and an ontology with no Functions reports its dimensions and an empty measure list rather than inventing one.
It starts from the work you have already done.
Your names. Your layers. Your taxonomy.
A layer name comes from your own object names. If you have meta.distributions, it is in the meta layer. If you have gold.sem_law, it is in gold. TabTotal inherits whatever your warehouse says. The words on screen are the words your team already uses in meetings.
- Tables and views
- Columns
- Comments
- Tags
- Primary and foreign keys
- Grants
Every field carries its own record.
Its meaning, its owner, its quality rules, and the physical column underneath.
- 01Name
The field as your people ask for it.
- 02Physical source
The table and column it actually comes from.
- 03Constraints
The keys and rules your warehouse already enforces.
- 04Quality rules
The checks that decide whether a value is acceptable.
- 05Business description
What it means to the business, in your own words.
- 06Metric definition
The calculation, held once and reused everywhere.
- 07Owner
The person accountable for it.
- 08Steward
The person who looks after it day to day.
- 09PII and SOX decision
Whether it is personal or in financial scope, recorded as a decision.
The same entity in several platforms is one object.
Fields union by name, and the merged object remembers every warehouse it came from.
Where any two warehouses disagree about that object, the difference is raised as a governance finding alongside the rest, with the pair that differs named. Warehouses that agree become something you can prove.
Each warehouse is judged on its own evidence.
A sync reports only on the warehouse it read. Refreshing Data 360 tells you about Data 360, and your Snowflake and Databricks objects are left exactly as your team last approved them. A routine refresh reads as a routine refresh.
Your layer moves when you say so.
Warehouses drift. Every later sync arrives as a proposal, not a fact.
The first sync brings your catalogue in
Your objects arrive as they stand today. Nothing is rewritten and nothing is renamed on the way through.
Every later sync parks its changes
A refresh does not walk into your layer on its own. What it found waits for a person, held to one side.
You see the before and the after
Each parked change records a content hash on both sides. What moved is a matter of record.
You approve one warehouse at a time
Each warehouse is judged on its own evidence. A routine refresh of one warehouse reads as exactly that.
Your decision joins the ledger
The approval is written into a hash-chained record, which is what your auditor will want to see next year.
Six measures, and the workings behind the score.
The layer reports on itself.
- Objects
- Standard Fields
- Translation
- Semantics
- Data Quality
- Governance
Data quality, with all five dimensions on show.
- Documented
- Ruled
- Classified
- Owned
- Conformant
The five are averaged evenly, because there is no evidence-based reason to rank one above another and inventing weights would be false precision. All five are shown alongside the total, and the weakest one is the dimension to improve. An empty layer scores zero.
A score you can act on, with its workings shown.
Data quality is documented, ruled, classified, owned and conformant, averaged evenly and always shown alongside the total. You can see which dimension to improve.
You decide what the layer can see.
Your warehouse grants are the boundary, and they hold on every surface at once.
A restricted schema stays out of the layer in all three places it could otherwise appear: when a term is resolved, when the AI is given context, and when someone browses the environment on screen. There is one answer to whether something may be seen, and it holds in all three.
Underneath that sits your own warehouse role. TabTotal reaches exactly as far as the read-only credential you gave it, and no further. What you granted is what it sees, and you can revoke it in your warehouse without asking us.
Point it at your own catalogue.
Connect a read-only credential and see what your warehouse already knows about itself.