Link - Using Semantic Web Technologies to Integrate Software Components

Updated Oct 20 2008: new link

A really excellent example of what can be accomplished with a pragmatic approach to implementing RDF and Semantic Web applications, by Drs. Marwan Sabbouh and Joseph K. DeRosa at the Mitre Corporation. They use OWL ontologies to map between databases in three basic steps:

1. Express any software component’s formalism as an ontology,
2. Map the component’s ontology to the domain ontology, and thus
3. Integrate components at the semantic level without writing integration code.

They created three fundamental ontologies containing state-of-the-world knowledge ( a.k.a. upper ontologies ),

1 - a domain ontology for customers, addresses, etc.
2 - a database ontology for attributes, relations, and foreign keys.
3 - a web service ontology for parameters, output, conditions and effects.

They link the three upper ontologies ( that is the "Component Ontologies to the Domain Ontology"), and then generate a fourth ontology for the doing part of the application to interface to MapQuest.

In actual operation, the user first creates a raw instance of MapQuest and feed it a query, from which they get a suggested execution path for that particular database query pattern. Next, the user can accept the suggested path and generate a powerful semantic web service for that query type ( now called a Semantic Viewer ). They utilized a variety of target languages, but mostly C# and .NET.

The Semantic Viewer understands a wide range of possible input and output formats for the particular data set. In fact, the Semantic Viewer is capable of collaborating with other Semantic Viewers to achieve a result, very similar to a software agent.

From the Word document:

The approach that we have developed differs from the OWL-S approach in an important way: OWL-S does not address web service integration with an existing database without first building a web service that abstracts that database. In our approach, a web service can be integrated with a database (or any other software component for that matter) through simply linking ontologies. Thus there is no preferential integration methodology – all software components are on an equal footing through their ontological representation.

For a reader who has some knowledge of database design, it's a very down-to-earth intro into RDF and Semantic Web Services.

Reply

CAPTCHA
Are you human or a nasty spambot ?