BizTalk Utilities CV ,   Jobs ,   Code library
 
Home Page


Add/Edit your code items
Search the code library
Browse for the code library


Uncategorized
Wrapping multiple elements in a parent element
Anet XML Search Engine
Count Distinct
Superx++ Compiler and Runtime 1.0
XML Viewer
ALL UPPERCASE or all lowercase
Class Redefinition using Class Interfaces in Superx++
Object Reclassification: Choosing The Right Tool At The Right Time
XML Search Module for DotNetNuke
Ontology Management System
WebBrowser control customization
A closer look at XML Data Binding, including a product appraisal (Part 1/3)
Read Directory and Create XML File
XMLSapiens - Open Source CMS
70-291 Demo Exam Questions
70-291 Demo Exam Questions
Time Line Calculation - [ Frame level calculation in Visual Basic 6.0 ]
How to bind a nested xml to a repeater control with Container.DataItem?
How to bind a XML to a DataGrid?
How to bind a XML File to a DropDownList?


 
 

<< System.XMLWCF, WS, SOAP >>


By Muhammad Taimoor Khan
First Posted 04/29/2003
Times viewed 2144

Ontology Web Language


Summary The OWL is the part of W3C stack for Semantic Web, its model is inferred from RDF model but having more flexibilty, so that any sort of relationship among the elements can be presented. One can design more complex relationships using OWL and the search would also be much easy as the contents are in their best form. So this is the only solution for searching the contents much faster as the contents are managed and secondly more readable to machine as well.

The web is considered as really really a huge library in which we can search and edit the contents. Now what about the searching methodologies for the huge contents to do so you must have organized contents to make the search fast and efficient. Already there are different methodologies and techniques are used for searching e.g. RDF and XML etc. but no one has fulfilled the entire requirement. OWL is basically designed for the applications in which content processing (content authoring) is important rather than just presenting the contents to humans. It would make the web search much intelligent and readable to machine as well.

Why OWL

It seems that future of the web languages would be Web Semantic and OWL is one of its activity. Here the question rises that what's the specialty of OWL, which is not provided in XML and XML Schema, the history intended as follows;

1. XML provides a syntax for structured documents, but doesn't define semantic constraints on the meaning of the documents.

2. XML Schema is a language for restricting the structure of XML documents.

3. RDF is a datamodel for objects (resources) and relations between them, provides a simple semantics for this datamodel, and these datamodels can be represented in an XML syntax.

4. RDF Schema is a vocabulary for describing properties and classes of RDF resources, with a semantics for generalization-hierarchies of such properties and classes.

5. OWL is nothing but enhanced RDF and it has more vocabulary for describing properties and classes: among others, relations between classes (e.g. disjointness), cardinality (e.g. exactly one), equality, richer typing of properties, characteristics of properties (e.g. symmetry), and enumerated classes.

6. An ontology is a knowledge representation of data rather than message format only i.e. in XML Schema. For example if your purchase order for any product is fulfilled, which can be presented in XML Schema as well but what about the context external to this transactions consensus i.e. the product has white color so it can't be sold.

What is RDF

It was the first attempt, which was made in defining relationships in XML documents. The basic model of RDF (Resource description framework) comprises of three following components;

Resource

Anything that is described in RDF expressions is called resource; it can be web page, an xml document, the whole web site and even any external resource for the site.

Property

A property is a specific characteristic, attribute, or relation used to describe a resource. Each property has a specific meaning, defines its permitted values, the types of resources it can describe, and its relationship with other properties.

Statement

A specific resource together with a named property plus the value of that property for that resource is an RDF statement. These three individual parts of a statement are called, respectively, the subject, the predicate, and the object.

Example

Consider as a simple example the sentence:
Ijaz Ahmed is the administrator of the resource
<http://www.emalangs.com>.

This sentence has the following parts:

 

Subject (Resource)

http://www.emalangs.com <http://www.binariez.com/>

Predicate (Property)

Administrator

Object (literal)

Ijaz Ahmed

The complete XML document presenting this information would look like;
<?xml version=1.0?>
<rdf:RDF xmlns:rdf=
<http://www.w3.org/1999/02/22-rdf-syntax-ns>
xmlns:s=http://description.org/schema/>
<rdf:Description about=http://www.emalangs.com>
<s:Administrator>Ijaz Ahmed</s: Administrator >
</rdf:Description>
</rdf:RDF>

But in this example we are restricted as our bounding with the RDF Container model, which has the following characteristics;

RDF Container Model

It also has three components i.e. Bags, Sequence and Alternative.

Bags

It has an unordered list of resources or literals. Bags are used to declare that a property has unordered multiple values. Bag might be used to give a list of part numbers where the order of processing the parts does not matter while duplicate values are permitted.

Sequence

It has an ordered list of resources or literals. Sequence is used to declare that a property has ordered multiple values. The resources are in ordered list so that one can find them easily.

Alternative

It contains a list of resources or literals that represent alternatives for the (single) value of a property. Alternative might be used to provide alternative language web page for the site An application using a property whose value is an Alternative collection is aware that it can choose any one of the items in the list as appropriate.

Now as it is clear from the model that we are restricted to have three different relationships in RDF, now what if we have three different administrators e.g. System, Database and Network for the above mentioned resource. Now the statement would be as;

There are three administrator of the resource http://www.emalangs.com. Network Administrator, System Administrator and Database Administrator each having distinct roles and responsibilities.

Using RDF model and container the information would be as;

Using bags

<rdf:RDF>
<rdf:Description about=
<http://www.emalangs.com>>
<s:Administrators>
<rdf:Bag>
<rdf:li resource=Network Administrator/>
<rdf:li resource=System Administrator/>
<rdf:li resource=Database Administrator/>
</rdf:Bag>
</s:Administrators>
</rdf:Description>
</rdf:RDF>

Using Alternative

<rdf:RDF>
<rdf:Description about=
<http://www.emalangs.com>>
<s:Administrators>
<rdf:Alt>
<rdf:li resource=Network Administrator/>
<rdf:li resource=System Administrator/>
<rdf:li resource=Database Administrator/>
</rdf:Alt>
</s:Administrators >
</rdf:Description>
</rdf:RDF>

Using Sequence

<rdf:RDF>
<rdf:Description about=
<http://www.emalangs.com>>
<s:Administrators>
<Seq ID=AdminByRole>
<rdf:li resource=Network Administrator/>
<rdf:li resource=System Administrator/>
<rdf:li resource=Database Administrator/>
</Seq>
</s:Administrators >
</rdf:Description>
</rdf:RDF>

But in this case you can see that RDF is capable of only explaining the information about the resources and can't explain the second part of the statement (each having distinct roles and responsibilities) in which their roles are defined. So by using OWL we can present the knowledge information as;

<Administrator rdf:ID=Network Administrator/>

<Administrator rdf:ID=System Administrator>
<owl:differentFrom rdf:resource=#Network Administrator/>
</Administrator>

<Administrator rdf:ID=Database Administrator>
<owl:differentFrom rdf:resource=#Network Administrator/>
<owl:differentFrom rdf:resource=#System Administrator/>
</Administrator>

The above xml-section presented the RDF resources.

<owl:AllDifferent>
<owl:distinctMembers rdf:parseType=Collection>
<admin:Administrator rdf:about=#Network Administrator />
<admin:Administrator rdf:about=#System Administrator />
<admin:Administrator rdf:about=#Database Administrator />
</owl:distinctMembers>
</owl:AllDifferent>

From the above mentioned information you can at least you can conclude that the
three administrators have distinct roles/types, such a solution can't be explained
using RDF, XML or XML Schema.
OWL also has many flexibility in its model to present different sort of relationships
among the elements. For detail visit the URL;
<http://www.w3.org/TR/2003/WD-owl-guide-20030331/>

and for RDF parser and its detail visit;
<http://www.redland.opensource.ac.uk/demo>

Conclusion

The OWL is the part of W3C stack for Semantic Web, its model is inferred from
RDF model but having more flexibilty, so that any sort of relationship among the elements
can be presented the detail of which can be read at
http://www.w3.org/TR/owl-ref/ - appA <http://www.w3.org/TR/owl-ref/>.
One can design more complex relationships using OWL and the search would also be much easy as the contents are in their best form. So this is the only solution for searching the contents much faster as the contents are managed and secondly more readable to machine as well.


Rate this article on a scale of 1 to 10 (0 votes, average 0)

Your vote :  

<< System.XMLWCF, WS, SOAP >>





Leave a comment for this article
Your name
Your email (optional)
Your comment
Optional: Upload an attachment
Enter the code shown:

 
 

    Email TopXML