HasSkosRelations
SKOS hierarchical (semantic) relations between concepts.
All properties are nullable and traversal-only : they are never persisted
and never harvested. They are populated only on selected API responses (e.g.
/{key}/children, /descendants, /ancestors) to expose the concept tree
without storing it on the document.
Each relation accepts, interchangeably :
null— the relation is not loaded ;- a
string— a bare reference (e.g. an ArangoDB_key) ; - an associative
array— an AQL-projected concept, rebuildable vianew Concept( $array ); - a hydrated Concept (singular relations) or a list of them (plural
relations, hydrated element by element through
#[HydrateWith]).
Children are intentionally hydrated as the base Concept (not as a leaf subtype) : for a pure traversal payload, a node only needs to carry its key, name and code.
Tags
Table of Contents
Properties
- $broader : null|string|array<string|int, mixed>|Concept
- skos:broader — the direct parent concept (the narrower-to-broader link).
- $broaderTransitive : array<string|int, Concept>|string|null
- skos:broaderTransitive — every ancestor concept (the transitive closure of `broader`), typically ordered from the nearest parent to the root.
- $narrower : array<string|int, Concept>|string|null
- skos:narrower — the direct child concepts.
- $narrowerTransitive : array<string|int, Concept>|string|null
- skos:narrowerTransitive — every descendant concept (the transitive closure of `narrower`).
- $related : array<string|int, Concept>|string|null
- skos:related — associative (non-hierarchical) links to sibling concepts.
Properties
$broader
skos:broader — the direct parent concept (the narrower-to-broader link).
public
null|string|array<string|int, mixed>|Concept
$broader
$broaderTransitive
skos:broaderTransitive — every ancestor concept (the transitive closure of `broader`), typically ordered from the nearest parent to the root.
public
array<string|int, Concept>|string|null
$broaderTransitive
Attributes
- #[HydrateWith]
- \xyz\oihana\schema\thesaurus\Concept::class
$narrower
skos:narrower — the direct child concepts.
public
array<string|int, Concept>|string|null
$narrower
Attributes
- #[HydrateWith]
- \xyz\oihana\schema\thesaurus\Concept::class
$narrowerTransitive
skos:narrowerTransitive — every descendant concept (the transitive closure of `narrower`).
public
array<string|int, Concept>|string|null
$narrowerTransitive
Attributes
- #[HydrateWith]
- \xyz\oihana\schema\thesaurus\Concept::class
$related
skos:related — associative (non-hierarchical) links to sibling concepts.
public
array<string|int, Concept>|string|null
$related
Attributes
- #[HydrateWith]
- \xyz\oihana\schema\thesaurus\Concept::class