Oihana PHP System

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 via new 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
see
http://www.w3.org/2004/02/skos/core#broader
http://www.w3.org/2004/02/skos/core#narrower
http://www.w3.org/2004/02/skos/core#broaderTransitive
http://www.w3.org/2004/02/skos/core#narrowerTransitive
http://www.w3.org/2004/02/skos/core#related
author

Marc Alcaraz (ekameleon)

since
1.1.1

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

skos:related — associative (non-hierarchical) links to sibling concepts.

public array<string|int, Concept>|string|null $related
#[HydrateWith]
\xyz\oihana\schema\thesaurus\Concept::class
On this page

Search results