NSL Services
ALA-NSL Linked data services
Prototype services over Names, Taxa and References documented within the Australian Faunal Directory (AFD), the Australian Plant Name Index (APNI) and the Australian Plant Census (APC).
An attempt is made to use the TDWG vocabularies published at http://rs.tdwg.org/ontology in the hope that these outputs help to inform ongoing and collaborative evolution of an open 'TDWG ontology'. This means that we are not in a position to guarantee stability of the RDF, XML and HTML (especially the HTML) presented. In fact it would be wise to expect, or even request, our outputs from these services to change.
Output formats available on negotiation ( or direct file type spec.) are html, csv, xml, and json.
Do your best to tear it apart.
We will undertake to maintain the LSIDs, the abstract URIs and URLs for all data objects.
Quick Start:
|
Collections
Seven local collections are exposed at this time:
| afd.name | apni.name | |
| afd.taxon | apni.taxon | |
| afd.publication | apni.publication | apni.reference |
These namespaces are published as linked data using abstract URIs of the following form:
http://biodiversity.org.au/name.space/localIdentifier
- AFD identifies records using UUIDs,
- APNI uses legacy unique integer sequences (guaranteed persistent since 1990).
http://biodiversity.org.au/afd.taxon/e6bd32ed-2462-44ae-a7f5-bed60b59807d
http://biodiversity.org.au/apni.name/50015
http://biodiversity.org.au/apni.taxon/309365.html
or try
http://linkeddata.uriburner.com/about/html/http/biodiversity.org.au/apni.name/50015
|
They deliver the current NSL hierarchy as taken from the AFD and APC classifications.
A reference tree presenting "as published" hierarchies is also available for many botanical taxa.
These services have URLs of the following form:
http: //biodiversity.org.au /branch /<branch-name> /<TaxonIdentifier> .<format>
http://biodiversity.org.au/branch/apc/408808.html
http://biodiversity.org.au/branch/reference/408808.csv
http://biodiversity.org.au/branch/afd/b0791b23-8d6b-4239-979d-9e100f123010.html
They deliver a branch of the tree beginning at the node identified by <TaxonIdentifier>.
Available formats are html, csv, xml, and json.
The branch service also takes three optional parameters:
- synonyms=yes|no
- stoprank=a rank code or name
- levels=any nonnegative integer
http://biodiversity.org.au/branch/afd/5d6076b1-b7c7-487f-9d61-0fea0111cc7e.html?sublevels=2
http://biodiversity.org.au/branch/apc/417544.csv?stoprank=fam&synonyms=no
Name string search
There are currently two services based on name "strings":
A name lookup service to facilitate client access to name objects using URI of the form and a Name Resolution Service to current taxon for a given name according to AFD/APC
The name searches also support content negiotiation but it should be noted that the constructed, naked URI is not a Resource Name. Name lookup can not be guaranteed to return a single object and taxon name resolution may return entirely different taxa at different times. Names are case sensitive and All AFD names above Genus currently use UPPER case. Content negotiation here is supported for rdf+xml (based on TDWG lsid vocs), xml (TCS) and html http://biodiversity.org.au/afd.taxon/e6bd32ed-2462-44ae-a7f5-bed60b59807d.xml |
LSID equivalents for all URNs are also supported
|
urn:lsid:biodiversity.org.au:afd.taxon:e6bd32ed-2462-44ae-a7f5-bed60b59807d http://lsid.tdwg.org/urn:lsid:biodiversity.org.au:apni.name:50015 http://lsid.tdwg.org/urn:lsid:biodiversity.org.au:apni.name:50015 |
Full OAI-PMH services are available
The TAPIR implementation based on the TCS schema has been removed.
IBIS 2009-07-01 Page last modified on Jun 04, 2013 13:12
Comments ( Hide )
|
|
Greg Whitbread says:Jul 03, 2009 00:43 ( Permalink ) |
Anonymous says:You probably want something more useful than I don't like the colour? Peter N. |
Anonymous says:Hi Greg, It's really great stuff. Should be trivial for us to use the XML, making TWiki transform RDF is turning out to be harder than it should be. The example linked to Dodonae+viscosa doesn't seem to work, but Dodonae%20viscosa does. |
Anonymous says:You might consider using an underscore between the genus and species. So Dodonae+viscosa become Dodonae_viscosa. This should solve the problem above and it is a a wiki-friendly identifier.
|
|
|
Paul Murray says:For name searches, we have a TAPIR interface courtesy Matt Hand. The name-literal-as-psudeo-id a useful entry point, but it doesn't actually return a document with an "about" of the id you asked for. For other entry points, you can use APNI http://www.anbg.gov.au/cpbr/databases/apni-search-full.html . Any url of the form http://www.anbg.gov.au/cgi-bin/apni?taxon_id=48107 is equivalent to the uri http://biodiversity.org.au/apni.name/48107 AFD http://www.environment.gov.au/biodiversity/abrs/online-resources/fauna/afd/home is a little sneakier. If you navigate to an AFD profile page http://www.environment.gov.au/biodiversity/abrs/online-resources/fauna/afd/taxa/Nematoda and look at the source, you will find an afdTaxonGUID and afdNameGUID div. URIs can be constructed from Of course, once it's all working acceptably we should hyperlink link the human-friendly webapps back to the linked data with proper html liks. Alternatively, we may alter the page so that the hyperlinks are present, but hidden. That way, web spiders can index them, but it won't confuse people who want to see only human-readable pages. |
|
|
Greg Whitbread says:Pete, Plus |
Anonymous says:Nice work Greg. Cheers, Ben. |
Anonymous says:Great work! Some quick comments. There's some inconsistency in the example metadata. For example, for http://bioguid.info/urn:lsid:biodiversity.org.au:apni.name:50015 (Didiscus pilosus var. glaberrimus) the metadata has two values for specificEpithet (pilosus and glaberrimus), which clearly can't be correct. I don't think you've followed the TDWG vocabularies correctly. http://bioguid.info/urn:lsid:biodiversity.org.au:apni.name:50015 has the statement http://rs.tdwg.org/ontology/voc/TaxonName#publishedIn urn:lsid:biodiversity.org.au:apni.reference:143163 publishedIn is part of http://rs.tdwg.org/ontology/voc/Common, not http://rs.tdwg.org/ontology/voc/TaxonName. Furthermore, the range of publishedIn is a string, not a resource. I think you need to use http://rs.tdwg.org/ontology/voc/Common#publishedInCitation (personally I find these names counter intuitive, but that's what the spec says). Given that APNI contributes to IPNI, can you include links to the IPNI LSIDs where appropriate (for example, http://bioguid.info/urn:lsid:ipni.org:names:144078-3 ) Lastly, not thrilled with Confluence. Why can't I sign in to add comments? As it stands all comments are anonymous, which doesn't encourage me to contribute (plus it means I can't follow links to people's names and find out who they are). Is there an admin option to allow people to sign up to comment, but not edit the text on the page? |
|
|
Paul Murray says:specificEpithet: fixed (copy & paste bug) |
Anonymous says:Very impressive. Very thorough. As opposed to Rod, I actually don't mind the anonymous commenting - saves having to create yet another Login!! Could use OpenID though I suppose. Anyway, one comment - I tried resolving the LSIDs using my .NET code (very similar to Java code so I would have thought Java based resolution would have the same problem??). I found that it would not resolve the MetadataHTTP port - it failed with a "The remote server returned an error: (406) Not Acceptable." error. It may be due to the HTTP accept header, which is set to application/xml+rdf. Does the server take note of the accept headers? It seems to return something if you just enter the encoded url into a browser (http://biodiversity.org.au/authority/metadata?acceptedFormats=application/xml+rdf&lsid=urn:lsid:biodiversity.org.au:apni.name:50015). It does work fine with the MetadataHTTPDirect port however. Kevin Richards |
|
|
Paul Murray says:The rdf mime type is application/rdf+xml (rfc3870) . On the back end, both the URI and the LSID resolver look at the Accept header and attempt to find a match. I'll have to find Kevin's contact details - that's the main problem with this anonymous business. Landcare NZ? [edit: done, but our email server is not happy at the moment]. |
Anonymous says:The JSON format response from the name service (i.e. for Cracticus Tibicen) is not valid JSON. It is returning an object with literal integers instead of strings as property names. Numeric properties are fine, however you must enclose the numbers in quotes to make it valid JSON. Alternately, use an array. Please refer to the JSON website. This is mainly a problem for JSON parsers, not JavaScript implementations, as the latter tend to be more lenient and coalesce non-string property names gracefully. Two JSON readers currently plagued by the invalid JSON are PHP's json_decode and Python's json module. Python, for instance, currently returns the following exception for the previously mentioned JSON document: ValueError: Expecting property name: line 3 column 1 (char 15) ValueError: Expecting property name: line 3 column 1 (char 15)
|
Anonymous says:Whoops, should have signed that! Samuel Cochran <sj26@thefrontiergroup.com.au> |
|
|
Paul Murray says:... Yes, this seems to be correct. This is a bit of a problem: I was hoping to represent XML array-style elements as a combination array (for the elements) and properties (for attributes). You would be able to access the nested elements like_so[4] and also get named properties. But, it's simply not valid. Drat. If I fix it, it will break the code of everyone that is currently using it. I'll see what I can do. |
Comments? Please!