4. Architectural Components

The semantic framework can be constructed with the following components. Although this section essentially describes an architectural block diagram, it should be considered illustrative; other architectures are possible and may be chosen as a final implementation.

Architectural components that are followed by an asterisk are described as part of an earth observing system in the overview description of the OOSTethys project.

Semantic Mediator

A Semantic Mediator is a key service provider for the proposed semantic framework. (In the OOSTethys overview, the Semantic Mediator incorporates the Ontology Registry and Semantic Engine, though we have described those components separately here.)

A Semantic Mediator must be able to read, analyze and use ontologies from distributed ontology providers, including ontology registries. It should be able to respond to queries about terms, not only providing metadata information about that term (e.g. definition, creator) but also relationships among Terms (e.g. X narrower than Y). Some of this relation could be explicit of inferred via rules and description logics. A semantic mediator gets ontologies from registries and uses an underlying semantic engine.

Ontology Registry

The Ontology Registry is a component that manages information about terms and their relationships, expressed as ontologies. It provides systematic organization/storage (repository) of that information, and can respond to queries about the stored information. It must keep track of versions on controlled vocabularies and individual Term level, and generally enable users to access their submitted information (using a variety of interfaces) immediately upon submission. Detail set of requirements is available at MMI registry project, and a complementary set of use cases may be found at Open Ontology Initiative.

Semantic Engine

The Semantic Engine performs computations that associate multiple relationships among terms, so as to derive knowledge that was not directly defined. The Semantic Engine must be capable of performing inference operations quickly when dealing with large ontologies and large number of ontologies.

Vocabulary Builder

User tools must enable trivial development and registration of controlled vocabularies. The Vocabulary Builder collects all of the essential operations into a single integrated end-user tool, making user interactions as simple as possible.

The Vocabulary Builder integrates Term Selection, Term Creation, Term Mapping, and Vocabulary Registry services (see previous section).

User Application (e.g., Visualizer *)

A User Application provides data or information management capabilities to the end user. Such capabilities have semantic requirements, the User Application can use the interfaces of the Semantic Framework to provide semantic interoperability as part of the data or information management capabilities.

For example, a Visualizer may provide visualizations of an aggregated data set that contains many different variables. Many variables may be measuring the same observable property, even though they use different terms. To provide semantic interoperability, the Visualizer can use the semantic framework (according to the scenarios below) to identify which of the terms actually refer to the same, or similar, observable property.

Data Provider *

The Data Provider may be an originator of data, for example via measurements or model runs, or may provide data that is the result of transforming other data.

A well-behaved Data Provider should provide its data using interoperable protocols, including the use of semantically interoperable labels and concepts. By using a semantic framework, the Data Provider's developers can find and use appropriate controlled vocabularies to label the outputs from the Data Provider in semantically interoperable ways.

Data Processor (e.g., Data Aggregator *)

A Data Processor is a particular type of Data Provider, that must accept data as input, as well as provide data as output. To enable effective semantic interoperability, often the Data Processor must transform a variety of semantic inputs into a coherent set of semantic outputs.

The Data Processor can use the semantic framework both to understand the inputs it receives, and to generate understandable outputs. In the ideal scenario, all of the Data Processor's inputs already reflect interoperable terms and practices from the semantic framework, and the Data Processor's outputs can be made semantically interoperable using automated algorithms, with no human intervention.

Data Archiver *

The Data Archiver is also a Data Provider (or else it is not useful), with the additional constraint that it must provide meaningful storage and access to the data over an extended period of time. This has two implications for semantic interoperability: terms that are used to describe the data (that is, the metadata for the data submissions) should be defined clearly enough to retain their comprehensibility over time; and any use of the semantic framework should be tolerant of changes in the framework's semantic content (in particular, vocabulary changes) over time.

With appropriate use of the semantic framework, both issues can be addressed. The formalization of controlled vocabularies provides major support for long-term understanding, and mapping of concepts to other concepts increasing both the understanding and viability of the terms over a long period. And the inherent versioning of terms and their definitions that is provided by the semantic framework lets users eliminate any uncertainties about which version or definition for a term was intended.