« Rethinking the Digital Divide | Main | Flickr - yet another OpenID provider »

January 09, 2008

Graphs, networks, terminology, etc (or, hey, hey, I'm a monkey)

I realise I'm several months behind in even mentioning this debate, which has already generated its fair share of commentary around the Web. Yesterday in the office we were discussing the term "social graph", which has been used by people like Mark Zuckerberg of Facebook and Brad Fitzpatrick (LiveJournal/Google) & David Recordon (Six Apart) to refer to the set of information about people and the relationships between them that is generated within, and used by, social networking services, and also the (rather scathing) criticism of their use of that term by Dave Winer. Winer's criticism is firstly that the term "graph" is - to the non-mathematician at least - most widely understood as referring to a bar or line graph or pie chart, rather than to the mathematical construct made up of nodes and edges, and secondly that the term "social network" is already in widespread use for the very same thing which Zuckerberg, Fitzpatrick & Recordon refer to as a "social graph".

Given my enthusiasm for a certain graph-based data model, it probably comes as no surprise that I'm quite fond of the term "social graph", partly because it seems to me it is the most accurate term for the thing we're talking about here, and partly because I think it enables us to make a distinction between (what to me are) two different things.

The two terms "graph" and "network" are both used in several different ways. Following Dave Winer, the term "graph" is used to refer to (amongst other things):

  1. a visual representation of the variation of one variable in comparison with that of one or more other variables
  2. a mathematical concept of a set of nodes connected by links called edges
  3. a data structure based on that mathematical concept

The term "network" is also used in several ways, including:

  1. an interconnected system of things (inanimate objects or people)
  2. a specialised type of graph (the mathematical concept)

So while I'd agree that a graph (sense 2) is a more general form of a network (sense 2), it seems to me that in the context of social networking applications, the term "network" is typically used in sense 1, i.e. to refer to the set of people - or probably more accurately, "personas" or "identities" rather than biological individuals - and their relationships. And (it seems to me) the term "graph" should really be applied in sense 3, that of a data structure - and indeed I think this is how the term is used in the Fitzpatrick/Recordon article.

And on this basis, there is a clear difference between a network and a graph. The things in a network are people/personas and relationships between them. A graph is a model (or representation, or description, etc) of that network; a graph contains only things which "refer to" those things in the network. Or as Beau puts it quite neatly in a comment on a post by Robert Scobie

Fundamentally, the network is the sum of our living, changing relationships. The graph is a representation of the relationships. Network is to person as graph is to snapshot.

In this sense, social software applications operate on (generate, analyse, expose, extend, merge etc) graphs, not on networks. And indeed a single network might be modelled/represented/described in many forms other than a graph.

When I met Andy for the first time (which, IIRC, was at at a workshop on the RSLP Collection Description Schema back in 2000), he became part of my social network (though I'm not sure I registered in his, as it was ages before he replied to my garbled emails about Encoded Archival Description... ;-)). But I didn't at that time model (represent, describe, etc) my social network as a graph (or use a software application which did that on my behalf), so I don't think that relationship was reflected in a social graph - at that time.

At the risk of muddying the waters further, I might even prefer the suggestion of RonM made in the second comment on a post by Sam Gustin at Portfolio.com that the best term might be "social network graph" i.e. a graph of (describing, representing) a social network. But I suspect we'd be in a small minority on that :-)

Ultimately, as various commentators have acknowledged, our terminology is itself socially constructed, and it will be community usage that determines how these terms are used.

On one last point, I guess I'm slightly sceptical about the tendency to focus heavily on the social graph. While one could in theory construct a single graph which represented/described all the relationships between all the individuals (or personas) in the world, I'm not sure that any of our existing applications actually operate on this graph (well, maybe these sort of folks have stuff which does!). Rather, it seems to me that what we are really dealing with, and will always be dealing with, are many different (sub-)networks, represented/described by many different graphs, each a subgraph of that hypothetical universal social graph. The graph of relationships which I manage in Facebook is different from the graph I manage (albeit in a somewhat desultory fashion of late) in LinkedIn, and I have to admit my Orkut graph has pretty much withered on the vine. In some cases, yes, those differences may be a result of practical, technical obstacles to my ability to share graphs between applications, and I agree that is a problem that must be addressed, but in other cases the differences are the result of conscious choices on my part to construct or disclose different graphs, representing different networks, in different contexts.

Anyway, if the net result of all this is that I sound like a monkey, so be it! [I was going to insert a link to a suitable audio sample here, but I can't find a suitably licensed one... I'm sure there must be one, but as I can't spend more time looking just now, you'll just have to imagine a sort of screechy gabber here.]


TrackBack URL for this entry:

Listed below are links to weblogs that reference Graphs, networks, terminology, etc (or, hey, hey, I'm a monkey):


I've understand a lot of things for social software and for membership software from this post.
Thank you for that.Keep up the good work!

The comments to this entry are closed.



eFoundations is powered by TypePad