This essay looks at the history of the Web, and how it may inform the future directions it could take. It suggests that the Web’s evolution will require an understanding of its active nature. It concludes with some ideas for protocols which match these properties.
Introduction
There have been many developments in the sphere of the Semantic Web of late; mainly focusing on the notion of open and linked data. Whilst reading about these projects has been exciting (as it always is when a good idea escapes academia into this strange thing called the real world) I would like to consider for a moment what the next phase of the Web will be.
By phases, I do not mean the monikers dreamt up by those seeking venture capital. Rather I mean a material change to the way the Web operates, and its underlying principles. By this standard, the so-called Web 2.0 is really Web 1.5; a bolting on of a few bits of glitz to a familiar package. The Linked Data initiatives and the Giant Global Graph concept of Tim Berners-Lee, by contrast, does signify an important change to the axioms of the Web, even if the architectural principles remain largely unaltered.
It is these architectural principles to which I draw my attention presently. It is my contention that if the Web is to develop further, several deep-rooted philosophical positions must be re-examined with a critical eye if not abandoned altogether. I will not linger too long on the technical details which will wring the changes I feel are needed — that will be a matter of discussion and vigourous debate — rather I will provide here a broad outline of my position and why I have come to abandon Web 1.0, Web 1.5 and even the true Web 2.0 as Good Enough.
A Nomenclature for a Phased Web
As mentioned before, I feel the marketing inspired (and insipid) label of ‘Web 2.0’ is merely mutton dressed as lamb. The likes of Flickr, Twitter and innumerable other sites whose names end in the letter ‘r’, are no more revolutionary than the idea of Ceefax. Exploiting an existing model’s side aspects when implemented by a particular system — in this case, client-side scripting combined with a dynamic server — shows the flexibility of the model but doesn’t significantly advance our understanding of the model’s concepts (although some advance is made, I won’t deny that.) What other form of classification can we then impose upon models of the Web?
The Web was originally developed as a way of sharing hyper-linked documents with other people whether they be across the world or within the same lab. Documents are put on servers which are always available (or as close as possible) and contain links to other documents allowing a densely-linked network of citations and references to form. This has been formalised as the idea (significantly articulated and given a pithy name by Roy Fielding in his dissertation1[1 Fielding, R. T. (2000), Architectural Styles and the Design of Network-based Software Architectures, Ph.D thesis (University of California).]) of Representational State Transfer (REST). This views the Web as a collection of objects which may only be manipulated using four verbs: GET, POST, PUT and DELETE. All manipulation is done via combinations these verbs, which should treat the documents as immutable. In this sense, the Web could be seen as the world’s most used functional program. This view of the Web, as a collection of discrete and immutable documents is what I term the Document Web.
The logical next step is to dissolve the boundaries between documents and provide meaning to the structure of the contents. This is the key idea behind the Giant Global Graph. This has been the focus of two mildly-competing efforts. One, XML, tries to make document representation mechanical and so maximise the reuse of tools. The other, RDF, tries to provide a formal data-model for the Web. I say mildly competing because there is a difference is direction between the two projects, and some overlap in goals. XML starts with the premise that the ‘Document is King’ and represents all data in the form of a tree of structured parts. RDF, starts from the idea of the Web, that ‘Connection is King’ and works backwards to specific item representations from there. In light of these very different starting points, we should wonder not why RDF-XML was so bad, but rather that it happened at all. Looking at the Semantic Web project, we can see a large portion of the idea is to liberate data from stifling documents only manipulated as a whole and allow the Web idea to operate right down to the level of a binary assertion. This densely inter-linked network of assertions is what I term the Data Web and represents a true second phase for the Web project.
Why Not Stop Here?
The purpose of the Web is to allow us, its users, to share information and understanding (granted, given the perceived quality of the majority of the content, this may seem like a lofty and idealistic purpose but more on that later.) The Document Web allows us to post pages detailing the most tedious minutiae of a topic and link them in with other pages so that people can find them and share in our ennui. The Data Web allows us to tear down the artificial silos that divide our knowledge and benefit from emergence; the whole is more than the simple sum of its parts. It seems debatable whether it is possible to go further than that, however it is worth noting that the Data Web is very well-suited to blind aggregation, but questionable in its approach to human-oriented knowledge.
Both the Document Web and the Data Web rely upon a very simple idea; that of providing names to things. In the Document Web, these names are locators; they tell you where to find documents so that you can download them. Appropriately, these names are called Universal Resource Locators (URLs). The Data Web goes a step further and provides the ability to name things you can’t download such as the book you just read, the idea you just had and the action you’re about to do. These names are called Universal Resource Identifiers (URIs) and subsume URLs. What could be simpler? You label the world from top to bottom with these atoms (for fairness, I should state that the idea of URIs as atomic is not without controversy but it is the position I hold and this is my rambling blog) to allow you to make unambiguous statements which may be merged with the statements of others. As a concept, URIs are perfectly named. They provide a universal model of identity to the Web.
There is, unfortunately, a big ‘but’ waiting in the wings. Very little information of interest is completely uncontroversial. Even that statement is controversial with some who take an extreme position of objectivism so allow me to elaborate. We’re used to balancing evidences in our every-day lives, in fact the brain seems to have this ability built in. Our natural mode of expression in language is replete with modifiers, expressions of uncertainty and partial information. There is plenty of evidence to suggest that we think in uncertain terms too2[2 Lakoff, G. (1987), Women, fire, and dangerous things: what categories reveal about the mind, (Chicago: University of Chicago Press).], not only having degrees of belief about every proposition but also being uncertain about our uncertainty3[3 Wang, P. (2006), Rigid Flexibility: The Logic of Intelligence, eds. Gabbay, D. M. and Barwise, J., (Applied Logic Series, 34; New York: Springer).] depending on how much evidence has been accounted for.
When push comes to shove, we can usually make a binary decision and lump things into the boxes ‘yes’ and ‘no’ but to do so loses a lot of the information which was inherent in the statement. Someone receiving a Boolean (that is, yes or no) valuation of a statement has no means to ascertain how sure the producer was of the statement or how much evidence went into it. Worse, the receiver is limited in their choices as to what to do with this statement if they too are acting in a Boolean fashion. If they agree with it, or rather have no reason to disagree, then they can just accept it or reject it based on source. However, should the information conflict with the receiver’s own beliefs and they trust the source then what should they do? It seems prudent therefore to cast off the shackles of Boolean truth values and consider something more flexible.
Unfortunately, it isn’t so easy as to just assign one or more floating point numbers to each statement made. A re-evaluation of the assumptions of our semantics is required. Let us turn back to the idea of universal names. With an assumption of no-disagreement, this is perfectly fine as we can treat everyone’s knowledge as part of the same shared understanding. What happens if we allow disagreement, our motivation for introducing more complex truth values? Well it should be clear that, even if just from a pragmatic perspective, the denotation of a concept should be based upon what we know about it. However, this means that if we disagree about the veracity of various statements made about the concept, we also must disagree about the denotation. The import of this is that the so-called Universal Resource Identifiers cannot identify resources universally; different people are able to have different understandings of the same resource4[4 It should be noted that this is deeper than the so-called Superman paradox (Kallestrup, J. (2003), ‘Paradoxes About Belief’, Australasian Journal of Philosophy, 81 (1), 107—117); this is difference in meaning based on the same name, not confusion arising from the use of different names.].
Seen from a cognitive perspective, this is hardly surprising. However, it is only with the development of the Web that logical modelling has collided with real, uncontrolled information representation on a global scale. There is no opportunity to hide behind toy examples now; we must rise to the challenge and produce a semantic framework which is capable of dealing with real human knowledge representation. In short, we must look carefully at what we know about how humans think.
From Data to Action
The current models of the Web are very passive and static things. By contrast, humans are active and dynamic. All the information which is on the Web is a product of human action in some form. Whether it be written by hand, or the result of a human-conceived piece of software which automates a task, there is nothing available in the medium which hasn’t been touched human thought in some fashion. Now, human conception isn’t a static thing; we aren’t born with everything we are ever going to know. We learn, we adapt, we make mistakes in our beliefs which we then correct. All this happens instinctively, and without effort.
It should be clear from this that the assimilation of information, its understanding and subsequent dissemination, can be seen as a form of process. We learn by acting. We communicate by acting. Our use of the Web is just a particular form of action, allowing us to find parcelled snippets of another’s thoughts. As the disagreement problem shows, there is no inherent semantics to the information on the Web, just the meanings we acquire through our readings.
This then is what I propose as the next phase of the Web; accepting the fundamental rôle that process plays. This entails a number of important changes in perspective. Rather than treating information on the Web as having meaning in and of itself, it only gains its meaning through its users (be they machine or human). Equally, the openness of the Web entails that we accept disagreement and provide mechanisms to deal with it which don’t require us to discard so much information. Rather than a fundamental distinction between producers (the servers) and consumers (the clients), we should treat production as merely as one outcome of the consumption process. I propose then a Web of equal-agents-before-God, with no a priori distinctions between them, communicating on the same footing. This proposal I term the Active Web.
Beyond the REST
Naturally, such a sea-change of presumptions leads to a mismatch between architectures. As mentioned before, the Web-as-is is based on the principles of REST. The restriction of the protocol to just four verbs serves very well. Ideally, we’d like to save the spirit of REST, essentially captured by the small number of verbs, whilst adapting it to our current purposes.
The Active Web is based around the idea of loose coalitions of agents communicating in order to further their own understanding and goals. As such, the ideal protocol will be symmetric and asynchronous; that is, every command will come in a pair and won’t require an immediate response. The asynchronous nature will benefit a true loose community where given agents may need time to consider their response, or may be only available sporadically.
Since we’re making human communication the inspiration for the Active Web, a good start to choosing our verbs should be to look at work on human communication patterns. I’ve chosen, for the moment at least, an adaptation of John Searle’s theory of speech acts5[5 Searle, J. (1965), ‘What is a speech act?’, Perspectives in the Philosophy of Language: A Concise Anthology, 2000 253—268]. These acts come in a number of types corresponding to illocutionary function; such as asking, or telling. What I feel is a good minimal set is shown in the table below.
Table 1. Speech Acts and Verbs
| Verb | Description | English Example | Paired Verb |
|---|---|---|---|
|
|
Ask the agent for an answer to a query and other related information. |
What is the capital of Brazil? |
|
|
|
Give the agent some new (partial, uncertain) information. |
The capital of Brazil is Brazillia, but it isn’t the largest city in the country. |
|
|
|
Request that the agent perform some (possibly side-effecting) action on your behalf. |
Book me a plane ticket to Brazillia, please. |
|
|
|
Gives an agent a condition (such as payment) which must be satisfied before a |
I’ll book your ticket if you pay me £749 by this evening. |
|
|
|
Introduce yourself to another agent when interacting for the first time. The only self-paired verb. |
Hello! My name is Joe. |
|
If you read down the ‘English example’ column in the above, you’ll see an example of a possible dialogue between two agents. It is dialogue which is important in this style of protocol. It isn’t enough for an agent to simply pop off a simple message to another agent every once in a while. Such a system gains power by allowing an exchange of context-sensitive messages (facilitated by the pairing of the verbs) which gradually build understanding and effect goals. It is my belief that such an approach is necessary in any attempt to develop an Active Web.
Of course such a wide-ranging change of mentality cannot be wrought in one fell swoop. Fortunately, there is no need to. The current Document and Data Web, based on HTTP 1, can be viewed as providing a number of very stubborn agents; one for each document.
Conclusions
What I have outlined here, with little technical depth, is how I believe the Web must change in order to be truly open whilst allowing automation. The other option, stamping out disagreement where-ever it occurs, is not only impractical but fairly unpalatable to modern society.
In order to be able to reason with information produced by humans and their machines, we must be honest about the sorts of information humans produce. Rarely is it without inaccuracy, let alone contention. To accomplish this, I have proposed a model which embraces the dynamic, disagreeable data which surrounds us and which accepts the important rôle of perspective and process in meaning.
By rendering all the producers and consumers of information on the Web equal in stature in the eyes of the protocol, we remove unnecessary boundaries and a ‘handed down from high’ approach to information; not everyone can control a server, nor should the Web be restricted to such a centralised form of communication. Other people have noted the potential for decentralisation through agent-oriented systems, but I believe I’m the first to note the need for accepting disagreement and structuring the protocol to match.
The protocol I have roughly outlined here should not be taken as a final, measured approach to defining the verbs of the Active Web. Rather, it is there to encourage comment and consideration. I will undoubtedly be writing a lot more on this topic, and what I feel are the requirements for the protocol’s language.
Finally, it should be mentioned that I have barely touched the area of uncertainty in this post. It is a massive area of study, and I couldn’t hope to do it justice here. I hope that this post will inspire some of you to your own research and I will be posting more about it myself (particularly the relationship between uncertainty and identity and why loss of universal identity lends itself to uncertainty). Disagreement isn’t just a matter of trust (which is usually taken to be a very binary concept in itself, but more on that another time), but of accepting that nearly every statement has its nay-sayers. What we must do is not only allow us to have different degrees of belief in a given statement but provide us with enough information to weigh up the evidence. This is where Boolean semantics significantly fails, and why I feel RDF’s semantics should be de-coupled from its data-model layer.