Scrydon
Ontology

Link types

Typed edges between object types — how relationships are projected at query time, not modelled as a separate store.

A link type defines a typed relationship between two object types: Customer → owns → Account, Transaction → involves → RegulatedEntity, RegulatedEntity → supervisedBy → Regulator.

Links are projected at query time from the underlying joining structure. The platform doesn't maintain a separate "edges" store you have to keep in sync — instead, each link type declares how its rows are derived from the source data.

Anatomy

FieldPurpose
idThe link type's identifier (e.g. owns).
fromThe source object type (Customer).
toThe target object type (Account).
cardinalityOne of one-to-one, one-to-many, many-to-many.
bindingHow rows are derived.

Three common patterns:

Joining column

A column on the source table holds the target's identity:

LinkType: "supervisedBy"
  from: RegulatedEntity
  to: Regulator
  cardinality: many-to-one
  binding:
    source: silver_table (regulated_entities)
    fromKey: id
    toKey: primary_regulator_id

Join table

A separate table holds (sourceId, targetId) pairs:

LinkType: "owns"
  from: Customer
  to: Account
  cardinality: many-to-many
  binding:
    source: silver_table (customers_accounts)
    fromKey: customer_id
    toKey: account_id

Cross-store

Source and target live in different stores (e.g. a managed table on one side, a knowledge-base page on the other):

LinkType: "documentedIn"
  from: RegulatedEntity
  to: KbPage
  cardinality: many-to-many
  binding:
    source: silver_table (entity_documents)
    fromKey: entity_id
    toKey: document_slug

Traversal

From a workflow or the analyst, traversing a link is a typed operation:

  • Traverse Ontology Links tool — given an instance ID and a link type, returns the connected instances (paginated, masking-applied).
  • Graph view — renders the projected graph for the selected instance and one hop out.

Both go through the same projection path; the result respects the caller's classification, masks, and row filters.

Performance

Link traversal is bounded by the underlying join. If the joining table is large, paginate.

  • The default page size is 100.
  • The maximum page size is 1,000.
  • Multi-hop traversal (e.g. "find me all customers of regulated entities supervised by regulator X") is supported but is a separate query against the context engine — the platform doesn't blindly walk arbitrary depths.
On this page

On this page