Monday, September 01, 2008

Predicate and URIs

While going through different papers I realized that almost every research paper has different functions that do some common operations and work on two objects. Say isMotherOf(x,y) could be mother(x,y) and so on. Now the questions arises that if there are many such predicates exist in different knowledge base then how will someone know that they are related and they virtually do the same thing.

The Predicates are like function or relation-builder as they establish relationship between two objects. So we can very well say that the predicates are the base for our reasoning mechanism or determining what the two objects are all about. It also plays an important role in the context definition of the two objects.

This gives me a strong point to put forward the predicate being a URI so that two knowledgebase if they are using the same predicate or relation then they do mean the same thing. Using this principle a Reasoning Engine can be developed that can extract the meaning of the statements / facts etc in the system. If we design a system on this principle then the amount of ambiguity we need to deal with will be less.

The RDF facilitates the Predicates to be both URI and simple text, but in long run the simple text might look flexible or simple to work with but more people will use URIs for the predicate in RDF. Removing the ambiguity once and for all is a distant dream though. Even though we follow these principles, we will still have some duplicate predicates in the system. But somewhere along the line we need to develop a mapping that will assign aliases for both the predicates and based on popularity the less used one can be phased out in due course.

Until Next Time.....