Boca

Boca is part of IBM’s Semantic Layered Research Platform.Boca Overview

It is “the foundation of many of our components.It is an enterprise-featured RDF store that provides support for multiple users, distributed clients, offline work, real-time notification, named-graph modularization, versioning, access controls, and transactions with preconditions.”

To be honest, I am still trying to fully understand what that paragraph means entirely. I am in communication with the IBM people involved with this project, and it may turn out that this technology becomes a part of my research this year.

I think my options right now are to either:

  • Use Jena to store the graph data by querying a database that has a D2R server sitting in front of it (D2R allows for relational databases to be queried using SPARQL).
  • Use Sesame to store the graph data by querying Boca, which wraps around a database (mind you, the database is a custom Boca one).

Regardless of option taken, I will likely need to write custom SPARQL queries to populate the graph.

Having written this, I’m torn. Boca offers some cool features (particularly real-time notification, versioning, access controls and the ability to update data), but so does D2R server (the ability to map multiple databases together). Ideally, it would be possible to get both sets of functionality. Maybe the Semantic web client library can help there?

Introduction to the Semantic Web

My brain is presently in overload as I try to wrap my head around all the concepts of the semantic web. I thought I might as well try to get my thoughts out here, to help other people, and to selfishly help myself out (by either just clarifying my thoughts, or by being beaten by a stick from those in the know).

So, why should one care about the semantic web – isn’t web 2.0 doing just fine by being oblivious to this semantic web thing? I guess so, but then, the web 2.0 is a bandwagon anyone can jump on (and as an aside, my blog is now largely web 2.0 :p). Web 2.0 is all about, in my opinion, making the web a more user-focused place. Semantic web is all about (once again, in my opinion) all about making the web a more usable place.

Web 2.0 == User-focused?
All web 2.0 sites are about making the web do things it has never done before, using technologies like ajax. We all marvel at google maps, del.icio.us, etc, etc. It’s amazing – the web makes my life easier, or at least, more convenient. It also makes me more social in a geeky kind of way. I can now see what other people bookmark when I tag my bookmarks with a particular keyword. The opportunities explode really.

But Google maps, del.icio.us, etc, etc all have a common theme (if you don’t dig too deep) – they use meta-data to make the experience more valuable. What would Google maps be without the additional information about where places are. What about the whole basis of del.icio.us – tags? Without them, and what they can do when computed and commonalities found, del.icio.us would be nothing more than a static html page where I post my favourite links.

Semantic Web….Usable for who?
So…..meta data huh? That’s pretty web 2.0 I hear you all saying. The other thing that can use metadata is of course the computer you are sitting in front of right now (don’t worry – I’m not watching you). Imagine if there was a way for me to explain to the computer my details, and my friends. Imagine if my friends could do the same. Essentially, we’d be building up a big web of friends, and in a way, making a dynamic address book (insofar that I don’t need to update my friends details, as I will simply be linking to his profile remotely). Well, it exists – the FOAF project is all about this. It builds on top of technologies such as RDF to allow people to make their own ‘foaf files’. I have one here. My one is in a pretty pitiful state at the moment – but that doesn’t matter – I can update it as time progresses. Imagine if OldFriends gave each user account a FOAF file (or alternatively let them link in their own foaf file). I would love the opportunity to add all these old friends of mine into my foaf file.

You’re probably all wondering, why bother doing this? Well, for me, two reasons:

  1. I can visualise these people in a program like Centruflow. Imagine being able to see all your friends in what is essentially an constantly updated, and fully distributed address book. I could discover lost friends by navigating to the friends of my friends, and further out (‘To Infinity….and Beyond!’).
  2. I never maintain address books, as they are always my responsibility to update. FOAF is all about making each individual only have to worry about keeping their address book up to date

So….FOAF is the semantic web….seems kinda sucky?
No, FOAF is just an application built on top of the semantic web. It offers a small glimpse into what is possible when we give our computers a little structure to the information. You’ve probably noticed my site lists my contact details on the side – this is of no use to a computer really. My FOAF profile gives the computer everything it needs to help you.

So what are you doing again?
My work right now is on making it easier to get data from all over the semantic web (or just straight from the web in terms of databases), and making it possible for a computer to make far more sense from it. Want to say “I’m interested in things related to this widget here”? How would you do that now – go to Google and search through the results? My research will automatically give you suggestions on this kind of thing, but not based on computer-decided result, but on how people tag and inform the system using metadata. My work won’t be on the internet, as it will initially focus more on individual business intranets.

This explains why my head is exploding – I’m needing to learn a lot of technologies to allow for this work to be done.

Semantic Web Technologies in the Enterprise

This is a good article explaining some of the benefits of getting semantic web stuff into the enterprise. This is exactly the work I am doing for my research, in particular I am very interested in getting my research to transparently retrieve data from multiple data sources.

Should be read by anyone interested in getting a good understanding of the basic concepts of my research area.

SPARQLing RDF Repositories

I bet that the title is the first time anyone has ever attempted to make such a geeky play on the SPARQL acronym.

This post is to list a few handy findings I have just made that could be pursued more next year in my research:

That’ll do for now.