rr_resolve.Rd
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
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 register rr_resolve_links(register, registers, targets = NULL)
field_name | Character, the name of a field to resolve. |
---|---|
register | An object of class |
registers | A list of objects of class |
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) |
registers <- rr_registers() targets <- registers %>% purrr::map(rr_snapshot) %>% purrr::map_dfr(rr_index) sg <- registers$`statistical-geography` rr_links(sg)#> # A tibble: 5 x 4 #> from to type field #> <chr> <chr> <chr> <chr> #> 1 statistical-geography register key register #> 2 statistical-geography country curie area #> 3 statistical-geography territory curie area #> 4 statistical-geography government-organisation curie organisation #> 5 statistical-geography local-authority-eng curie organisationrr_resolve_key_field("register", sg, registers)$data#> # A tibble: 175 x 12 #> `entry-number` type key timestamp hash `statistical-ge… name #> <int> <chr> <chr> <dttm> <chr> <chr> <chr> #> 1 11 user E92 2017-08-04 15:14:55 97d10… E92 Coun… #> 2 12 user E00 2017-08-04 15:14:55 e57ac… E00 Outp… #> 3 13 user E01 2017-08-04 15:14:55 e6602… E01 Supe… #> 4 14 user E02 2017-08-04 15:14:55 8c1f8… E02 Supe… #> 5 15 user E04 2017-08-04 15:14:55 3f07b… E04 Civi… #> 6 16 user E05 2017-08-04 15:14:55 f2cb3… E05 Elec… #> 7 17 user E06 2017-08-04 15:14:55 2c8db… E06 Unit… #> 8 18 user E07 2017-08-04 15:14:55 6cd1d… E07 Non-… #> 9 19 user E08 2017-08-04 15:14:55 e40dc… E08 Metr… #> 10 20 user E09 2017-08-04 15:14:55 f4ff1… E09 Lond… #> # ... with 165 more rows, and 5 more variables: area <list>, #> # organisation <chr>, register <list>, `start-date` <chr>, `end-date` <chr>rr_resolve_curie_field("organisation", sg, registers)$data#> # A tibble: 175 x 12 #> `entry-number` type key timestamp hash `statistical-ge… name #> <int> <chr> <chr> <dttm> <chr> <chr> <chr> #> 1 11 user E92 2017-08-04 15:14:55 97d10… E92 Coun… #> 2 12 user E00 2017-08-04 15:14:55 e57ac… E00 Outp… #> 3 13 user E01 2017-08-04 15:14:55 e6602… E01 Supe… #> 4 14 user E02 2017-08-04 15:14:55 8c1f8… E02 Supe… #> 5 15 user E04 2017-08-04 15:14:55 3f07b… E04 Civi… #> 6 16 user E05 2017-08-04 15:14:55 f2cb3… E05 Elec… #> 7 17 user E06 2017-08-04 15:14:55 2c8db… E06 Unit… #> 8 18 user E07 2017-08-04 15:14:55 6cd1d… E07 Non-… #> 9 19 user E08 2017-08-04 15:14:55 e40dc… E08 Metr… #> 10 20 user E09 2017-08-04 15:14:55 f4ff1… E09 Lond… #> # ... with 165 more rows, and 5 more variables: area <list>, #> # organisation <list>, register <chr>, `start-date` <chr>, `end-date` <chr>rr_resolve_curie_field("organisation", sg, targets = targets)$data#> # A tibble: 175 x 12 #> `entry-number` type key timestamp hash `statistical-ge… name #> <int> <chr> <chr> <dttm> <chr> <chr> <chr> #> 1 11 user E92 2017-08-04 15:14:55 97d10… E92 Coun… #> 2 12 user E00 2017-08-04 15:14:55 e57ac… E00 Outp… #> 3 13 user E01 2017-08-04 15:14:55 e6602… E01 Supe… #> 4 14 user E02 2017-08-04 15:14:55 8c1f8… E02 Supe… #> 5 15 user E04 2017-08-04 15:14:55 3f07b… E04 Civi… #> 6 16 user E05 2017-08-04 15:14:55 f2cb3… E05 Elec… #> 7 17 user E06 2017-08-04 15:14:55 2c8db… E06 Unit… #> 8 18 user E07 2017-08-04 15:14:55 6cd1d… E07 Non-… #> 9 19 user E08 2017-08-04 15:14:55 e40dc… E08 Metr… #> 10 20 user E09 2017-08-04 15:14:55 f4ff1… E09 Lond… #> # ... with 165 more rows, and 5 more variables: area <list>, #> # organisation <list>, register <chr>, `start-date` <chr>, `end-date` <chr>rr_resolve_links(sg, registers)$data#> # A tibble: 175 x 12 #> `entry-number` type key timestamp hash `statistical-ge… name #> <int> <chr> <chr> <dttm> <chr> <chr> <chr> #> 1 11 user E92 2017-08-04 15:14:55 97d10… E92 Coun… #> 2 12 user E00 2017-08-04 15:14:55 e57ac… E00 Outp… #> 3 13 user E01 2017-08-04 15:14:55 e6602… E01 Supe… #> 4 14 user E02 2017-08-04 15:14:55 8c1f8… E02 Supe… #> 5 15 user E04 2017-08-04 15:14:55 3f07b… E04 Civi… #> 6 16 user E05 2017-08-04 15:14:55 f2cb3… E05 Elec… #> 7 17 user E06 2017-08-04 15:14:55 2c8db… E06 Unit… #> 8 18 user E07 2017-08-04 15:14:55 6cd1d… E07 Non-… #> 9 19 user E08 2017-08-04 15:14:55 e40dc… E08 Metr… #> 10 20 user E09 2017-08-04 15:14:55 f4ff1… E09 Lond… #> # ... with 165 more rows, and 5 more variables: area <list>, #> # organisation <list>, register <list>, `start-date` <chr>, `end-date` <chr>rr_resolve_links(sg, registers, targets = targets)$data#> # A tibble: 175 x 12 #> `entry-number` type key timestamp hash `statistical-ge… name #> <int> <chr> <chr> <dttm> <chr> <chr> <chr> #> 1 11 user E92 2017-08-04 15:14:55 97d10… E92 Coun… #> 2 12 user E00 2017-08-04 15:14:55 e57ac… E00 Outp… #> 3 13 user E01 2017-08-04 15:14:55 e6602… E01 Supe… #> 4 14 user E02 2017-08-04 15:14:55 8c1f8… E02 Supe… #> 5 15 user E04 2017-08-04 15:14:55 3f07b… E04 Civi… #> 6 16 user E05 2017-08-04 15:14:55 f2cb3… E05 Elec… #> 7 17 user E06 2017-08-04 15:14:55 2c8db… E06 Unit… #> 8 18 user E07 2017-08-04 15:14:55 6cd1d… E07 Non-… #> 9 19 user E08 2017-08-04 15:14:55 e40dc… E08 Metr… #> 10 20 user E09 2017-08-04 15:14:55 f4ff1… E09 Lond… #> # ... with 165 more rows, and 5 more variables: area <list>, #> # organisation <list>, register <list>, `start-date` <chr>, `end-date` <chr>