
Invert contextual grouping mappings into relational form
invert_contextual_grouping.RdConverts grouped contextual mappings into a long-form relational representation.
Value
A tibble with two columns:
- member
Contextually grouped resource.
- group
Contextual grouping identifier.
Details
invert_contextual_grouping() is useful for transforming
lightweight contextual grouping structures into tidy relational
tables suitable for:
joins;
contextual reconstruction;
Record Set projections;
provenance-aware grouping workflows;
semantic enrichment pipelines;
lightweight graph construction.
The function is intentionally operational and lightweight.
It does not:
enforce uniqueness;
validate ontology semantics;
construct graph objects;
distinguish authoritative from analytical groupings;
or infer hierarchical relations.
The function is conceptually related to as_value_key() but
produces a relational projection rather than a canonical named
vector representation.
This is particularly useful for one-to-many contextual mappings, where multiple resources belong to the same contextual grouping.
The resulting relational representation may later support:
contextual Record Set construction;
semantic overlay workflows;
lightweight provenance analysis;
many-to-many reconstruction logic.
Examples
record_sets <- list(
conceptualisation = c(
"D:/_package/alpha",
"D:/_markdown/alpha-methodology"
),
betaR = c(
"D:/_packages/beta",
"D:/_packages/prebeta"
)
)
invert_contextual_grouping(record_sets)
#> # A tibble: 4 × 2
#> group member
#> <chr> <chr>
#> 1 conceptualisation D:/_package/alpha
#> 2 conceptualisation D:/_markdown/alpha-methodology
#> 3 betaR D:/_packages/beta
#> 4 betaR D:/_packages/prebeta
# canonical roundtrip
as_value_key(
invert_contextual_grouping(record_sets)
)
#> conceptualisation conceptualisation
#> "D:/_package/alpha" "D:/_markdown/alpha-methodology"
#> betaR betaR
#> "D:/_packages/beta" "D:/_packages/prebeta"