DOIs have to meet some pretests to have a meaningful metadata compliance.
pretests(...)
tabulate_metacheckable(x, ...)
is_metacheckable(x, ...)
assert_metacheckable(x, ...)
report_metacheckable(x, lang = mc_langs, ...)
... | Additional arguments passed to the predicate functions. |
---|---|
x | A vector created by, or convertable to |
lang | Character scalar giving the anguage of the report.
Not reactive as in |
TRUE
indicates that the test passes the criterion, FALSE
otherwise.
NA
can indicates that the test was not applicable,
because a previous predicate was FALSE
.
These criteria are tested, and assumed to be transitive but asymmetric in the order given. For example, if a DOI is not found on DOI.org, it is assumed that it also cannot be known to Crossref.
This must necessarily be the case for, say, syntactically invalid DOIs (which cannot have metadata), but is more of an assumption when it comes to the consistency between different data sources. For example, it is conceivable, though implausible, that a DOI might not resolve on DOI.org, but is still listed on Crossref.
For details about DOI predicates (is.na()
etc.), see biblids::doi()
.
For details about custom metacheck predicates,
see mc_predicates()
.
tabulate_metacheckable
: Tabulate results
is_metacheckable
: Are all predicates TRUE
?
assert_metacheckable
: Assert metacheckability
report_metacheckable
: Report summary in markdown
pretests()
#> # A tibble: 7 x 3
#> name fun desc
#> <chr> <list> <chr>
#> 1 not_missing <prrr_f… DOIs must not be missing values.
#> 2 unique <prrr_f… DOIs must be unique.
#> 3 within_limi… <prrr_f… Number of DOIs must be within the allowed limit.
#> 4 doi_org_fou… <memois… DOIs must be resolveable on DOI.org.
#> 5 from_cr <prrr_f… DOIs must have been registered by the Crossref registra…
#> 6 cr_md <fn> DOIs must have metadata on Crossref.
#> 7 article <prrr_f… DOIs must resolve to a journal article.