Skip to contents

Flattens the nested relations list of a resource into individual named vectors with a relation.-prefix (e.g. relation.isAbove), and optionally replaces UUIDs with human-readable identifiers from the index.

Usage

fix_relations(resource, replace_uids = TRUE, index = NULL, uidlist = NULL)

Arguments

resource

One element from an idaifield_resources list.

replace_uids

logical. Should UUIDs be replaced with identifiers from index? Default is TRUE.

index

A data.frame as returned by make_index() or get_field_index(). Required if replace_uids = TRUE.

uidlist

DEPRECATED

Value

The resource with its relations list removed and replaced by flat named vectors, one per relation type.

Examples

if (FALSE) { # \dontrun{
index <- data.frame(
  identifier = c("name1", "name2"),
  UID = c("15754929-dd98-acfa-bfc2-016b4d5582fe",
          "bf06c7b0-dba0-dcfa-6d8e-3b3509fee5b6")
)
resource <- list(
  identifier = "res_1",
  relations = list(
    isRecordedIn = list("15754929-dd98-acfa-bfc2-016b4d5582fe"),
    liesWithin = list("bf06c7b0-dba0-dcfa-6d8e-3b3509fee5b6")
  )
)
fix_relations(resource, replace_uids = TRUE, index = index)
fix_relations(resource, replace_uids = FALSE)
} # }