Skip to contents

[Stable]

One row per (organizing unit, framework) pair across every framework in the corpus. Queries on the cross-framework abstract type cybed:OrganizingUnit, which every framework's top-level enumerated unit asserts (work roles, work profiles, skills, grade-band x sub-concept cells, level x concept cells, Knowledge Areas, competence areas). Use this helper for cross-framework parent-level analysis. Use role_framework_bindings() when the question is workforce-specific (NICE work roles, DCWF work roles, ENISA ECSF profiles only).

Units without a cybed:partOf triple, or whose partOf target is not typed cybed:Framework, are excluded.

Usage

organizing_unit_framework_bindings(rdf)

Arguments

rdf

An rdf object.

Value

A tibble with columns unit, unit_name, framework, framework_name, framework_slug (added v0.4.0, a stable join key).

Note

The framework column holds the framework's full URI. Avoid naming a local variable or function parameter framework in code that filters or mutates this tibble – dplyr's data masking silently resolves a bare framework reference inside filter()/mutate() to this COLUMN rather than your same-named variable, with no error and no warning, only a wrong (often zero-row) result surfacing later. Confirmed 2026-08-14: a helper written as function(framework, ...) filter(units, str_detect(framework_name, framework)) silently returned zero rows every time.

Examples

if (FALSE) { # \dontrun{
rdf <- load_combined_ntriples_graph()
organizing_unit_framework_bindings(rdf)
} # }