Last updated March 26, 2012 19:59, by allaves
Feedicon  

Annotation of Service Compositions

In the ENVISION project, we address the publication of environmental models as Web service compositions. We assume that each service has been previously annotated as we suggested in deliverable 4.2 (see figure 1). The Appendix of the deliverable 4.3 includes more information about the semantic annotation pattern followed in ENVISION (see section 9.1.2).

A published environmental model is considered as a black box wrapped in an OGC Web Processing Service (WPS) or an OGC Sensor Observation Service (SOS). If the inputs of the environmental model are predefined and cannot be changed, the service composition will be wrapped in an OGC Sensor Observation Service. Since both service compositions of the ENVISION use cases include some dynamic input, the annotation approach described in this section is addressed to WPS services.

Figure 1: Semantic annotation pattern in ENVISION.

The basic specification of the WPS includes three operations: GetCapabilities, DescribeProcess, and Execute. The response of a GetCapabilities request is a Capabilities document with a description of the service. Two references will be added to the WPS Capabilities (see listing 2) to link the document to the Web Service Description Language (WSDL) and Procedure-Oriented Service Model (POSM; called SMO in the figure 1) descriptions.

 <...>
 <wps:ProcessOfferings>
  <wps:Process>
    <ows:Identifier>de.ifgi.envision.wps.DroughtClassifierAlgorithm</ows:Identifier>
    <ows:Metadata xlink:href=“[path_to_WSDL_WPS]” xlink:arcrole=“http://role.org/wsdl”/>
    <ows:Metadata xlink:href=“[path_to_POSM_WPS]” xlink:arcrole=“http://role.org/posm”/>
    <ows:Title>[process_name]</ows:Title>
  </wps:Process>
  <wps:Process>
  ...
 </wps:ProcessOfferings>
 <...>

Listing 1: Annotations in the WPS capabilities (bolded).

For each process declared in the WPS capabilities, a POSM and a WSDL file will be created by the Service Model Translator (SMT). We use a POSM to describe the inputs and outputs of ProcessX (see listing 2). The first model reference (bolded) links the POSM file with a generic ontology describing the different operations of a WPS. Note that above that reference there are two seeAlso links to the Web service metadata: capabilities and WSDL files. The Execute request of the ProcessX takes a feature list as input (identified as FEATURES). The Execute response returns a subset of this feature list (identified as SUBSET_FEATURES). Both include a reference in form of rdfs:subClassOf to a Data Model Ontology (DMO) describing what is a GML feature. Axioms allow the refinement of an ontology with the use of logical expressions . In our case, we will place WSML axioms in the Effect element that will link the POSM file to the domain ontologies created for the ENVISION use cases. Our domain ontologies are aligned to the foundational ontology DOLCE. Deliverable 4.2 described the reasons for this choice.

 …
 <owl:Ontology rdf:nodeID="node1633lm6fsx1">
        <owl:imports rdf:resource="http://purl.org/ifgi/wps#"/>
        <owl:imports rdf:resource="http://purl.org/ifgi/ows/0.2#"/>
 </owl:Ontology>
 <posm:Service rdf:about="[POSM_for_ProcessX_URL]#ProcessX">
        <dc:title>[ProcessX_id]</dc:title>
        <rdfs:seeAlso rdf:resource="[WSDL_for_ProcessX_URL]"/>
        <rdfs:seeAlso rdf:resource=”[WPS_capabilities_URL]”/>
 <sawsdl:modelReference rdf:resource="http://purl.org/ifgi/wps#WebProcessingService"/>
 <posm:hasOperation rdf:resource="http://purl.org/ifgi/ows/0.2#DefaultGetCapabilities"/>
 <posm:hasOperation rdf:resource="http://purl.org/ifgi/wps#DefaultDescribeProcess"/>
        <posm:hasOperation>
           <wps:Execute rdf:about="[POSM_for_ProcessX_URL]#Execute">
                <dc:title>[ProcessX_id]</dc:title>
                <posm:hasInput rdf:resource="[POSM_for_ProcessX_URL]#ExecuteRequest"/>
                <posm:hasOutput rdf:resource="[POSM_for_ProcessX_URL]#ExecuteResponse"/>
           </wps:Execute>
        </posm:hasOperation>
 </posm:Service>
 <wps:ExecuteRequest rdf:about="[POSM_for_ProcessX_URL]#ExecuteRequest">
        <dc:title>WPS Execute Request</dc:title>
 </wps:ExecuteRequest>
 <wsl:Condition rdf:about="[POSM_for_ProcessX_URL]#ExecuteInputDefinition">
        <dc:title>Condition:[ProcessX_id]</dc:title>
 </wsl:Condition>
 <wsl:Effect rdf:about="[POSM_for_ProcessX_URL]#ExecuteOutputDefinition">
        <dc:title>Effect:[ProcessX_id]</dc:title>
 <rdf:value rdf:datatype="http://www.wsmo.org/wsml/wsml-syntax#AxiomLiteral">
                [WSML_Axiom]
        </rdf:value>
 </wsl:Effect>
 <wps:ExecuteResponse rdf:about="[POSM_for_ProcessX_URL]#ExecuteResponse">
        <dc:title>WPS Execute Response</dc:title>
 </wps:ExecuteResponse>
 <rdf:Description rdf:nodeID="node1633lm6fsx1">
        <owl:imports rdf:resource="http://purl.org/ifgi/gml/0.2#"/>
 </rdf:Description>
 <rdfs:Class rdf:about="[POSM_for_ProcessX_URL]#ExecuteInput_FEATURES">
        <rdfs:subClassOf rdf:resource="http://purl.org/ifgi/gml/0.2#AbstractFeature"/>
        <dc:title>Process Input</dc:title>
        <dc:identifier>FEATURES</dc:identifier>
 </rdfs:Class>
 <rdf:Description rdf:about="[POSM_for_ProcessX_URL]#ExecuteRequest">
        <sawsdl:modelReference rdf:resource="[POSM_for_ProcessX_URL]#ExecuteInput_FEATURES"/>
 </rdf:Description>
 <rdfs:Class rdf:about="[POSM_for_ProcessX_URL]#ExecuteOutput_SUBSET_FEATURES">
        <rdfs:subClassOf rdf:resource="http://purl.org/ifgi/gml/0.2#AbstractFeature"/>
        <dc:title>Process Output</dc:title>
        <dc:identifier>SUBSET_FEATURES</dc:identifier>
 </rdfs:Class>
 <rdf:Description rdf:about="[POSM_for_ProcessX_URL]#ExecuteResponse">
        <sawsdl:modelReference rdf:resource="[POSM_for_ProcessX_URL]#ExecuteOutput_SUBSET_FEATURES"/>
 </rdf:Description>
 </rdf:RDF>

Listing 2: POSM representation of the ProcessX

The Web services and domain ontologies to be used in the ENVISION environmental models are currently under development.

  • Mysql
  • Glassfish
  • Jruby
  • Rails
  • Nblogo
Terms of Use; Privacy Policy;
© 2010, Oracle Corporation and/or its affiliates
(revision 20120518.3c65429)
 
 
Close
loading
Please Confirm
Close