Sources and Adapters
Overview
The Knowledge Graph Manager (KGM) integrates business knowledge from many different systems.
To support this in a consistent and scalable way, it distinguishes between two core concepts:
- Sources — the systems where knowledge originates
- Source Adapters — the components that translate this knowledge into a format KGM can understand
This section explains what sources are, why adapters exist, and how KGM interacts with both.
What is a Source?
A source is any system in your organization that provides business concepts, definitions, or relationships.
Examples include:
- a business glossary in a data catalog
- spreadsheets or CSV files maintained by governance teams
- wiki pages describing taxonomies
- ontology servers used by enterprise architecture
- compliance or risk metadata repositories
- internal applications that expose conceptual entities
Sources may provide data in many different forms: APIs, files, exports, or query interfaces.
KGM does not require sources to follow any specific structure. Instead, each source must be connected through a Source Adapter that standardizes the content.
Why Source Adapters
Upstream systems represent knowledge differently.
Some output JSON, others produce CSV, some expose SPARQL, and others return proprietary data structures.
To avoid embedding system-specific logic inside KGM, each source is accessed through a Source Adapter.
A Source Adapter is responsible for:
- Extracting knowledge from a specific source
- Converting it into JSON-LD, a JSON format used to express RDF data
- Representing each fact as an RDF triple
- Assigning IRIs (Internationalized Resource Identifiers) to uniquely identify concepts
- Exposing a simple HTTP interface for KGM to retrieve or query this knowledge
This design allows KGM to remain clean, maintainable, and source-agnostic.
Types of Adapters
Source Adapters operate in one of two modes. Some adapters support both.
Ingestion Adapters
In ingestion mode, the adapter exports the entire conceptual content of the source as a JSON-LD file.
KGM periodically ingests the JSON-LD and converts it into RDF triples stored in its internal knowledge graph.
Examples of ingestion sources:
- a glossary in a catalog
- a CSV taxonomy
- a wiki-based hierarchy
- a compliance dictionary
Passthrough Adapters
In passthrough mode, KGM does not ingest or store any knowledge from the source.
Instead, the adapter forwards search or SPARQL requests directly to the upstream system and returns the live results.
Passthrough is used when:
- the source already provides a graph query API
- knowledge must always be retrieved in real time
- the organization prefers not to replicate the data
Hybrid Adapters
Some adapters provide both:
- JSON-LD export for ingestion, and
- query delegation for passthrough
This allows an organization to ingest certain knowledge while querying other aspects live.
Configuring Sources in KGM
Sources are defined in the application configuration and loaded at startup.
Each source configuration includes:
- a unique identifier
- the adapter url
- enabled modes (ingestion, passthrough, or both)
- for ingestion: the synchronization schedule
- optional security settings such as mTLS
What makes a good Adapter
A reliable Source Adapter should:
- assign stable IRIs to concepts
- produce valid JSON-LD
- represent relationships and attributes faithfully
- expose HTTP endpoints that follow consistent conventions
- handle updates from the source without breaking identifier stability
- follow organizational guidelines for naming and vocabulary
Adapters do not need to impose any particular ontology.
KGM accepts any RDF vocabularies, including SKOS, RDFS, OWL, and custom terms.
Learn more about sources and adapters in: How to develop and register Source Adapters