rr_resolve: Resolve links in registers

Description Usage Arguments Examples

Description

Registers can link to each other either by a field with the "register" property, or via CURIEs. See rr_key_links() and rr_curie_links() for more about that. These functions resolve those links.

When a link is resolve, the whole record is returned in a data frame. That's because the link doesn't specify a particular field of a record. For fields with cardinality = "n", several records might be returned. If the field is also datatype = "curie", then a list of single-row data frames will be returned, because each record could be from a different register with a different set of fields.

Resolve a key field

Resolve a CURIE field

Resolve all links in a register, both key and CURIE

Usage

1
2
3
4
5
6
7
8
9
rr_resolve_key_field(field_name, register, registers)

rr_resolve_curie_field(field_name, register, registers = NULL,
  targets = NULL)

rr_resolve_links(register, registers, targets = NULL)

## S3 method for class 'register'
rr_resolve_links(register, registers, targets = NULL)

Arguments

field_name

Character, the name of a field to resolve.

register

An object of class "register".

registers

A list of objects of class "register". Links will be sought among these registers.

targets

An optional data frame of indexed register records. This is constructed internally to resolve CURIE fields, but is expensive, so you can create your own as follows, and use it more than once.

targets <- registers purrr::map(rr_snapshot) purrr::map_dfr(rr_index)

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
registers <- rr_registers()

targets <-
  registers %>%
  purrr::map(rr_snapshot) %>%
  purrr::map_dfr(rr_index)

sg <- registers$`statistical-geography`
rr_links(sg)

rr_resolve_key_field("register", sg, registers)$data
rr_resolve_curie_field("organisation", sg, registers)$data
rr_resolve_curie_field("organisation", sg, targets = targets)$data
rr_resolve_links(sg, registers)$data
rr_resolve_links(sg, registers, targets = targets)$data

openregister/RegistersClientR documentation built on May 23, 2019, 9:03 p.m.