Last modified 5 years ago Last modified on 07/29/2009 01:42:51 PM

Example Scenario

Let us consider the following scenario for the remaining of this documentation: Chris, working for a mapping agency, has been asked to setup a Web service providing information about current water levels (coming from real time sensors). Such data is available on the Web, e.g. the WaterWatch by the U.S. Geological Survey,, or PegelOnline by the German WSV. The data models are quite complex, and require certain expert knowledge to understand. In the U.S., the current water level (measured in Feet) is commonly represented as "stage", which is, according to this source, "the level of the water surface of a river or stream above an established gage datum at a given location.". Correct interpretation depends on contextual information like the establised gage datum (which varies, especially across national borders), the applied measurement scale, the time of measurement, and much more.

That's why Chris decided to ship the data with accompanying information with details about the features in the data model. To simplify integration, this information is encoded as a XML-based document (preferrably RDF to remain flexible). In this document, the individual elements in the data model are explained in detail, which lets developers (who has usually no idea what a "stage" is) integrate current water level data in their applications without the risk of misinterpretation.

The content is served via an OGC-compliant Web Feature Service (WFS), the data is encoded in the Geography Markup Language GML. In our discussion paper we have described in detail, how we can link the individual feature types and their attributes to external descriptive metadata encoded, for example, in Ontologies. Establishing the link manually is not really difficult, since it is simply a matter of editing the XML files and adding new attributes holding the links at the appropriate locations. But usually the XML-encoded descriptions of the data model are generated automatically from the data, the same is valid for the overall service descriptions (it's like the WSDL file generated once you add the ?wsdl-extension to a W3C-compliant Web Service).

Chris has to find a way to dynamically add the references to external metadata to the service descriptions during their generation. We call this process the "injection" of the references, and sapience serves the infrastructure to realize these injections.