There has been a lot of well deserved talk recently about the Facebook social graph. The social graph is very important because it helps establish the relationships between people and now between people and the world around them.
But the concept of the graph is much more important that the framework that Facebook has established. The concept of the graph is important because of what I call context. What we, as humans, really want is to be able to contextualize everything in our world. We define people by who they know, what they do, what they like, etc. But this concept of contexualizing goes much further. Every fact and every piece of information has a context.
Context is really nothing more than everything we know or can know about any given “thing” in the world. And any “thing” in the world can have a relationship to anything else. If you have a glass sitting on a table then the relationship between the glass and the table is “sitting on”. But they might also be related to a common person with the relationship “purchased by”.
If you think about our world, every object has an almost infinite amount of context, so if we went overboard with this it could quickly become uselessly broad. But there is an important middle ground here. It is critically important that we as individuals be able to capture the context that *we think* is important, and it is critically important that we be able to browse the context that those close to us think is important.
For example I may want to capture that a given person has a “married to” relationship to someone. For others that may or not be important. But I should be able to capture that. Its also important that I be able to explore all of the relationship that can be captured through the everyday software I use. Obviously lots of interesting relationships can be captured from email, calendars, documents, and I want to see *all* of those relationships when I need to.
The key to having useful context is being able to access it when you need it. For example, shouldnt you be able to see, whenever you look at a contact in your address book, all the emails you have received from that person, and when you have them in your calendar. For context, user interface is clearly is as important as storage and protocols.
Now its true that there are products that do small pieces of this for you like perhaps Xobni, or Gist. But my point is a larger one. What we really want is a system that provides context for *all* of the information objects that matter to us. This is not a niche problem. Existing tools are purpose built. They are finished recipes when what we really need are ingredients. I don't want any guard rails preventing me from capturing information and creating relationship between objects.
The point in all of this is that what we are constantly looking for is context. The social graph is just one relatively narrow facility for providing us that context. Part of the reason I am excited about this discussion around graphs and the emergence of graph databases is that I think we really need a universal platform for storing context. Facebook is but one use case of what is clearly a *much* larger opportunity.