Online Resolution and Registry Validation
Source:vignettes/online_resolution.Rmd
online_resolution.RmdIntroduction
This vignette explains what it means to validate scholarly
identifiers against external registries and how
scholidonline relates to scholid.
When working with identifiers programmatically, it is essential to distinguish between three levels of validity:
- Structural validity
- Checksum validity
- Registry validity
scholid operates at the structural (and, where
applicable, checksum) level.
scholidonline operates at the registry level.
Structural vs Registry Validity
Structural Validity
Structural validity answers:
- Does this string match the formal grammar of an identifier system?
Example:
scholid::is_scholid(
"10.1000/182",
type = "doi"
)
#> [1] TRUEStructural validation uses regular expressions and, where applicable, checksum algorithms (e.g., ORCID).
It does not require internet access.
It does not confirm existence.
Registry Validity
Registry validity answers:
- Does this identifier exist in an external authority?
For example:
- Does this DOI resolve via doi.org or Crossref?
- Does this PMID exist in PubMed?
- Is this ORCID iD present in the ORCID registry?
Example:
scholidonline::id_exists(
"10.1000/182",
type = "doi"
)
#> [1] TRUERegistry validation:
- Requires internet access
- Depends on external APIs
- May be affected by rate limits or temporary outages
- Can change over time
A structurally valid identifier may still fail registry validation.