TheSemanticBlog

The Semantic Web, Semantic Web Services and more…

Posts Tagged ‘RDF’

Semantic Data Storage in Oracle

Posted by Aditya Thatte on January 16, 2009

Oracle 10g Release 2/ 11g offers a robust, scalable, secure platform to store RDF, OWL data. It allows efficient storage, loading and querying of semantic data. Queries are enhanced by adding relationships ( ontologies ) to data and evaluated on the basis of semantics. Data storage is in the form of RDF triples (Subject Predicate Object) and can scale upto million triples. The triples stored in the semantic data store are modelled as a graphed structure. All the data is stored in a single central schema allowing access to users for loading and querying data.

The Subject and object are modelled as nodes, while the predicates are denoted by links in the graphed structure. Nodes are stored and efficiently reused when required. An RDF triple in the semantic store has a subject ( start node ), predicate (relationship), object ( end node ), which comprises a link. A new link is created on inserting a new triple and nodes are reused if similar nodes already exists.

New object types are defined to manage Semantic Data viz. SDO_RDF_TRIPLE and SDO_RDF_TRIPLE_S. The former stores the references to the data and the latter holds the actual data content. The nodes ( Subject, Object ) are stored in the RDF_NODE$ table, which can be further broken down into START_NODE_ID and END_NODE_ID. The RDF_LINKS$ table stores the record for the link whenever a new triple is inserted. Blank nodes may also be inserted as a part of any triple, which are stored in the RDF_BLANK_NODE$. An RDF model stores references to all the RDF data in the database and can be created by executing the sem_apis.create_sem_model procedure.

To get started with semantic data management on Windows XP, click “https://thesemanticway.wordpress.com/2009/01/04/configuring-semantic-web-technology-support-in-oracle-11g-release-1-on-windows-xp” to configure semantic web technology support in Oracle.

This article gives an overview of semantic data storage,however to get additional in-depth information on Semantic Data support in Oracle, here are some useful links:

http://download.oracle.com/docs/cd/B19306_01/appdev.102/b19307/sdo_rdf_concepts.htm

http://download.oracle.com/docs/cd/B28359_01/appdev.111/b28397/sdo_rdf_concepts.htm

References : RDF support in Oracle (http://www.oracle.com/technology/tech/semantic_technologies/pdf/semantic_tech_rdf_wp.pdf)

Posted in OWL, RDF, Semantic Web | Tagged: , | 1 Comment »

RDF Schema (RDFS) Example

Posted by Aditya Thatte on November 16, 2008

RDF is a mechanism to describe information on the web.RDF Schema ( RDFS ) adds vocabulary to express information in the form of classes and subclasses and the relationship between them. RDF also defines properties associated with classes.

A relationship between two things / entities can be represented by a class. A list of all RDF classes and properties can be found at http://www.w3.org/TR/rdf-schema/.

Let us consider an example of RDF and RDFS layers.

Statement : Aditya Thatte stays in Pune

The schema for this statement will contain the following classes and propertiesrdf_rdfs

For the statement ” Aditya Thatte stays in Pune ” , the RDF triple is ( Aditya Thatte , stays in , Pune)

This  can be mapped to a schema which contains the classes ” Citizen ” and ” Country”. A Citizen “abc”

stays in a country ” X” , then “X’ also involves “abc”.

The class citizen has subclasses “Voting citizen ” and ” non voting citizen” and the country class has subclasses ” states ” which inturn has subclasses ” city ” , “town” , ” taluka” represented by the “subclassof ” property.

The rectangle represents properties, ellipses in the RDFS layer represents classes while ellipses in the RDF layer represents instances. The domain and range enforce constraints on the subject and objects of a property.

So, the above diagram suggests that the subject ( Aditya Thatte ) is a “type” of voting citizen , object (Pune) is a “type” of a city and the relationship between them is ” stays in” or “resides in” .

Thus, RDFS expresses vocabulary in the form of classes and properties.

References : Thinking on the web – H.Peter Alesso, Craig F. Smith

Posted in Semantic Web | Tagged: , | Leave a Comment »

RDF : An Introduction

Posted by Aditya Thatte on November 16, 2008

HTML is used for formatting data and representing it in the form of a web page. XML is used to describe and exchange data over different software systems. XML defines and uses metadata , since it has the ability to use ” user defined” tags.  The “user defined” tags add meaning to data , however it is only understood by humans.

For example,

<car>
  <model> Honda Civic coupe TS1 </model>
</car>

Human can understand this as ” The model of the car is Honda Civic Coupe TS1″.

Resource Description Framework extends the XML model by adding semantics (meaning), to enable machine capable ( machine interpretable ) processing. It is based on triples, also called N-3 notation ( Subject , predicate , object ).

Subject : A data resource ( person , thing ) that a statement describes . Identified by a URI.

Predicate : The property of the subject ( resource ) being described. It can be name , title , color , weight etc , and is also identified by a URI.

Object : The value of the property ( Aditya Thatte , Yamaha etc ).

A simple statement can be represented as triples in the following manner,

Statement : Aditya Thatte works in TIBCO.

The triple can be expressed as ( Aditya Thatte , works in , TIBCO ).

Subject : Aditya Thatte

Predicate : works in

Object : TIBCO

semanticnet

The above figure shows the graphical representation of the RDF statement. Such a graphical representation is referred to as a “Semantic net ” . For more information on RDF visit “http://www.w3.org/RDF/&#8221;.

Posted in Semantic Web | Tagged: , | Leave a Comment »

The Semantic Web : An Introduction

Posted by Aditya Thatte on November 11, 2008

The Semantic Web is an initiative aimed to build an intelligent architecture for the web. Today’s web is identified by markup languages like HTML  , XML , which is  ofcourse syntax based and understood by browsers. The browser agent understands the syntax and renders the page accordingly , but does not understand the meaning of the elements and its relationships with other elements used in the document.

For example , the statement ” Aditya Thatte works in TIBCO Software ” is interpreted by the current infrastructure as a pure HTML paragraph , <p> Aditya Thatte works in TIBCO Software</p>

The above sentence can be understood by humans but not by computers.The Semantic Web enables computers to understand data that describes data ( metadata ).
 The aim is to create web content machine-interpretable , so that software agents can access data ( resources ) from disparate sources and link data. The idea is to use existing knowledge to create new knowledge.

In contrast to the above interpretation ,  the semantic web can enable computers understand the above statement as ” Aditya Thatte “works” in TIBCO Software ” i.e the relationship between Aditya Thatte and TIBCO Software , which apparently is “works ” or in other words ” is an employee of ” .

All the above said and done , the Semantic web uses AI , logic , powerful reasoning mechanisms ,inference engines, and markup languages like Resource Description Framework (RDF) , Web Ontology Language (OWL) to create an intelligent architecture.

RDF is a standard which describes resources ( information ) on the web. OWL aims at representing related concepts using ontologies. The semantic web has various applications like semantic search , semantic Web services ( SWS ) , bioinformatics etc.
Here we shall look at how we can use the power of semantic web technologies and apply it to web services to automate the processes of discovery , invocation , composition and mediation.

Posted in Semantic Web | Tagged: , , | 1 Comment »