RDF FOAF Contact Data

Semantic Web

The concepts behind the semantic web are of a great deal of interest to me. I believe that as the standards, technologies and processes become more formalized and mature that they will lead to a fundamental change in the way that we conceive, create and utilize computer-based solutions.

My personal goal at this point is to become fluent with the variety of semantic web technologies. Some are relatively mature and others require a significant aount of work to utilize due to a shortage of tools or established techniques. I will share sample data, programs, thoughts and lessons learned as I work with these concepts.

Step one is to gain expertise with the Resource Description Framework (RDF) and the extensions, Resource Description Framework Schema (RDFS) and the Web Ontology Language (OWL). These data and rule structures have matured and are capable of representing any arbitrary information collection. RDF storage technology is becoming available in commerical offerings (such as Oracle's database).

Of course having data, especially data containing rules, is not useful without programs to read the data and reason (infer) over the rules. Therefore, hand-in-hand with my learning RDF, I will be working with software tools and libraries that can process RDF data structures.

Mobile Development Meets Semantic Technology at SemTechBiz

Speaking at the Semantic Technology and Business Conference 2012

I will be presenting at the San Francisco-based Semantic Technology and Business Conference in June this year. My topic will be, "Mobile Development Meets Semantic Technology." It will cover how semantic technologies benefit enterprise applications and demonstrate the use of standard libraries which simplify their incorporation into mobile applications.

My session is scheduled for June 7 at 10:45am in Yosemite A. I am looking forward to learning from the experts and sharing my experiences and insights at this excellent venue.

Sparql Droid

A Semantic Technology Application for the Android Platform

Leveraging androjena and ARQoid libraries, I have begun building out a semantic technology exploration tool called Sparql Droid. My goals with the application are to gain experience with semantic technology in general and to specifically pursue a graphical tool for interacting with semantic data sources. The program is free to download and install from the Android Market. If you give it a try please feel free to provide feedback on your experiences with it, including ideas for ways to make it more useful as a semantic data exploration tool.

The current release is version Alpha-4 and allows for reasoning over a small ontology as well as executing SPARQL queries against the local ontology or against external SPARQL endpoints and RDF data. In this latest release I have added the ability to drilldown on a URL that is returned in a resultset, pulling the triples where that URL is the subject.

I've also blogged about SPARQL Droid.

SPARQL Endpoint

As a way to work with creating a SPARQL endpoint, I used Joseki and my own data. You can read about the initial setup of Joseki deployed as a web application within Tomcat in my blog entry. The query form will allow you to explore the data. You can also directly access the SPARQL endpoint with a tool like Sparql Droid.

Example Programs

This is where I will place links to files and programs that might be of interest to others exploring semantic web concepts. They are listed starting with the most recent release.

ARQoid Example: Android program (Updated: December, 2011)

An Android (Java) program demonstrating the use of the ARQoid engine. The link leads to a blog entry that introduces the use of ARQoid and contains a link to the sample code.

Semantic UI: Java Program (Updated: September, 2010 [v 1.2])

A Java program providing a Swing-based GUI for working with semantic models and SPARQL. Utilizes Jena and Pellet.

RdbToRdf: Java Program (August, 2010)

A Java program to export relational data to RDF triples using an OWL reasoner to infer additional information. Utilizes Jena and Pellet (along with JDBC).

DiffInferencing: Java Program (June, 2010)

A Java program to use different reasoning levels with an ontology. Utilizes Jena and Pellet.

Sites

Links to other web sites with useful information regarding semantic web technologies

Tools

Links to semantic web tools (software)

  • Jena: Java-based Semantic Web Framework
  • Pellet: Java-based OWL 2 Reasoner
  • Androjena: An Android-based port of the Jena framework

Presentations

A presentation on Semantic Web Concepts and Java that I did for the CDJDN in September of 2010.

Blog

I will create periodic blog entries describing my exploration of semantic web concepts. These entries can be found by following the link below.

Semantic Blog Entries

FOAF

Friend of a Friend (FOAF) is a well-known ontology for describing people and their relationships. FOAF-based contact information files are beginning to appear on the web. Mine is available as a link at the top of this page as well as my home and contact pages.

RDF icon from W3C

I have used one of the RDF Icons released by the W3C to serve as the graphical link to it.