Skip to main content

Relationship Types

A relationship type defines one kind of edge between concepts. It is the difference between “these two terms are somehow related” and “Churn Rate is calculatedFrom Cancelled Subscriptions, calculatedFrom is not symmetric, and it maps to om:calculatedFrom in RDF.” Relationship types are admin-governed and global. Manage them at Settings → Governance → Glossary Term Relations. Glossary Term Relations settings page

The List

Each row shows the type’s Name, Display Name, Category, Characteristics, Cross Glossary flag, Cardinality, and Color. System-defined types carry a lock icon: they can be updated but never deleted, and their edit and delete actions are disabled. GET /api/v1/glossaryTerms/relationTypes/usage returns each type with the number of relations currently using it, check this before removing a custom type.

Creating a Type

Click Add Relation Type and fill in the panel.

Identity

Category

Behavior

Characteristics are OWL property characteristics. They are not labels, reasoners and the inference engine act on them. Cardinality constrains how many concepts can sit on each end: one-to-one, one-to-many, many-to-one, many-to-many, or Custom with explicit source and target maxima (blank means unlimited). Cross-glossary controls whether the type can connect concepts belonging to different glossaries. Turn it off for types that only make sense inside a single model.

Semantics and Mapping

Lifecycle

The RDF predicate is the identity of this relationship in the knowledge graph and in every exported ontology. Changing it after edges exist changes what downstream consumers see. Pick it when you create the type.

Types Shipped by Default

Design Guidance

Every type is a decision modelers must make correctly on every edge. Three types used consistently beat twelve used approximately. Add a type when it unlocks a query you cannot express without it.
TRANSITIVE is what lets the transitive-closure rule answer “every ancestor” in one hop. SYMMETRIC is what stops the graph from storing both directions. Leaving these unset because you are unsure means the reasoner cannot help you.
Mapping to skos:broader rather than a bespoke om:isUnder makes your export intelligible to every SKOS-aware tool on the planet, for zero extra effort.
Set Replaced by and leave the old type in place. Deleting a type that edges still reference destroys information no one can reconstruct.

API

Next

Author (Edit mode)

Use these types to draw relations.

Reasoning & Validation

How characteristics drive inference.