Ontologies and registry datasets for Enterprise Knowledge Graphs (EKGs), maintained by the Enterprise Knowledge Graph Forum (EKGF).
The ontologies describe use cases and stories based on the EKG/Method, the artifacts used to implement an EKG, and their governance, publication and lifecycles.
The ontology and dataset sources are RDF in Turtle. Ontologies live in
ekgf-*.ttl at the repository root; registry datasets live in
dataset/.
Start with the ontology catalog to find the
vocabulary and source file for your use case. Each ontology declares
its preferred ekg- prefix and namespace using SHACL sh:declare,
sh:prefix and sh:namespace. These mappings are available as RDF
for consumers to reuse.
Authorities and organizations have separate registered UUID identities that persist through name and domain changes. Families are optional: artifacts can be governed and published directly. Versions and approvals belong to individual releases.
The Data Product Ontology is maintained in the separate EKGF/dprod repository.
-
Ontology reference: the generated editor's draft, with a PDF download and documentation graph.
-
Generate the HTML and PDF ontology reference: build the family directly from this checkout with GraphArch.
-
Documentation coverage and modeling review: annotation coverage, corrected labels, and model decisions requiring review.
-
Ontology catalog and prefixes: all ontologies, their preferred prefixes, namespace conventions and SHACL declarations.
-
Data element concepts: reusable meanings, business and technical manifestations, compound constructs and the relationship to ISO/IEC 11179.
-
Story concept usages: typed input, output, and dependent usages, ownership, input defaults, validation and migration.
-
Story stereotypes: extensible primary-purpose classifications, independent of implementation technology.
-
Shape collections and validation graphs: explicit graph inputs, separate collection and graph identities, and executable examples.
-
Raw data capture: captured literals, original source text, explicit source nulls, physical source locations, validation and migration.
-
Authorities and organizations: registered identities, Commons roles, organization categories and artifact references.
-
Families and artifact recognition: optional membership, IRI and source path matching, conflict handling and the reference matcher.
-
Publication, releases and approvals: family or artifact scopes, versioned releases, approval records and SHACL validation.
-
Lifecycles and states: reusable lifecycles, class defaults and explicit state assignments.
The Turtle files are the registry. Reuse existing entries when adding references to an authority, organization, family or artifact.
- Authorities: roles that govern artifacts, such as those exercised by W3C, OMG and EKGF.
- Organizations: organizations that play authority roles or host their communities.
- Families: optional groupings of artifacts, such as FIBO, and their recognition prefixes.
- Lifecycles: reusable lifecycles, phases and states.
- Lifecycle bindings: default lifecycle assignments for members of a class.
- Local artifact references: registered references to the ontologies in this repository.
From the repository root, create a virtual environment outside the repository, install the test dependencies and run the tests:
python3 -m venv ../ekg-ontologies-venv
source ../ekg-ontologies-venv/bin/activate
python3 -m pip install -r requirements-test.txt
python3 -B -m unittest discover -s tests -v
git diff --checkThe tests check registered identities, references, Commons
role semantics, namespace declarations, family recognition and
publication constraints, including publication without families.
They also check documentation coverage for locally defined named terms and
ontology headers, data element concept inference, manifestation
separation, class disjointness, lifecycle bindings, and exactly one owning
story per implementation, including validation of versioned snapshots.
Story-usage checks cover role inference, one owner and concept per usage,
shared meanings, input flags and defaults, and rejection of retired vocabulary.
Story-classification checks cover built-in and custom stereotypes, metadata,
optionality, cardinality, and independence from implementation technology.
Template checks cover source languages, renderer support, separation of
template documents from native SPARQL, and RDF-aware value substitution.
Raw-data checks cover literal content, source text, explicit nulls, physical
columns, row/column view consistency, and rejection of incomplete or conflicting
value occurrences and memberships.
They also validate shapeset membership, purpose annotations, and coverage of
all entry and nested shapes, including the shape-metadata validators themselves.
Graph-link checks cover endpoint roles, separate identities, shared and multiple
graph references, local module bindings, and actual validation using a named graph.
They run offline using the relevant Commons 1.3 axioms in a test
fixture. Its .ttl.txt suffix keeps it out of RDF file discovery
when consumers load this repository.
Use the reference matcher to recognize a family from an artifact IRI, source path or graph IRI. See publication validation for the command to check release and approval records with SHACL.
The Publish ontology reference
workflow builds the HTML and PDF reference and a restorable documentation KG
when ontology, registry, documentation or publication sources change. Pull
requests build the reference for review; successful builds on main deploy it
to GitHub Pages. It can also
be started manually from the Actions tab.
The workflow installs a pinned, verified GraphArch binary and discovers the publication settings in this repository. It requires no Rust build and does not publish an ontology release or change its approval status. See the reference generation guide for details.
The publication build does not execute the complete ontology validation suite. Run the checks in Validation locally before submitting changes.
See LICENSE.