WoRMS banner
Add search provider Add provider
Twitter: Latest updates @WRMarineSpecies

Life Science Identifier (LSID)

LSIDs are persistent, location-independent, resource identifiers for uniquely naming biologically significant resources.
The LSID concept introduces a straightforward approach to naming and identifying data resources stored in multiple, distributed data stores in a manner that overcomes the limitations of naming schemes in use today [more information].

WoRMS has implemented LSIDs for all its taxonomic names and they are displayed on each taxon page. We have integrated the AphiaID into the LSID, so in fact you can continue using the AphiaID.

For example: the LSID for Solea solea is: urn:lsid:marinespecies.org:taxname:127160
You can resolve an LSID via the various services available.
Example for Solea solea: http://lsid.tdwg.org

The returned model is RDF (XML) with metadata elements from Darwin Core and Dublin Core.

Vocabularies using a WoRMS unique identifier


Calling the WoRMS webservice from R

This tutorial assumes you have installed R version 2.14 (and up) or 3.1.0 (and up) (See http://www.r-project.org/).
Available for MacOS X, Linux & Windows.

Paste the following code in the R Console (this is just an example)
install.packages("XML", dependencies = TRUE)
download.file("http://www.omegahat.org/Prerelease/XMLSchema_0.8-0.tar.gz", "XMLSchema")
install.packages("XMLSchema", type="source", repos = NULL)
download.file("http://www.omegahat.org/Prerelease/SSOAP_0.91-0.tar.gz", "SSOAP")
install.packages("SSOAP", type="source", repos = NULL)
w = processWSDL("http://marinespecies.org/aphia.php?p=soap&wsdl=1")
iface = genSOAPClientInterface(, w)
AphiaID = iface@functions$getAphiaID("Solea solea",1,('http://marinespecies.org/aphia.php?p=soap'))
#should output '[0] 127160'
Note: if you come across this error:
Error: evaluation nested too deeply: infinite recursion / options(expressions=)?
It means you have not the latest versions of SSOAP (0.91-0) and/or XMLSchema (0.8-0).

Download this example.
Download elaborate example.