Difference between revisions of "SpeciesTMPlugin"

From Gcube Wiki
Jump to: navigation, search
(Example)
(Maven coordinates)
 
(43 intermediate revisions by 2 users not shown)
Line 2: Line 2:
 
||__TOC__
 
||__TOC__
 
|}
 
|}
Species TM Plugin is a plugin of the Tree Manager service that defines and maintains tree views of biodiversity data sources exposed by the Species Manager services.  
+
Species TM Plugin is a plugin of the [[Tree-Based_Access | 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.
 
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.
 
Each Taxon generated via SPD Service is trasformed in a edge-labelled tree by Species TM Plugin.
Line 10: Line 10:
 
A tree generated by SpeciesTMPlugin has three subtrees:
 
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: https://gcube.wiki.gcube-system.org/gcube/index.php/Checklist_DwC.
+
* DwC: each data from SPD Service is mapped to Darwin Core concepts (a detailed description of the Darwin Core fields is listed [[Checklist_DwC | here]]):
 +
** [http://rs.tdwg.org/dwc/terms/Taxon  Taxon]: [http://rs.tdwg.org/dwc/terms/scientificNameID scientificNameID] | [http://rs.tdwg.org/dwc/terms/acceptedNameUsageID acceptedNameUsageID] | [http://rs.tdwg.org/dwc/terms/parentNameUsageID parentNameUsageID] | [http://rs.tdwg.org/dwc/terms/scientificName scientificName] | [http://rs.tdwg.org/dwc/terms/nameAccordingTo nameAccordingTo] | [http://rs.tdwg.org/dwc/terms/kingdom kingdom] | [http://rs.tdwg.org/dwc/terms/phylum phylum] | [http://rs.tdwg.org/dwc/terms/class class] | [http://rs.tdwg.org/dwc/terms/order order] | [http://rs.tdwg.org/dwc/terms/family family] | [http://rs.tdwg.org/dwc/terms/genus genus] | [http://rs.tdwg.org/dwc/terms/subgenus subgenus] | [http://rs.tdwg.org/dwc/terms/specificEpithet specificEpithet] | [http://rs.tdwg.org/dwc/terms/infraspecificEpithet infraspecificEpithet] | [http://rs.tdwg.org/dwc/terms/taxonRank taxonRank] | [http://rs.tdwg.org/dwc/terms/verbatimTaxonRank verbatimTaxonRank] | [http://rs.tdwg.org/dwc/terms/scientificNameAuthorship scientificNameAuthorship] | [http://rs.tdwg.org/dwc/terms/taxonomicStatus taxonomicStatus] | [http://rs.tdwg.org/dwc/terms/taxonRemarks taxonRemarks] | [http://purl.org/dc/terms/modified modified] | [http://purl.org/dc/terms/rightsHolder rightsHolder]
 +
** [http://rs.gbif.org/terms/1.0/VernacularName VernacularNames]: [http://rs.tdwg.org/dwc/terms/vernacularName vernacularName] | [http://purl.org/dc/terms/language language] | [http://rs.tdwg.org/dwc/terms/locality locality]
 
* Properties: additional data elements from SPD Service are stored in this subtree.
 
* Properties: additional data elements from SPD Service are stored in this subtree.
 
* Provenance: information about provenance (wasDerivedFrom, wasGeneratedBy).
 
* Provenance: information about provenance (wasDerivedFrom, wasGeneratedBy).
Line 17: Line 19:
  
 
<source lang="xml">
 
<source lang="xml">
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
+
 
  <xs:element name="DwC">
+
<?xml version="1.0" encoding="UTF-8"?>
    <xs:complexType mixed="true">
+
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" >
      <xs:sequence>
+
      <xs:element name="t:root" >
        <xs:element type="xs:string" name="nameAccordingTo"/>
+
              <xs:complexType>
        <xs:element type="xs:string" name="scientificNameAuthorship" minOccurs="0"/>
+
                    <xs:sequence>
        <xs:element type="xs:string" name="taxonRank"/>
+
                            <xs:element name="dwc" >
        <xs:element type="xs:string" name="parentNameUsageID" minOccurs="0"/>
+
                                  <xs:complexType>
        <xs:element type="xs:string" name="scientificName"/>
+
                                          <xs:sequence>
        <xs:element type="xs:string" name="acceptedNameUsageID" minOccurs="0"/>
+
                                                <xs:element name="taxonRemarks" type="xs:string" >
        <xs:element type="xs:string" name="taxonomicStatus"/>
+
                                                        <xs:complexType>
        <xs:element type="xs:string" name="taxonRemarks" minOccurs="0"/>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
        <xs:element type="xs:string" name="bibliographicCitation"/>
+
                                                          </xs:complexType>
        <xs:element type="xs:string" name="scientificNameID"/>
+
                                                    </xs:element>
        <xs:element type="xs:string" name="modified" minOccurs="0"/>
+
                                                <xs:element name="scientificName" type="xs:string" >
        <xs:element type="xs:string" name="kingdom" minOccurs="0"/>
+
                                                        <xs:complexType>
        <xs:element type="xs:string" name="phylum" minOccurs="0"/>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
        <xs:element type="xs:string" name="class" minOccurs="0"/>
+
                                                          </xs:complexType>
        <xs:element type="xs:string" name="order" minOccurs="0"/>
+
                                                    </xs:element>
        <xs:element type="xs:string" name="family" minOccurs="0"/>
+
                                                <xs:element name="verbatimTaxonRank" type="xs:string" >
        <xs:element type="xs:string" name="genus" minOccurs="0"/>
+
                                                        <xs:complexType>
        <xs:element type="xs:string" name="subgenus" minOccurs="0"/>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
        <xs:element type="xs:string" name="specificEpithet" minOccurs="0"/>
+
                                                          </xs:complexType>
        <xs:element type="xs:string" name="infraspecificEpithet" minOccurs="0"/>
+
                                                    </xs:element>
        <xs:element type="xs:string" name="verbatimTaxonRank" minOccurs="0"/>
+
                                                <xs:element name="class" type="xs:string" >
        <xs:element name="vernacularNames" maxOccurs="unbounded" minOccurs="0">
+
                                                        <xs:complexType>
          <xs:complexType>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
            <xs:sequence>
+
                                                          </xs:complexType>
              <xs:element type="xs:string" name="language"/>
+
                                                    </xs:element>
              <xs:element type="xs:string" name="locality" minOccurs="0"/>
+
                                                <xs:element name="scientificNameAuthorship" type="xs:string" >
              <xs:element type="xs:string" name="vernacularName"/>
+
                                                        <xs:complexType>
            </xs:sequence>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
          </xs:complexType>
+
                                                          </xs:complexType>
        </xs:element>
+
                                                    </xs:element>
      </xs:sequence>
+
                                                <xs:element name="nameAccordingTo" type="xs:string" >
      <xs:attribute ref="tre:id" xmlns:tre="http://gcube-system.org/namespaces/data/trees"/>
+
                                                        <xs:complexType>
    </xs:complexType>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
  </xs:element>
+
                                                          </xs:complexType>
  <xs:element name="Properties">
+
                                                    </xs:element>
    <xs:complexType>
+
                                                <xs:element name="genus" type="xs:string" >
      <xs:sequence>
+
                                                        <xs:complexType>
        <xs:element name="property" maxOccurs="unbounded" minOccurs="0">
+
                                                              <xs:attribute name="t:id" type="xs:int" />
          <xs:complexType>
+
                                                          </xs:complexType>
            <xs:sequence>
+
                                                    </xs:element>
              <xs:element type="xs:string" name="key"/>
+
                                                <xs:element name="taxonomicStatus" type="xs:string" >
              <xs:element type="xs:string" name="value"/>
+
                                                        <xs:complexType>
            </xs:sequence>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
          </xs:complexType>
+
                                                          </xs:complexType>
        </xs:element>
+
                                                    </xs:element>
      </xs:sequence>
+
                                                <xs:element name="infraspecificEpithet" type="xs:string" >
    </xs:complexType>
+
                                                        <xs:complexType>
  </xs:element>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
  <xs:element name="provenance">
+
                                                          </xs:complexType>
    <xs:complexType>
+
                                                    </xs:element>
      <xs:sequence>
+
                                                <xs:element name="modified" type="xs:date" >
        <xs:element type="xs:string" name="wasDerivedFrom"/>
+
                                                        <xs:complexType>
        <xs:element type="xs:string" name="wasGeneratedBy"/>
+
                                                              <xs:attribute name="t:id" type="xs:int" />
      </xs:sequence>
+
                                                          </xs:complexType>
    </xs:complexType>
+
                                                    </xs:element>
  </xs:element>
+
                                                <xs:element name="acceptedNameUsageID" type="xs:string" >
</xs:schema>
+
                                                        <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>
  
 
</source>
 
</source>
Line 86: Line 217:
  
 
<source lang="xml">
 
<source lang="xml">
 
  
 
<?xml version="1.0" ?>
 
<?xml version="1.0" ?>
<t:root xmlns:t="http://gcube-system.org/namespaces/data/trees" SpeciesServiceId="ITIS:710252" storeId="17416" t:id="ITIS:710252" t:source="68baa5c8-d19a-4cae-8abb-adde64a6d331">
 
  
    <Properties t:id="17417">
+
<t:root xmlns:t="http://gcube-system.org/namespaces/data/trees"
    </Properties>
+
SpeciesServiceId="ITIS:159903" storeId="1" t:id="ITIS:159903"
 +
t:source="6153d4d5-f872-46f2-9ab1-2a056042030e">
  
    <DwC t:id="17418">
+
<dwc t:id="12">
        <taxonRemarks t:id="17422">valid</taxonRemarks>
+
<taxonRemarks t:id="16">valid</taxonRemarks>
        <scientificName t:id="17427">Murrayon  </scientificName>
+
<scientificName t:id="21">Carcharodon carcharias</scientificName>
        <class t:id="17432">Eutardigrada</class>
+
<verbatimTaxonRank t:id="33"></verbatimTaxonRank>
        <scientificNameAuthorship t:id="17419">Bertolani and Pilato, 1989</scientificNameAuthorship>
+
<class t:id="26">Chondrichthyes</class>
        <nameAccordingTo t:id="17428">Accessed through: the Integrated Taxonomic Information System (ITIS) at http://www.itis.gov on 03-15-2013</nameAccordingTo>
+
<scientificNameAuthorship t:id="13">(Linnaeus,1758)</scientificNameAuthorship>
        <genus t:id="17435">Murrayon  </genus>
+
<nameAccordingTo t:id="22">Accessed through: the Integrated
        <taxonomicStatus t:id="17421">VALID</taxonomicStatus>
+
Taxonomic Information System (ITIS) at http://www.itis.gov on
        <modified t:id="17425"></modified>
+
04-29-2013</nameAccordingTo>
        <acceptedNameUsageID t:id="17420"></acceptedNameUsageID>
+
<genus t:id="29">Carcharodon</genus>
        <phylum t:id="17431">Tardigrada</phylum>
+
<taxonomicStatus t:id="15">VALID</taxonomicStatus>
        <vernacularNames t:id="17436"></vernacularNames>
+
<infraspecificEpithet t:id="32"></infraspecificEpithet>
        <order t:id="17433">Parachela</order>
+
<modified t:id="19"></modified>
        <kingdom t:id="17430">Animalia</kingdom>
+
<acceptedNameUsageID t:id="14"></acceptedNameUsageID>
        <family t:id="17434">Macrobiotidae  </family>
+
<phylum t:id="25">Chordata</phylum>
        <parentNameUsageID t:id="17429">ITIS:710196</parentNameUsageID>
+
        <bibliographicCitation t:id="17423">This information object has been generated via the Species Product Discovery service on 03-15-2013 by interfacing with ITIS, the Integrated Taxonomic Information System (http://www.itis.gov/)</bibliographicCitation>
+
        <scientificNameID t:id="17424">urn:lsid:itis.gov:itis_tsn:710252</scientificNameID>
+
        <taxonRank t:id="17426">Genus</taxonRank>
+
    </DwC>
+
  
    <provenance t:id="17437">
+
<vernacularNames t:id="34">
        <wasDerivedFrom t:id="17438">Accessed through: the Integrated Taxonomic Information System (ITIS) at http://www.itis.gov on 03-15-2013</wasDerivedFrom>
+
<language t:id="35">English</language>
        <wasGeneratedBy t:id="17439">This information object has been generated via the Species Product Discovery service on 03-15-2013 by interfacing with ITIS, the Integrated Taxonomic Information System (http://www.itis.gov/)</wasGeneratedBy>
+
<locality t:id="36"></locality>
    </provenance>
+
<vernacularName t:id="37">great white shark</vernacularName>
 +
</vernacularNames>
  
</t:root>
+
<vernacularNames t:id="38">
 +
<language t:id="39">Spanish</language>
 +
<locality t:id="40"></locality>
 +
<vernacularName t:id="41">jaquetón de ley</vernacularName>
 +
</vernacularNames>
  
 +
<vernacularNames t:id="42">
 +
<language t:id="43">French</language>
 +
<locality t:id="44"></locality>
 +
<vernacularName t:id="45">requin blanc</vernacularName>
 +
</vernacularNames>
  
 +
<vernacularNames t:id="46">
 +
<language t:id="47">Spanish</language>
 +
<locality t:id="48"></locality>
 +
<vernacularName t:id="49">tiburón blanco</vernacularName>
 +
</vernacularNames>
  
 +
<vernacularNames t:id="50">
 +
<language t:id="51">English</language>
 +
<locality t:id="52"></locality>
 +
<vernacularName t:id="53">white shark</vernacularName>
 +
</vernacularNames>
  
<?xml version="1.0" ?>
+
<order t:id="27">Lamniformes</order>
<t:root xmlns:t="http://gcube-system.org/namespaces/data/trees" SpeciesServiceId="ITIS:689612" t:id="ITIS:689612">
+
<kingdom t:id="24">Animalia</kingdom>
 +
<family t:id="28">Lamnidae</family>
 +
<parentNameUsageID t:id="23">ITIS:159902</parentNameUsageID>
 +
<rightsHolder t:id="17">This information
 +
object has been generated via the Species Product Discovery service
 +
on 04-29-2013 by interfacing with ITIS, the Integrated Taxonomic
 +
Information System (http://www.itis.gov/)</rightsHolder>
 +
<subgenus t:id="30"></subgenus>
 +
<scientificNameID t:id="18">urn:lsid:itis.gov:itis_tsn:159903</scientificNameID>
 +
<specificEpithet t:id="31">carcharias</specificEpithet>
 +
<taxonRank t:id="20">Species</taxonRank>
 +
</dwc>
  
    <DwC t:id="237">
+
<properties t:id="2">
        <nameAccordingTo t:id="233">Accessed through: the Integrated Taxonomic Information System (ITIS) at http://www.itis.gov on 02-07-2013</nameAccordingTo>
+
<property t:id="3">
        <scientificNameAuthorship t:id="234">(Smith, 1934)</scientificNameAuthorship>
+
<key t:id="4">Source</key>
        <taxonRank t:id="235">Species</taxonRank>
+
<value t:id="5">NODC Taxonomic Code, database (version 8.0).Acquired: 1996-07-29.</value>
        <parentNameUsageID t:id="236">ITIS:687575</parentNameUsageID>
+
</property>
        <scientificName t:id="237">Parachela maculicauda</scientificName>
+
<property t:id="6">
        <acceptedNameUsageID t:id="239">null</acceptedNameUsageID>
+
<key t:id="7">Source</key>
        <taxonomicStatus t:id="240">valid</taxonomicStatus>
+
<value t:id="8">F. A. O., database (version 1). Acquired:1996-07-29.</value>
        <taxonRemarks t:id="245">valid</taxonRemarks>
+
</property>
        <bibliographicCitation t:id="246">This information object has been generated via the Species Product Discovery service on 02-07-2013 by interfacing with ITIS</bibliographicCitation>
+
<property t:id="9">
        <scientificNameID t:id="247">urn:lsid:itis.gov:itis_tsn:689612</scientificNameID>
+
<key t:id="10">Source</key>
        <modified t:id="248">null</modified>
+
<value t:id="11">Catalog of Fishes, 17-Mar-2003, website (version
        <kingdom t:id="249">Animalia</kingdom>
+
13-Mar-03). Acquired: 2003-03-17.</value>
        <phylum t:id="252">Chordata</phylum>
+
</property>
        <family t:id="253">Cyprinidae</family>
+
</properties>
        <genus t:id="254">Parachela</genus>
+
        <specificEpithet t:id="255">maculicauda</specificEpithet>
+
    </DwC>
+
  
    <Properties t:id="256">
+
<provenance t:id="54">
        <property t:id="257">
+
<wasDerivedFrom t:id="55">Accessed through: the Integrated
            <key t:id="258">Source</key>
+
Taxonomic Information System (ITIS) at http://www.itis.gov on
            <value t:id="259">Catalog of Fishes, 08-Apr-2005, website (version 05-Apr-05). Acquired: 2005-04-08.</value>
+
04-29-2013</wasDerivedFrom>
        </property>       
+
<wasGeneratedBy t:id="56">This information object has been
    <Properties>
+
generated via the Species Product Discovery service on 04-29-2013 by
 
+
interfacing with ITIS, the Integrated Taxonomic Information System
    <provenance t:id="260">
+
(http://www.itis.gov/)</wasGeneratedBy>
        <wasDerivedFrom t:id="261">Accessed through: the Integrated Taxonomic Information System (ITIS) at http://www.itis.gov on 02-07-2013</wasDerivedFrom>
+
</provenance>
        <wasGeneratedBy t:id="262">This information object has been generated via the Species Product Discovery service on 02-07-2013 by interfacing with ITIS</wasGeneratedBy>
+
    </provenance>
+
  
 
</t:root>
 
</t:root>
 +
 +
  
 
</source>
 
</source>
Line 190: Line 343:
 
<groupId>org.gcube.data.access</groupId>
 
<groupId>org.gcube.data.access</groupId>
 
<artifactId>species-tree-plugin</artifactId>
 
<artifactId>species-tree-plugin</artifactId>
<version>1.1.0</version>
+
<version>[1.1.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
  
 
</source>
 
</source>
Line 202: Line 355:
 
<groupId>org.gcube.data.access</groupId>
 
<groupId>org.gcube.data.access</groupId>
 
<artifactId>species-tree-requests</artifactId>
 
<artifactId>species-tree-requests</artifactId>
<version>1.0.0-SNAPSHOT</version>
+
<version>[1.0.0-SNAPSHOT,2.0.0-SNAPSHOT)</version>
  
 
</source>
 
</source>

Latest revision as of 18:09, 8 November 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:

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 Species TM Plugin looks like this:

<?xml version="1.0" ?>
 
<t:root xmlns:t="http://gcube-system.org/namespaces/data/trees"
	SpeciesServiceId="ITIS:159903" storeId="1" t:id="ITIS:159903"
	t:source="6153d4d5-f872-46f2-9ab1-2a056042030e">
 
	<dwc t:id="12">
		<taxonRemarks t:id="16">valid</taxonRemarks>
		<scientificName t:id="21">Carcharodon carcharias</scientificName>
		<verbatimTaxonRank t:id="33"></verbatimTaxonRank>
		<class t:id="26">Chondrichthyes</class>
		<scientificNameAuthorship t:id="13">(Linnaeus,1758)</scientificNameAuthorship>
		<nameAccordingTo t:id="22">Accessed through: the Integrated
			Taxonomic Information System (ITIS) at http://www.itis.gov on
			04-29-2013</nameAccordingTo>
		<genus t:id="29">Carcharodon</genus>
		<taxonomicStatus t:id="15">VALID</taxonomicStatus>
		<infraspecificEpithet t:id="32"></infraspecificEpithet>
		<modified t:id="19"></modified>
		<acceptedNameUsageID t:id="14"></acceptedNameUsageID>
		<phylum t:id="25">Chordata</phylum>
 
		<vernacularNames t:id="34">
			<language t:id="35">English</language>
			<locality t:id="36"></locality>
			<vernacularName t:id="37">great white shark</vernacularName>
		</vernacularNames>
 
		<vernacularNames t:id="38">
			<language t:id="39">Spanish</language>
			<locality t:id="40"></locality>
			<vernacularName t:id="41">jaquetón de ley</vernacularName>
		</vernacularNames>
 
		<vernacularNames t:id="42">
			<language t:id="43">French</language>
			<locality t:id="44"></locality>
			<vernacularName t:id="45">requin blanc</vernacularName>
		</vernacularNames>
 
		<vernacularNames t:id="46">
			<language t:id="47">Spanish</language>
			<locality t:id="48"></locality>
			<vernacularName t:id="49">tiburón blanco</vernacularName>
		</vernacularNames>
 
		<vernacularNames t:id="50">
			<language t:id="51">English</language>
			<locality t:id="52"></locality>
			<vernacularName t:id="53">white shark</vernacularName>
		</vernacularNames>
 
		<order t:id="27">Lamniformes</order>
		<kingdom t:id="24">Animalia</kingdom>
		<family t:id="28">Lamnidae</family>
		<parentNameUsageID t:id="23">ITIS:159902</parentNameUsageID>
		<rightsHolder t:id="17">This information
			object has been generated via the Species Product Discovery service
			on 04-29-2013 by interfacing with ITIS, the Integrated Taxonomic
			Information System (http://www.itis.gov/)</rightsHolder>
		<subgenus t:id="30"></subgenus>
		<scientificNameID t:id="18">urn:lsid:itis.gov:itis_tsn:159903</scientificNameID>
		<specificEpithet t:id="31">carcharias</specificEpithet>
		<taxonRank t:id="20">Species</taxonRank>
	</dwc>
 
	<properties t:id="2">
		<property t:id="3">
			<key t:id="4">Source</key>
			<value t:id="5">NODC Taxonomic Code, database (version 8.0).Acquired: 1996-07-29.</value>
		</property>
		<property t:id="6">
			<key t:id="7">Source</key>
			<value t:id="8">F. A. O., database (version 1). Acquired:1996-07-29.</value>
		</property>
		<property t:id="9">
			<key t:id="10">Source</key>
			<value t:id="11">Catalog of Fishes, 17-Mar-2003, website (version
				13-Mar-03). Acquired: 2003-03-17.</value>
		</property>
	</properties>
 
	<provenance t:id="54">
		<wasDerivedFrom t:id="55">Accessed through: the Integrated
			Taxonomic Information System (ITIS) at http://www.itis.gov on
			04-29-2013</wasDerivedFrom>
		<wasGeneratedBy t:id="56">This information object has been
			generated via the Species Product Discovery service on 04-29-2013 by
			interfacing with ITIS, the Integrated Taxonomic Information System
			(http://www.itis.gov/)</wasGeneratedBy>
	</provenance>
 
</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-SNAPSHOT,2.0.0-SNAPSHOT)</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,2.0.0-SNAPSHOT)</version>