Semantic Divides
Table of Contents
1. Meet the Teams
- Inventory, Storefront, ML - disjoint systems
2. The Problem
- No shared understanding of "Product"
- Hard to integrate and analyze data
2.1. Product Entity
2.2. Inventory Team
2.3. Frontend Team
3. Key Questions
- What approaches help teams establish shared meaning?
- How to design an adaptable semantic integration layer?
- What tools exist for aligning schemas and ontologies?
4. Proposed Solution
- Build a semantic integration ontology
- Map local schemas into ontology
- Generate crosswalks between schemas
- Manage changes at integration layer
5. Approaches for Shared Meaning
- Cross-domain workshops
- Documentation of key terms
- Validation by domain experts
6. Adaptable Architecture
- Separate integration layer
- Well-defined interfaces
- Automated schema mapping
- Abstract over implementation details
7. Architectures
Ontology alignment, also known as ontology matching, is the process of determining correspondences between concepts in different ontologies.
7.1. Actor Architecture
In an Actor architecture, each actor is an independent entity with its own state and behavior. Actors communicate with each other by sending and receiving messages. In terms of ontology alignment, this could mean ensuring that the messages sent between actors conform to a shared ontology, so that they can be correctly interpreted by the receiving actor redhat.com.
7.2. Publish/Subscribe (Pub/Sub) Architecture
In a Pub/Sub architecture, publishers send messages to topics, and subscribers receive messages from topics they are interested in. Ontology alignment in this context could involve ensuring that the messages published to a topic, and the expectations of subscribers to that topic, are based on a shared understanding of the message structure and semantics solace.com.
7.3. Threads
Threads are a way of allowing a program to do multiple things at once. Each thread in a program deals with a separate task. Ontology alignment in this context could involve ensuring that the data shared between threads is based on a common ontology, so each thread interprets the data correctly.
7.4. Event-Driven Architectures
In event-driven architectures, the state changes in a system (events) trigger the execution of certain actions. Ontology alignment in this context could involve ensuring that the definition and interpretation of events, and the actions triggered by them, are based on a shared ontology cloud.google.com.
8. Tools for Alignment
- GraphQL federation
- R2RML, R2O, SPARQL
- OpenAPI Specification
- SHACL validation
9. Outcomes
- Unified understanding of "Product"
- Joined data analysis opportunities
- Reduced duplication of effort
- Insulated from downstream changes
10. Questions
10.2. How to design an adaptable semantic integration layer?
A separate integration layer can be designed that interfaces well with the existing systems. This layer will handle the ontology mapping and changes in schemas, abstracting these complexities from the implementation details of the existing systems. The integration layer can also include automated schema mapping to adapt to changes in local schemas, similar to how CKAN’s harvesting framework retrieves, normalizes, and converts dataset metadata guides.library.ucla.edu.
10.3. What tools exist for aligning schemas and ontologies?
SPARQL is a query language, not a mapping language — the W3C SPARQL 1.1 Overview (w3.org/TR/sparql11-overview) defines it as providing "languages and protocols to query and manipulate RDF graph content." R2RML (a W3C Recommendation, w3.org/TR/r2rml) and R2O (Barrasa et al., 2004) are the actual mapping languages that bridge relational databases and RDF; SPARQL is what you query the resulting RDF with. Corrected below.
There are several tools that can be used for aligning schemas and ontologies. GraphQL federation can be used to build a unified data graph by combining multiple APIs semantic-web-journal.net. R2RML and R2O are mapping languages that create a bridge between databases and the semantic web, while SPARQL is the query language used to query the resulting RDF link.springer.com. OpenAPI Specification can be used to standardize how APIs are described, helping in alignment guides.library.ucla.edu. Lastly, SHACL can be used for validating RDF graphs against a set of conditions guides.library.ucla.edu.
10.4. How to manage changes at the integration layer?
Changes at the integration layer can be managed by maintaining well-defined interfaces that allow the integration layer to communicate with the existing systems. Any changes in the ontology or schemas can be handled within the integration layer without affecting these interfaces. Automated schema mapping can be used to adapt to changes in local schemas and map them to the ontology.
11. Related
- Food Ontology and Semantic Web – one ontology, worked through
- Domain-Driven Design – bounded contexts as the same divide
- Production-Ready GraphQL APIs – GraphQL as the integration layer