Vendor-neutral OWL/SHACL semantic layer for enterprise AI platforms
Enterprise ontology features are increasingly bundled into proprietary stacks—Palantir Foundry and Microsoft Fabric IQ ship rich models, but teams get locked into vendor-specific object APIs, action types, and lakehouse quirks. Agent layers (MCP, A2A) need a stable semantic contract that survives platform churn.
┌──────────────────────────────┐
│ Agents (MCP / A2A / custom) │
└───────────────┬──────────────┘
│
┌───────────────▼──────────────┐
│ OWL Portability Layer │
│ OWL + SHACL (pyshacl/RDFS) │
└───────────────┬──────────────┘
│
┌─────────┬─────────┬─────────┬────────┼────────┬─────────┬─────────┐
│ │ │ │ │ │ │ │
┌──▼────┐ ┌──▼──────┐ ┌──▼────┐ ┌──▼──────┐ ┌──▼─────┐ ┌──▼────┐ ┌──▼─────┐
│ IBM │ │Dataverse│ │Fabric │ │AgentCore│ │Service │ │Google │ │Palantir│
│watsonx│ │D365/M365│ │ IQ │ │ (AWS) │ │ Now │ │Catalog│ │Foundry │
└───────┘ └─────────┘ └───────┘ └─────────┘ └────────┘ └───────┘ └────────┘
│
┌────────▼────────┐
│ MCP (JSON-RPC) │ ← vendor-free path
└─────────────────┘
pip install -r requirements.txt
python examples/demo_validation.py- Ontology first: Domain classes and properties live in
ontologies/*.ttlas the single semantic source of truth. - SHACL as policy: Constraints (including SPARQL-based rules) enforce approvals and thresholds without scattering logic in adapters.
- Dict → RDF: Payloads are lifted to RDF for validation, then passed unchanged to adapters when validation passes.
- Pluggable targets: Register
PalantirFoundryAdapter,FabricIQAdapter, orMCPAdapterunder short keys; swaptarget_platformonly.
| Platform | Adapter | Status | Governance Model |
|---|---|---|---|
| Palantir Foundry | PalantirFoundryAdapter |
✅ Live | Proprietary OSDK |
| Microsoft Fabric IQ | FabricIQAdapter |
✅ Live | Semantic contracts |
| Microsoft Dataverse | DataverseSemanticAdapter |
✅ Live | Vector index + Skills |
| Google Knowledge Catalog | GoogleKnowledgeCatalogAdapter |
✅ Live | schema.org + RDF |
| ServiceNow Context Engine | ServiceNowContextEngineAdapter |
✅ Live | CMDB Knowledge Graph |
| AWS AgentCore | AgentCoreSemanticAdapter |
✅ Live | Cedar + OWL/SHACL |
| IBM watsonx.data Context | IBMWatsonxContextAdapter |
✅ Live | Runtime governance + OWL/SHACL |
All adapters work in simulation mode — zero platform credentials needed.
| Dimension | Google Knowledge Catalog | AWS AgentCore | IBM watsonx.data |
|---|---|---|---|
| Governance model | Retrieval-first | Cedar (access control) | Runtime enforcement |
| Cross-platform | ❌ | Gateway only | Federated ✅ |
| Open standards | RDF/JSON-LD ✅ | Cedar (open source) ✅ | Claimed ✅ |
| OWL support | ❌ | ❌ | ❌ |
| SHACL support | ❌ | ❌ | ❌ |
| Production status | GA | GA | Private preview |
See docs/ibm_vs_google_vs_aws.md for full analysis.
Microsoft offers two complementary semantic layers. The OWL Portability Layer includes adapters for both:
| Layer | Adapter | Data Estate | Entry Barrier |
|---|---|---|---|
| Fabric IQ | FabricIQAdapter |
OneLake / DirectLake | Requires Fabric migration |
| Dataverse | DataverseSemanticAdapter |
Dynamics 365, Power Apps, M365 | Already deployed at scale |
See docs/dataverse_vs_fabric_iq.md for the full comparison.
AWS AgentCore ships Cedar for access control governance. The
AgentCoreSemanticAdapter adds the OWL/SHACL domain constraint
layer that Cedar cannot express.
| Question | Cedar (AgentCore Gateway) | OWL/SHACL (This Layer) |
|---|---|---|
| Is this principal permitted to call this tool? | ✅ | — |
| Does this call violate domain business rules? | — | ✅ |
| Does this work cross-platform? | Gateway only | ✅ All platforms |
# Cedar + OWL/SHACL parallel governance demo (zero credentials)
python examples/demo_agentcore_parallel_governance.py
# Five-platform portability demo (simulation mode)
python examples/demo_five_platform_portability.py
# Dataverse + OWL/SHACL bridge demo (zero credentials)
python examples/demo_dataverse_bridge.py
# Six-platform portability demo (simulation mode)
python examples/demo_six_platform_portability.py| Validator | Use Case | Demo |
|---|---|---|
CrossPlatformOffboardingValidator |
Employee offboarding across ServiceNow + Salesforce + Microsoft | examples/demo_offboarding_validation.py |
python examples/demo_validation.py
python examples/demo_portability.py
python examples/demo_migration_check.py
# Cross-platform offboarding validation (zero credentials)
python examples/demo_offboarding_validation.py
# Four-platform portability demo (simulation mode)
python examples/demo_four_platform_portability.py
# Dataverse + OWL/SHACL bridge demo (zero credentials)
python examples/demo_dataverse_bridge.py
# Six-platform portability demo (simulation mode)
python examples/demo_six_platform_portability.py
# IBM watsonx + OWL/SHACL governance demo (zero credentials)
python examples/demo_ibm_watsonx_governance.py
# Seven-platform portability demo (simulation mode)
python examples/demo_seven_platform_portability.pyAgentCore demos are listed under Cedar + OWL/SHACL above.
- Microsoft Just Shipped Two Semantic Layers. One of Them Is Quietly More Powerful Than Fabric IQ [MEDIUM ARTICLE LINK — add when published]
- Google vs Microsoft vs Palantir: The Enterprise Ontology Race and the Layer All Three Are Missing
- ServiceNow vs Microsoft vs Salesforce: The Semantic Layer War (and the OWL Layer None of Them Ship)
- AWS Built AgentCore With 6 Enterprise Layers. The Semantic Authority Layer Isn't One of Them
- IBM watsonx vs Google Knowledge Catalog vs AWS AgentCore: The Semantic Layer Race Just Got a New Contender — and a New Gap [MEDIUM ARTICLE LINK — add when published]
Part of the OntoArc enterprise ontology toolkit.