Semantic Generation Of WCS Catalogs: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
No edit summary
Line 18: Line 18:


== Ontologies ==
== Ontologies ==
(My understanding is that once tuned the ontologies will be fairly static. We should make sure that they are checked in to the subversion repository http://scm.opendap.org/svn in the (as yet to be determined) appropriate spot and the discuss and link to them from here.)


== Processing Scheme ==
== Processing Scheme ==

Revision as of 23:20, 15 April 2009

Introduction

A WCS service must maintain a catalog of Coverages. In the Hyrax WCS service the implementation of this catalog is identified at server start-up from the DispatchHandler's configuration element in the olfs.xml file. This page documents the work on the development and usage of a catalog implementation that utilizes semantic web technologies to generate the WCS catalog content from existing (and probably supplemented) metadata from within the existing OPeNDAP data framework.

Technologies

RDF

OWL

SWRL & SEQRL

Implementations

Sesame RDF Datastore

Swift OWLIM

Ontologies

(My understanding is that once tuned the ontologies will be fairly static. We should make sure that they are checked in to the subversion repository http://scm.opendap.org/svn in the (as yet to be determined) appropriate spot and the discuss and link to them from here.)

Processing Scheme

Catalog Implementation

WCS DispatchHandler Configuration

The Hyrax WCS service is made of a collection 4 implementations of the opendap.coreServlet.DispatchHandler interface.

  • HTTP GET: opendap.wcs.v1_1_2.DispatchHandler
  • HTTP POST (For posting unadorned XML WCS requests): opendap.wcs.v1_1_2.PostHandler
  • HTTP POST (For posting SOAP envelopes containg WCS requests): opendap.wcs.v1_1_2.SoapHandler
  • HTTP POST (For handling WCS requests posted from an HTML form): opendap.wcs.v1_1_2.FormHandler

The service is enabled by creating an entry for each service component in the olfs.xml file.

The primary DispatchHandler is opendap.wcs.v1_1_2.DispatchHandler. It is required for the WCS service and it's Handler declaration contains the configuration information for the service. In it's Handler declaration the location of the ServiceIdentification, ServiceProvider, and OperationsMetadata documents are identified, along with a WCS catalog implementation to be used by the service.


To "turn on" the service Handler declarations must appear in the olfs.xml opendap.wcs.v1_1_2.DispatchHandler Configuration


Example Configuration

 <?xml version="1.0" encoding="UTF-8"?>
 <OLFSConfig>
   <DispatchHandlers>
       <HttpGetHandlers>
           <Handler className="opendap.bes.BESManager">
               <BES>
                   <prefix>/</prefix>
                   <host>localhost</host>
                   <port>10002</port>
                   <ClientPool maximum="10" />
               </BES>
           </Handler>

           <Handler className="opendap.coreServlet.BotBlocker">
              <IpMatch>65\.55\.[012]?\d?\d\.[012]?\d?\d</IpMatch>
            </Handler>  
                       

           <Handler className="opendap.wcs.v1_1_2.DispatchHandler">
               <prefix>WCS</prefix>
               <ServiceIdentification>/absolute/path/to/the/document/ServiceIdentification.xml</ServiceIdentification>
               <ServiceProvider>/absolute/path/to/the/document/ServiceProvider.xml</ServiceProvider>
               <OperationsMetadata>/absolute/path/to/the/document/OperationsMetadata.xml</OperationsMetadata>

               <WcsCatalog className="opendap.wcs.v1_1_2.RdfOwlCatalog">
                   <RDFServer>/absolute/path/to/the/directory/containing/the/wcs:CoverageDescription/documents/coverages/dir</RDFServer>
               </WcsCatalog>

           </Handler>
 
           <Handler className="opendap.threddsHandler.StaticCatalogDispatch">
               <prefix>thredds</prefix>
               <useMemoryCache>true</useMemoryCache>
           </Handler>
           <Handler className="opendap.bes.DapDispatchHandler" />
           <Handler className="opendap.bes.DirectoryDispatchHandler" />
           <Handler className="opendap.coreServlet.SpecialRequestDispatchHandler" />
           <Handler className="opendap.bes.VersionDispatchHandler" />
           <Handler className="opendap.bes.FileDispatchHandler" >
               <AllowDirectDataSourceAccess />
           </Handler>
           <Handler className="opendap.bes.BESThreddsDispatchHandler" />
       </HttpGetHandlers>


       <HttpPostHandlers>

           <Handler className="opendap.wcs.v1_1_2.PostHandler" >
               <prefix>WCS/post</prefix>
           </Handler>
           <Handler className="opendap.wcs.v1_1_2.SoapHandler" >
               <prefix>WCS/soap</prefix>
           </Handler>
           <Handler className="opendap.wcs.v1_1_2.FormHandler" >
               <prefix>WCS/form</prefix>
           </Handler>
 

           <Handler className="opendap.coreServlet.SOAPRequestDispatcher" >
               <OpendapSoapDispatchHandler>opendap.bes.SoapDispatchHandler</OpendapSoapDispatchHandler>
           </Handler>
       </HttpPostHandlers>
   </DispatchHandlers>
</OLFSConfig>