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, ...)

Arguments

...

Additional arguments passed to the predicate functions.

x

A vector created by, or convertable to doi().

lang

Character scalar giving the anguage of the report. Not reactive as in mcControlsServer().

Value

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.

Details

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().

Functions

  • tabulate_metacheckable: Tabulate results

  • is_metacheckable: Are all predicates TRUE?

  • assert_metacheckable: Assert metacheckability

  • report_metacheckable: Report summary in markdown

See also

Other import: cr_works2(), get_cr_md()

Examples

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.