Platinum Sponsors

Netcetera AG

Sun Microsystems

Gold Sponsors

Silver Sponsors

Partners

Taylor Cowan

Taylor Cowan

(8982) Programming the Semantic Web in Java

Technical long talk 50 min

Thursday, 2009-06-25, 10:30 - 11:20, Arena 7

Taylor Cowan - Sabre Holdings (speaker)

Rate this talk:

Topics

Download the presentation

Abstract

At first glance OOP developers will find OWL (Ontology Web Language) familiar. 
It has classes that inherit from other classes. It has properties that can be 
related to particular classes using range and domain. It also uses familiar data 
types in the way of xml schema (integers, strings, dates) which OOP developers 
might find similar to primitives. And finally, it has individuals that are 
declared as instances of classes. But beware. The similarities between OWL and 
OOP are only skin deep.

Along with the similarities come subtle differences that might go unnoticed to 
the eager OOP aficionado. Notably, multiple inheritance is allowed in OWL/RDF. 
This obviously poses a problem in some cases if your intention is to mirror an 
ontology with a one-to-one OWL class to Java class binding. An even more 
interesting feature that OWL has over OOP (the Java flavor) is that OWL allows 
class based restrictions to be declared on properties. When I introduce Java 
developers to OWL I usually tell them that where Java is object focused, OWL is 
property focused. Any tool that attempts to bind java objects to RDF must take 
into account these differences. In ORM (Object Relational Mapping) developers 
have recognized that there is an impedance mismatch between objects and 
relational data models. Similarly, OOP and OWL have their own impedance 
mismatch.

My talk will introduce the semantic web via the tools available to Java 
developers, namely HP's Jena and Aduna's OpenRDF. I will introduce the audience 
to the Jena api and how developers create, update, and query semantic web data. 
The attendees will also gain understanding behind the various persistence 
mechanisms available in Jena. Finally, I will introduce the Jenabean 
(http://code.google.com/p/jenabean/) open source binding tool for Jena. It is an 
annotation based object binding tool for Jena, HP's semantic web toolkit. The 
project team is currently working on a JPA (Java Persistence Architecture) 
styled programming model to further reduce the gap between RDF and the Java 
community at large. Jenabean uses Java introspection techniques and dynamic 
proxies to bind Java classes to the Jena RDF api, as well as assisting SPARQL 
query authors with parameterized queries (similar to Java's PreparedStatement 
api). Jenabean only depends on Jena and the JPA api. In other words, it does not 
utilize any byte code tool sets. During my talk I will introduce the audience to 
RDF/OWL basics and demonstrate the existing programming models. Then I'll share 
with them the advantages of using a binding tool to simplify Java development in 
the semantic web space. After attending this talk you will understand more about 
what the semantic web entails, and how java developers can get their feet wet 
and apply semantic technologies today using freely available open source tools.

Media Partners

netzwoche
inside-it
APRESS
Methods&Tools Logo