Friday, June 22, 2007

What is an Ontology?

While reading about Semantic Web we come across one common term always, The Ontology. What I found that every site and author gives a different definition of ontology. The best of that I liked was what was given by Tom Gruber "An ontology is a specification of a conceptualization".

I tried to find the answer at few more places as what the ontology is all about. There were few interesting answers I got:

Webster Dictionary
1 : a branch of metaphysics concerned with the nature and relations of being
2 : a particular theory about the nature of being or the kinds of things that have existence

David Koepsell, Center for Commercial Ontology:

Ontology is the very first science. Ontology involves discovering categories and fitting objects into them in ways that make sense. When we make a list of things to do, or of records and books we most want to buy, or videos we intend to rent, we are categorizing-we are engaging in rudimentary ontology. By prioritizing items in a list, we are assigning relationships among various things. Ontology can be relatively simple, or it can be quite complex.

Ontology becomes more complex, and even daunting, when we begin to grapple with large domains of objects with complex relationships among them. For instance, anyone who has attempted to outline the processes and components of even a relatively small enterprise has experienced the brain-cramps that can come with complex ontology.

Wordnet from Princeton University defines ontology as
1. (computer science) a rigorous and exhaustive organization of some knowledge domain that is usually hierarchical and contains all the relevant entities and their relations
2. the metaphysical study of the nature of being and existence

There are many more definitions available on net and one is bound to get confused when he/she comes across so many different kinds of definitions of the same word. But what actually the Ontology is? The question still remains unanswered or not convincingly answered.

From my study about ontology I found that It is explanation about the things as they exist in the real world. I am not after another definition here but just making an attempt to simplify for my understanding. But at the same time one of my associates think that Ontology is a Reasoning mechanism and it is representation of the logic.

What I am looking to work out is a generalized way to define the ontology which is universal in nature. I am sure many out there will disagree with me on this point that there could be a Universal Ontology. But my question to those people is why it can't be? What is so difficult about ontology which is stopping it from being represented in a general form.

In one of my earlier post on Knowledge Representation I mentioned that Knowledge Representation makes and ontological Commitment. If that is the case then each object in this world is part of one or more ontology. And if an object can exist in more than one ontology then there has to be some sort of similarity between two of them. Just thinking on those lines I guess it is possible to have a set of general ontology defined for all kinds of objects in existence today.

For those who are reading, I would love to know your view on this.

Until next time... :)

Thursday, June 14, 2007

Dynamic Composition using Semantic Web Services

As per Wikipedia the workflow is defined as: Workflow at its simplest is the movement of information and/or tasks through a work process. More specifically, workflow is the operational aspect of a work procedure: how tasks are structured, who performs them, what their relative order is, how they are synchronized, how information flows to support the tasks (wordflow) and how tasks are being tracked. As the dimension of time is considered in workflow, workflow considers "throughput" as a distinct measure. Workflow problems can be modeled and analyzed using graph-based formalisms like Petri nets.

Workflow is an intergral part of today's business applications. Where we perform a chain of activities like Order fulfillment, Payment Processing, New Recruit etc. Today SOA, BPM and many others are trying to address the same problem domain.

With Semantic Web Services in place creating a Workflow dynamically seems to be a possible task. Here are few reasons why I see that a possibility:
  1. Ontology Based: Every Service makes an Ontology Commitment. i.e. it finds its place in the Ontology Structure.
  2. No Fixed Messaging Structure: This means each service is capable of using a common understood format for input and output messages.
  3. Meaning Based: Each publisher will publish details along with the Service which conveys meaning of it. This makes the Discovery process more accurate. The only problem will arise if two or more services are published with the same Semantic description. In that case another parameter like region, cost or any other such parameters will be required to make the choice.
Considering these I am in the opinion that dynamic composition is a possibility using Semantic Web Services. In future posts I will elaborate more on this and also the way I see it all coming together.

I am right now in the process of working on a model for Ontology Server. I would love to hear from you this. If you have any thoughts / ideas on Ontology Server I would like to hear from you.

Until Next Time ... :)

Wednesday, June 06, 2007

Introduction to Semantic Web Services

In one of my earlier post I talked in brief about the Semantic Web Services (SWS). Today I was reading another Conference paper on Semantic Web Services titled "Approaches to Semantic Web Services" and there I came across few interesting facts about the same.

Semantic descriptions of Web Services are necessary in order to enable their automatic discovery, composition and execution across heterogeneous users and domains. Current technologies for Web Services provide description at the syntactic level. This makes it difficult for the requesters and providers to interpret or represent non-trivial statements such as the meaning of input and output parameters or any constraints that apply to them.

By applying a rich set of semantic notations that augment the service description we can relax this limitation described earlier. A Semantic Web Service is defined through a service ontology, which enables machine to interpret the capability of the service as well as makes it easy to understand the domain in which the Service is applied to.

Semantic Web Service infrastructures can be characterized along three orthogonal dimensions viz usage activities, architecture and service ontology. These dimensions relate to the requirements for SWS at business, conceptual and physical level.
  1. Usage Activities define the functional requirements which a framework for SWS is ought to support.
  2. The Architecture of SWS defines the components needed for accomplishing these activities.
  3. The Service Ontology aggregates all concept models related to the description of a SWS and constitutes the Knowledge-Level model of the information describing and supporting the usage of the service.
The activities required for running an application using SWS includes : publishing, discovery, selection, composition, invocation, deployment and ontology management. In future posts we will discuss each of them in detail.

Until Next Time...:)