Difference between revisions of "OAITMPlugin"

From Gcube Wiki
Jump to: navigation, search
(Plugin parameters fields)
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.
+
OAI TM Plugin is a plugin that allows harvesting of metadata.  
Species TM Plugin provides an uniform model to access and storage data from SPD Service.
+
Each OAI Record is trasformed in a edge-labelled tree by OAI TM Plugin.
Each Taxon generated via SPD Service is trasformed in a edge-labelled tree by Species TM Plugin.
+
  
==Tree model==
 
  
A tree generated by OAITMPlugin has three subtrees:
+
==Plugin parameters fields==
 +
 
 +
Retrieving data on OAI TM Plugin requires a harvester (user) to apply one of the two request types to obtain data from OAI repositories:
 +
 
 +
* '''WrapSetsRequest''': to create a collection for each set of the external repository.
 +
** In this case the mandatory information you have to provide are the following:
 +
*** base URL (e.g. http://aquacomm.fcla.edu/cgi/oai2)
 +
*** contentXPath (e.g. //*[local-name()='identifier' and contains(.,'://')])
 +
*** default metadata format (e.g. oai_dc)
 +
** There are also other non mandatory information we suggest to provide:
 +
*** title Xpath: the XPATH from which we can retrieve the title of a document (e.g. //*[local-name()='title'])
 +
*** alternatives Xpath:  xpath to define possible alternatives (e.g. //*[local-name()='relation' and contains(.,'://')])
 +
*** repository name: self explaining field (e.g. aquacomm)
 +
*** setIdentifierList: the id of the set to take into consideration
 +
 
 +
* '''WrapRepositoryRequest''': it has to be used to create a collection containing the entire data available in the external repository.
 +
** In this case the mandatory information you have to provide are the following:
 +
*** base URL (e.g. http://aquacomm.fcla.edu/cgi/oai2)
 +
*** contentXPath (e.g. //*[local-name()='identifier' and contains(.,'://')])
 +
*** default metadata format (e.g. oai_dc)
 +
** There are also other non mandatory information we suggest to provide:
 +
*** title Xpath: the XPATH from which we can retrieve the title of a document (e.g. //*[local-name()='title'])
 +
*** alternatives Xpath:  xpath to define possible alternatives (e.g. //*[local-name()='relation' and contains(.,'://')])
 +
*** repository name: self explaining field (e.g. aquacomm)
 +
*** collection description: a description for a collection
  
* 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.
 
* Properties: additional data elements from SPD Service are stored in this subtree.
 
* Provenance: information about provenance (wasDerivedFrom, wasGeneratedBy).
 
  
 
=== Generic model ===
 
=== Generic model ===
Line 126: Line 145:
 
</source>
 
</source>
  
==Plugin parameters fields==
 
 
The data input to provide vary depending on your needs:
 
 
* '''WrapSetsRequest''': to create a collection for each set of the external repository.
 
** In this case the mandatory information you have to provide are the following:
 
*** base URL (e.g. http://aquacomm.fcla.edu/cgi/oai2)
 
*** contentXPath (e.g. //*[local-name()='identifier' and contains(.,'://')])
 
*** default metadata format (e.g. oai_dc)
 
** There are also other non mandatory information we suggest to provide:
 
*** title Xpath: the XPATH from which we can retrieve the title of a document (e.g. //*[local-name()='title'])
 
*** alternatives Xpath:  xpath to define possible alternatives (e.g. //*[local-name()='relation' and contains(.,'://')])
 
*** repository name: self explaining field (e.g. aquacomm)
 
*** setIdentifierList: the id of the set to take into consideration
 
 
* '''WrapRepositoryRequest''': it has to be used to create a collection containing the entire data available in the external repository.
 
** In this case the mandatory information you have to provide are the following:
 
*** base URL (e.g. http://aquacomm.fcla.edu/cgi/oai2)
 
*** contentXPath (e.g. //*[local-name()='identifier' and contains(.,'://')])
 
*** default metadata format (e.g. oai_dc)
 
** There are also other non mandatory information we suggest to provide:
 
*** title Xpath: the XPATH from which we can retrieve the title of a document (e.g. //*[local-name()='title'])
 
*** alternatives Xpath:  xpath to define possible alternatives (e.g. //*[local-name()='relation' and contains(.,'://')])
 
*** repository name: self explaining field (e.g. aquacomm)
 
*** collection description: a description for a collection
 
  
 
==Maven coordinates==
 
==Maven coordinates==

Revision as of 17:58, 5 April 2013

OAI TM Plugin is a plugin that allows harvesting of metadata. Each OAI Record is trasformed in a edge-labelled tree by OAI TM Plugin.


Plugin parameters fields

Retrieving data on OAI TM Plugin requires a harvester (user) to apply one of the two request types to obtain data from OAI repositories:

  • WrapSetsRequest: to create a collection for each set of the external repository.
    • In this case the mandatory information you have to provide are the following:
    • There are also other non mandatory information we suggest to provide:
      • title Xpath: the XPATH from which we can retrieve the title of a document (e.g. //*[local-name()='title'])
      • alternatives Xpath: xpath to define possible alternatives (e.g. //*[local-name()='relation' and contains(.,'://')])
      • repository name: self explaining field (e.g. aquacomm)
      • setIdentifierList: the id of the set to take into consideration
  • WrapRepositoryRequest: it has to be used to create a collection containing the entire data available in the external repository.
    • In this case the mandatory information you have to provide are the following:
    • There are also other non mandatory information we suggest to provide:
      • title Xpath: the XPATH from which we can retrieve the title of a document (e.g. //*[local-name()='title'])
      • alternatives Xpath: xpath to define possible alternatives (e.g. //*[local-name()='relation' and contains(.,'://')])
      • repository name: self explaining field (e.g. aquacomm)
      • collection description: a description for a collection


Generic model

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified" >
          <!-- XML Schema Generated from XML Document on Fri Apr 05 2013 16:24:22 GMT+0200 (CEST) -->
          <!-- with XmlGrid.net Free Online Service http://xmlgrid.net -->
       <xs:element name="t:root" >
              <xs:complexType>
                     <xs:sequence>
                            <xs:element name="creationTime" type="xs:string" />
                            <xs:element name="lastUpdateTime" type="xs:string" />
                            <xs:element name="isDescribedBy" >
                                   <xs:complexType>
                                          <xs:sequence>
                                                 <xs:element name="mimeType" type="xs:string" />
                                                 <xs:element name="length" type="xs:int" />
                                                 <xs:element name="language" type="xs:string" />
                                                 <xs:element name="schemaName" type="xs:string" />
                                                 <xs:element name="schemaURI" type="xs:string" />
                                                 <xs:element name="bytestream" type="xs:string" />
                                                 <xs:element name="creationTime" type="xs:string" />
                                                 <xs:element name="lastUpdateTime" type="xs:string" />
                                             </xs:sequence>
                                          <xs:attribute name="t:id" type="xs:string" />
                                      </xs:complexType>
                               </xs:element>
                            <xs:element name="mimeType" type="xs:string" />
                            <xs:element name="length" type="xs:int" />
                            <xs:element name="url" type="xs:string" />
                            <xs:element name="name" type="xs:string" />
                            <xs:element name="hasAlternative" maxOccurs="unbounded" >
                                   <xs:complexType>
                                          <xs:sequence>
                                                 <xs:element name="mimeType" type="xs:string" />
                                                 <xs:element name="length" type="xs:int" />
                                                 <xs:element name="name" type="xs:string" />
                                                 <xs:element name="url" type="xs:string" />
                                                 <xs:element name="creationTime" type="xs:string" />
                                                 <xs:element name="lastUpdateTime" type="xs:string" />
                                             </xs:sequence>
                                          <xs:attribute name="t:id" type="xs:string" />
                                      </xs:complexType>
                               </xs:element>
                        </xs:sequence>
                     <xs:attribute name="xmlns:t" type="xs:string" />
                     <xs:attribute name="t:id" type="xs:string" />
                 </xs:complexType>
          </xs:element>
   </xs:schema>

Example

A tree generated by OAI TM Plugin looks like this:

<?xml version="1.0" ?>
<t:root xmlns:t="http://gcube-system.org/namespaces/data/trees" t:id="oai:dspace.mit.edu:1721.1/27225">
<creationTime>2008-03-10T16:34:16.000+01:00</creationTime>
<lastUpdateTime>2008-03-10T16:34:16.000+01:00</lastUpdateTime>
 
<isDescribedBy t:id="oai:dspace.mit.edu:1721.1/27225-oai_dc">
	<mimeType>text/xml</mimeType><length>2139</length>
	<language>unknown</language>
	<schemaName>oai_dc</schemaName>
	<schemaURI>http://www.openarchives.org/OAI/2.0/oai_dc/</schemaURI>
	<bytestream>[B@60de1b8a</bytestream>
	<creationTime>2008-03-10T16:34:16.000+01:00</creationTime>
	<lastUpdateTime>2008-03-10T16:34:16.000+01:00</lastUpdateTime>
</isDescribedBy>
 
<mimeType>text/url</mimeType>
<length>34</length>
<url>http://hdl.handle.net/1721.1/27225</url>
<name>A methodology for the assessment of the proliferation resistance of nuclear power systems: topical report</name>
 
<hasAlternative t:id="0-alternative-0">
	<mimeType>text/xml;charset=UTF-8</mimeType>
	<length>406</length>
	<name>A methodology for the assessment of the proliferation resistance of nuclear power systems</name>
	<url>http://hdl.handle.net/1721.1/27225</url>
	<creationTime>2008-03-10T16:34:16.000+01:00</creationTime>
	<lastUpdateTime>2008-03-10T16:34:16.000+01:00</lastUpdateTime>
</hasAlternative>
 
<hasAlternative t:id="0-alternative-1">
	<mimeType>text/xml;charset=UTF-8</mimeType>
	<length>406</length>
	<name>A methodology for the assessment of the proliferation resistance of nuclear power systems</name>
	<url>http://hdl.handle.net/1721.1/27225</url>
	<creationTime>2008-03-10T16:34:16.000+01:00</creationTime>
	<lastUpdateTime>2008-03-10T16:34:16.000+01:00</lastUpdateTime>
</hasAlternative>
 
<hasAlternative t:id="0-alternative-2">
	<mimeType>text/xml;charset=UTF-8</mimeType>
	<length>406</length>
	<name>A methodology for the assessment of the proliferation resistance of nuclear power systems</name>
	<url>http://hdl.handle.net/1721.1/27225</url>
	<creationTime>2008-03-10T16:34:16.000+01:00</creationTime>
	<lastUpdateTime>2008-03-10T16:34:16.000+01:00</lastUpdateTime>
</hasAlternative>
 
</t:root>


Maven coordinates

The Maven coordinates of oai-tree-plugin of its development versions are:

<dependency>
  <groupId>org.gcube.data.oai.tmplugin</groupId>
  <artifactId>oai-tm-plugin</artifactId>
  <version>1.1.0-2.13.0</version>
</dependency>