Metadata Catalog

    MORPHO can work not only with local metadata, but also with information collected on one or more centralized servers and connected to the MORPHO client by a network. In generic terms, this central metadata store is referred to as a "catalog". A specific implementation that is now working is called "METACAT".

    METACAT is implemented as Java-based servlet connected to an Oracle relational database. The database is constructed so that arbitrary XML documents can be stored in the database. The use of a servlet as the web interface means that standard Internet web pages can connect to METACAT and query the catalog. Standard HTTP protocols are used for communicating with the servlet. Information sent and received is simple text; most often, XML is used for queries and responses. [Note that the typical user has no need to use this detailed information!]

    Queries are sent to METACAT using a special 'pathquery' XML format. An example is shown below:

<?xml version="1.0"?>
<pathquery version="1.0">
<meta_file_id>970765295930</meta_file_id>
<querytitle>query_title</querytitle>
<querygroup operator="UNION">
  <queryterm casesensitive="true" searchmode="contains">
   <value>NCEAS</value>
   <pathexpr>title</pathexpr>
  </queryterm>
  <queryterm casesensitive="true" searchmode="contains">
   <value>NCEAS</value>
   <pathexpr>paragraph</pathexpr>
  </queryterm>
  <queryterm casesensitive="true" searchmode="contains">
   <value>NCEAS</value>
   <pathexpr>keyword</pathexpr>
  </queryterm>
</querygroup>
</pathquery>