Sunday, February 21, 2010

Where is my personal data cloud?

A topic that I intend to do more thinking and writing about is the personal cloud, or more specifically, the personal data cloud or personal information cloud. As I was gathering my personal information to organize my FOAF profile page I began thinking about whether FOAF really was the best place to be the primary repository for this personal information of mine, or not.

One of the things I quickly realized was that I had pulled together a variety of pieces of disparate information. In other words, my FOAF profile page was an aggregation of diverse data. I would not call my FOAF profile page itself a cloud, but I would call the un-aggregated data a cloud for sure.

So, we have two distinct but related concepts: 1) a cloud of unaggregated data, and 2) a hub of aggregated data. We can consider aggregation or hub tools such as FOAF as cloud aggregation tools. I suppose we could speak of cloud hubs as well.

Layered on top of that, we can consider an interconnected web of FOAF profiles (the basic original purpose of FOAF) as a FOAF cloud. A database built by crawling all or a portion of the FOAF cloud could be considered a FOAF hub. Any tool for displaying, manipulating, and navigating such a database could be considered a FOAF hub tool.

So, this is another key concept: layering of clouds. A cloud can consist of a network or other clouds, and so on ad infinitum.

Back to my own FOAF profile, sure, technically, my one small FOAF profile represents a small cloud itself. Technically. But what I really want to do is to represent and store each of those pieces of information as entities in their own right, separate from this specific aggregation tool of a FOAF profile. After all, there are other aggregation tools, such as vCard, LinkedIn, or just about any social networking site, or your address book or personal information manager application.

So, this suggests that as important as aggregation tools are, we need to give a lot more consideration to how the underlying personal data cloud to conceptualized and represented. In theory, I should be able to pull my FOAF profile together 100% automatically with absolutely zero manual intervention required by simple granting a FOAF aggregation tool access to my personal data cloud. Obviously we are not there yet.

There are two key questions here: 1) what does a personal cloud look like, and 2) where exactly does this cloud actually exist, besides in your head.

Oh, sure, I know the conventional answer these days: It's just a Google app; Google owns all of your data - just get over it. But, to me, it seems that somehow there is something fundamentally wrong with that picture. There is a lot more to the problem, let alone the solutions, than just the one word, "Google".

-- Jack Krupansky

Thursday, February 18, 2010

FoaF Explorer

Now that I have my FOAF profile generator working fairly well, I see that Morten Frederiksen has a tool called FoaF Explorer that can be used to interactively navigate a FOAF web.

Here is my FOAF profile in FoaF Explorer:

Jack Krupansky's FOAF Profile in FoaFExplorer

There are still quite a few FOAF fields in my profile that I have not yet populated, but I am starting to get a critical mass.

-- Jack Krupansky

Where am I?

I just updated my FOAF profile generator to include my "based_near" location. I do not have a GPS device, but I found a web site by Pierre Gorissen, Google Maps Latitude, Longitude Popup, that lets you scroll and zoom a Google map until you visually find and click on your location and then it displays the longitude and latitude of the clicked location. That let me get close enough to click on my apartment building (actually, my apartment itself since I am on the top floor of the building.)

So, here is where I am as a Flickr tag:

geotagged geo:lat=40.756425 geo:lon=-73.971575

And, in FOAF RDF XML (abbreviated):

<foaf:based_near>
<geo:Point>
<geo:lat>40.756425</geo:lat>
<geo:long>-73.971575</geo:long>
</geo:Point>
</foaf:based_near>

-- Jack Krupansky

Wednesday, February 17, 2010

An Introduction to RDF and the Jena RDF API

I have been busy for the past couple of weeks starting to write some semi-serious Semantic Web code in Java. Most recently I have been parsing, manipulating, and generating Semantic Web RDF data using the Jena open source library. Although I have already gotten some code up and running using Jena (generating and writing my own FOAF profile and crawling FOAF profiles), I still have not yet finished reading the basic Jena tutorial: An Introduction to RDF and the Jena RDF API by Brian McBride, Daniel Boothby, and Chris Dollin.

This tutorial is quite readable and does encourage you to jump off and do some actual code prototyping, which is what I have been doing a lot of. Unfortunately, for all the code I have written, I have still not read the turorial front to back. But now that I have so much code under my belt, filling in the many knowledge gaps is a higher priority. In any case, I recommend the tutorial, both for Jena and as a basic intro to RDF itself.

-- Jack Krupansky