The signature is how the package tells two reading methodologies apart from
two names for the same thing. It encodes which chunks reach the model
(select), the call pattern (calls), and whether information flows between
calls (state).
Value
A single string "select|calls|state", e.g. "topk|1|none". For
ensemble the member list is appended in braces
("ensemble|sum+1|none{map_reduce+retrieve}"), so two ensembles with
different members are correctly seen as different experiments.
See also
gr_readers() for every signature at once, gr_compare() which
uses this to detect duplicate recipes, gr_register_reader()
Other reading functions:
gr_answer,
gr_read(),
gr_read_spec(),
gr_readers(),
gr_register_reader(),
is_not_found(),
new_answer()
Examples
# Same document, different traversal: one call over everything, versus one
# call per chunk plus merges.
gr_reader_signature("stuff")
#> [1] "all|1|none"
gr_reader_signature("map_reduce")
#> [1] "all|N+logN|tree"
# An ensemble's signature carries its members, so two differently-composed
# ensembles are not mistaken for each other.
gr_reader_signature(gr_read_spec("ensemble", members = c("retrieve", "refine")))
#> [1] "ensemble|sum+1|none{refine+retrieve}"