Use the Kew Names Matching Service to match taxon names to records in Plants of the World Online.

match_knms(names)

Arguments

names

A list or character vector of taxon names for matching. Must not contain missing values.

Value

A knms_match object - a simple structure containing the match results and some statistics about the number of matches.

Details

The Kew Names Matching Service (KNMS) allows a user to submit taxon names for matching against records in Plants of the World Online (POWO). As far as I can tell, it uses exact matching as well as some rules-based matching to account for common orthographic variants and Latin mistakes.

Names can be submitted to KNMS with or without an author string. If a name can match to multiple different records, for instance with synonyms, KNMS will return multiple matches. As such, we recommend submitting names first with the taxonomic authority and then without if no match can be found.

KNMS allows multiple names to be submitted at once. However, it can be slow in returning results if too many names are submitted. For lots of names, the website provides an interface for submitting a CSV file.

Examples


# match a name
match_knms("Poa annua L.")
#> <KNMS match: 1 names submitted>
#> Matches returned: 1
#> Multiple matches: 0
#> Unmatched names: 0
#> List of 1
#>  $ :List of 4
#>   ..$ : chr "Poa annua L."
#>   ..$ : chr "true"
#>   ..$ : chr "urn:lsid:ipni.org:names:320035-2"
#>   ..$ : chr "Poa annua Sp. Pl.: 68 (1753) L. 1753"

# match a vector of names
names <- c("Myrcia guianensis", "Calyptranthes ranulphii", "Poa annua")
match_knms(names)
#> <KNMS match: 3 names submitted>
#> Matches returned: 2
#> Multiple matches: 1
#> Unmatched names: 0
#> List of 1
#>  $ :List of 4
#>   ..$ : chr "Myrcia guianensis"
#>   ..$ : chr "true"
#>   ..$ : chr "urn:lsid:ipni.org:names:598851-1"
#>   ..$ : chr "Myrcia guianensis Prodr. 3: 245 (1828) (Aubl.) DC. 1828"

# tidy match results into a table
names <- c("Myrcia guianensis", "Bad plant", "Poa annua")
matches <- match_knms(names)
tidy(matches)
#> # A tibble: 4 × 4
#>   submitted         matched ipni_id  matched_record                             
#>   <chr>             <lgl>   <chr>    <chr>                                      
#> 1 Myrcia guianensis TRUE    598851-1 Myrcia guianensis Prodr. 3: 245 (1828) (Au…
#> 2 Bad plant         FALSE   NA       NA                                         
#> 3 Poa annua         TRUE    416502-1 Poa annua Linnaea 6: 38 (1831) Schltdl. & …
#> 4 Poa annua         TRUE    320035-2 Poa annua Sp. Pl.: 68 (1753) L. 1753