Difference between revisions of "FishFinderTMPlugin"
(→Example) |
(→Example) |
||
Line 214: | Line 214: | ||
=== Example === | === Example === | ||
− | A tree generated by | + | A tree generated by Figis TM Plugin looks like this: |
<source lang="xml"> | <source lang="xml"> |
Revision as of 14:02, 16 May 2013
Species TM Plugin is a plugin of the Tree Based Access Facilities that defines and maintains tree views of biodiversity data sources exposed by the Species Manager services. Species TM Plugin provides an uniform model to access and storage data from SPD Service. Each Taxon generated via SPD Service is trasformed in a edge-labelled tree by Species TM Plugin.
Tree model
A tree generated by SpeciesTMPlugin has three subtrees:
- DwC: each data from SPD Service is mapped to Darwin Core concepts (a detailed description of the Darwin Core fields is listed here):
- Taxon: scientificNameID | acceptedNameUsageID | parentNameUsageID | scientificName | nameAccordingTo | kingdom | phylum | class | order | family | genus | subgenus | specificEpithet | infraspecificEpithet | taxonRank | verbatimTaxonRank | scientificNameAuthorship | taxonomicStatus | taxonRemarks | modified | rightsHolder
- VernacularNames: vernacularName | language | locality
- Properties: additional data elements from SPD Service are stored in this subtree.
- Provenance: information about provenance (wasDerivedFrom, wasGeneratedBy).
Generic model
<?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" > <xs:element name="t:root" > <xs:complexType> <xs:sequence> <xs:element name="dwc" > <xs:complexType> <xs:sequence> <xs:element name="taxonRemarks" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="scientificName" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="verbatimTaxonRank" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="class" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="scientificNameAuthorship" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="nameAccordingTo" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="genus" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="taxonomicStatus" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="infraspecificEpithet" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="modified" type="xs:date" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="acceptedNameUsageID" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="phylum" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="vernacularNames" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="language" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="locality" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="vernacularName" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="order" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="kingdom" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="family" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="parentNameUsageID" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="rightsHolder" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="subgenus" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="scientificNameID" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="specificEpithet" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="taxonRank" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="properties" > <xs:complexType> <xs:sequence> <xs:element name="property" maxOccurs="unbounded" > <xs:complexType> <xs:sequence> <xs:element name="key" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="value" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="provenance" > <xs:complexType> <xs:sequence> <xs:element name="wasDerivedFrom" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> <xs:element name="wasGeneratedBy" type="xs:string" > <xs:complexType> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="t:id" type="xs:int" /> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute name="xmlns:t" type="xs:string" /> <xs:attribute name="SpeciesServiceId" type="xs:string" /> <xs:attribute name="storeId" type="xs:int" /> <xs:attribute name="t:id" type="xs:string" /> <xs:attribute name="t:source" type="xs:string" /> </xs:complexType> </xs:element> </xs:schema>
Example
A tree generated by Figis TM Plugin looks like this:
<?xml version="1.0" ?> <t:root xmlns:t="http://gcube-system.org/namespaces/data/trees" t:id="BEP"> <alpha_cod>BEP</alpha_cod> <name_en>Eastern Pacific bonito</name_en> <name_fr>Bonite du Pacifique oriental</name_fr> <name_es>Bonito del Pacífico oriental</name_es> <images>figis/species/images/Sarda/sco_sar_chi_web_3275_0.gif</images> <scientific_name>Sarda chiliensis</scientific_name> <family>Scombridae</family> <personal_author>(Cuvier, 1831)</personal_author> <year>1831</year> <diagnostic_features>Upper jaw teeth 18 to 30; lower jaw teeth 14 to 25; vomerine teeth absent; supramaxilla wide (Collette & Chao, 1975:fig. 32d) 23 to 27 gillrakers on first arch. First dorsal fin with 17 to 19 spines, length of fin base 26.7 to 31.4% of fork length ; dorsal finlets usually 8; 12 to 15 rays in anal fin; anal finlets usually 6 or 7; pectoral fin rays 22 to 26, usually 24 or 25. Vertebrae 22 to 24 precaudal plus 20 to 23 caudal, total 42 to 46, usually 44 or 45. Colour: dorsal stripes slightly oblique. </diagnostic_features> <area_text>Restricted to the eastern Pacific Ocean (Collette & Chao, 1975:fig. 70). Its geographical range includes a northern and a southern subspecies separated by a tropical population of Sarda orientalis . The southern subspecies S. chiliensis chiliensis, occurs from Mancora, Peru, just south of the Gulf of Guayaquil southward to Talcahuano, Chile. The northern subspecies S. chiliensis lineolata (Girard) occurs from off the coast of Alaska (60° 16'N, 145° 32'W) southward to Cabo San Lucas at the tip of Baja California (22° 20'N, 112° 27'W and in the Revillagigedo Islands).</area_text> <habitat_bio>An epipelagic, neritic species attaining sexual maturity at about 2 years of age.</habitat_bio> <interest_fisheries>In California, eastern Pacific bonito is taken commercially by purse seiners, but is more important to the recreational hooks and lines fishery operating from private and party boats, piers and jetties, and from the shore (Yoshida, 1980:42). In the mid-sixties, the Chilean bonito fishery between lquique and Antofagasta expanded from an almost entirely artisanal activity with floating gillnets and small purse seines to an industrial operation with specialized bonito/tuna vessels (Yoshida, 1980:42). The landings of the northern subspecies ( S. c. lineolata ) in California and Mexico have fluctuated greatly over the last 50 years from less than 1 000 metric tons to nearly 14 000 t in the early seventies, ranking in 13th place (4 003 t worth $1 222 000) in total California landings of 1976. The Peruvian landings of the southern subspecies ( S. c. chiliensis ) increased from almost nil in 1940 to a peak of 110 000 t per year in the early sixties, thereafter gradually dropping off to 40 000 t in the mid-seventies (Yoshida, 1980:44). The world catch for the species as a whole was down to between 10 219 t in 1976 and 15 936 t in 1981, reaching 21 308 t in 1977 (FAO, 1983). The total catch reported for this species to FAO for 1999 was 3 187 t. The countries with the largest catches were Mexico (1 775 t) and Peru (948 t). </interest_fisheries> <local_names>Bonito (Chile),Bonito (Colombia),Bonito (Mexico),Aguadito (Peru),Chilensk bonit (Sweden),Pacific bonito (USA),Chilijskaya pelamida (Former ussr)</local_names> <factsheet_url>http://www.fao.org/fishery/species/3275/en </factsheet_url> <factsheet_id></factsheet_id> </t:root>
Bind request
An Activation Record allows the creation of collections. Using an Activation Record the user selects scientific names and data sources to create the collection.
A request has this form:
List<ScientificName> as ScientificName in List<DataSource> return Taxon
If List<DataSource> is empty, Species TM Plugin will retrieve data from all Data Sources.
Examples:
'Carcharodon carcharias' , 'Rosa' in ITIS, CatalogueOfLife return Taxon
'Carcharodon carcharias' , 'Rosa' return Taxon
'Carcharodon carcharias' return Taxon
Maven coordinates
The Maven coordinates of species-tree-plugin of its development versions are:
<groupId>org.gcube.data.access</groupId> <artifactId>species-tree-plugin</artifactId> <version>1.1.0</version>
The request classes are separated from the species-tree-plugin, in a component upon which plugin depends. This component is species-tree-requests.
The Maven coordinates of species-tree-requests of its development versions are:
<groupId>org.gcube.data.access</groupId> <artifactId>species-tree-requests</artifactId> <version>1.0.0-SNAPSHOT</version>