Some seem to assume that because Data is manipulable by computers that it is objective, others that because it is a form of code, that its interpretation is fixed, and so is not amenable to use in legal contexts. I here do some legwork to put these two misunderstandings aside, in order to open space for applications of legal data to improve security on the Web.

Mathematical Semantics

To do this, I will be looking at the most advanced data standards we have, namely those developed at W3C under the umbrella term Semantic Web.

A likely origin of the idea that data has a fixed interpretation may come from the mathematical definition of semantics. Does not mathematics come with proofs which precisely exclude interpretations other than the intended one?

We can quickly clarify this misunderstanding by taking a quick look at RDF Semantics which at its core is extremely simple. It consists of (i) an elementary (subject, relation, object) syntax (ii) an interpretation function (iii) that maps the sentences to objects standing to each other in given relations in the world.

A set of (subject, relation, object) sentences forms a graph; that is, each sentence can be thought of as an arrow going from the subject to the object. Since the objects in the world are also thought of as standing in such arrow-like relations, the mapping from syntax to semantics is obvious: map syntactic objects (URIs) to real objects and syntactic arrows to (virtual) arrows in the world.

Picture of Vint Cerf meeting Tim Berners-Lee annotated with arrows from an RDF graph

We can, therefore, illustrate the mapping by directly annotating a picture with the relations we find in the data.

A set of RDF Sentences G (forming a graph of relations) and an interpretation function I, determines with the facts of the world the truth-value of G. The interpretation I is a function that assigns to each word in RDF an object, class or relation in the world. If the objects in the world stand to each other as the words in the sentence do, then the sentences are true.

The Interpretation Function

RDF semantics does not dictate an interpretation function. If it had, it would have needed to settle the meaning of all URIs in the few years it took them to write the specification. That would have been an impossible task in terms of time, and also because there would not have been enough particles in the universe to write all that information down. (Indeed there are proofs that are too big to be written in our universe).

This is quite important because the same graph will evaluate to different truth values under different interpretation functions. Let us illustrate this by working on a simple graph with only one sentence. I will make the names of the words in the only sentence of the graph as opaque as possible so as to highlight the role of the interpretation function

G = { aaa RRR bbb }

Start with the interpretation

I ⊇ { aaa ↦ Tim Berners-Lee, RRR = worksAt, bbb ↦ W3C }

That is the interpretation of G say that Tim Berners-Lee works at the W3C, which is true.

On the other hand, take

I’ ⊇ { aaa ↦ Tim Berners-Lee, RRR = intern, bbb ↦ W3C}

Then G says that Tim is an intern at the W3C, and that is false, given a reasonable definition of intern. But the interpretations could have been widely different still, as illustrated by

I’’ ⊇ { aaa ↦ 5, RRR = lessThan, bbb ↦ 42 }

which is not just true, but necessarily so. Indeed we now may start developing the exact opposite feeling we started with: how can one narrow down the interpretation function to something reasonable, so that we can agree on what an RDF graph means at all?

The World

Next, consider how the same graph with a fixed interpretation can have different truth-values in different worlds.

Different worlds? The concept comes from modal logic, but it is not that difficult to understand. One can think of it in terms of the information needed to completely describe the universe. If one can describe this one, then it seems one can describe another universe too.

But more practically: Imagine you enter some information into an App, regarding some things being in some number of relations to others, and your App publishes that in RDF. Somehow you made an error. The way you thought the world was, was different from the way that it is.

Or consider the case of someone describing relations in a fictional Virtual Reality world, and someone else reading them supposing the data was describing the actual world.

Or more simply: we know some people will publish false or misleading data.

Another way of thinking of a world is as the different ways one can extend a model consistently, what a model leaves open.

John S. Erickson’s Gimp enhanced picture below provides a neat illustration of this. By adding Bob Kahn to the picture, he extended it coherently. Since Bob also invented the internet, the graph overlaid on the image with the addition of the one link is true of the actual world. The picture is also coherent with the pictorial information we had previously: Bob could have been standing there on stage next to Vint and Tim. The image thus displays a model consistent with the previous one. It is not the actual world, yet the tension between the actual world and the model is what makes it funny and memorable.

Gimp enhanced version of the previous picture by John S. Erickson

So given Data and an Interpretation one cannot just assume the data to be true, or even if true, one cannot assume it will not clash with one’s beliefs (since those may be false), and one cannot assume that because a model is not of the actual world that the information is false, as we just saw.

In short RDF Semantics gives us ample space for interpretation. Indeed we now need to show how people can even come to an agreement on meaning within that framework.

Analyticity

The question as to how one should determine the meaning of words in an artificial language has an answer that comes quite naturally: by giving the full necessary and sufficient conditions for the application of each term. This was the initial project of analytic philosophy from the 1920ies onward, as it tried to apply the tools from the newly elaborated mathematical logic to the oldest problems in philosophy. The W3C has developed tools such as the Ontology Web Language (OWL) that could lead one to think that the same answer should be applied here too. Perhaps this is what researchers working on Upper Ontologies are doing? If so, then we would be very far from being able to settle the meaning of words, as the research in that area is wide open.

If one adopts this line of thinking, then one could understand the fear that the meaning of terms would be so firmly fixed by their inferential consequence relations. If we add to the mix a notion of computation as deterministic (which we will look at in the next section) one could come to worry that one would be left with no room for evaluation or interpretation. But how would we get to a point where all the words were precisely defined? One would have to start by defining some terms and then others, and more and more, reaching agreement with others along the line, on an eternal quest. This way of looking at language sees it as an evolving process. It was put forward in the last part of David Lewis’ 1969 thesis Convention, where he described us not as speaking one mathematically precisely described language (a language with a fully specified interpretation function), but rather a whole set of similar overlapping languages, where each time we add a word we select a subset of those languages. This thought was developed in a more naturalistic setting by Ruth Garett Millikan in her 1984 “Thought, Language and Other Biological Categories”.

We can see the World Wide Web as itself functioning along these lines. The early HTML was elementary, without even the ability to display images. Over the past 40 years, it has evolved from one browser version to the next, to add more and more advanced features, through cooperative competition between the browser vendors that needed to respect the deployed base of HTML based pages published by users around the Web.

Furthermore, the fear that one could describe all concepts fully in terms of definitions was dealt a resounding blow by Hillary Putnam in 1975, in his very entertaining “The Meaning of Meaning”. His main point is that most concepts we use have an indexical element that ties their meaning to the world. For example, the meaning of water is something like the “stuff like this” where the person teaching the word is pointing to a sample of water. It was only very recently that we discovered that water is composed of H2O molecules. This did not stop our ancestors of speaking about water correctly, even though they had no conception of molecules. The discovery that all water is composed of H2O was a discovery of a physical necessity that was not an analytic discovery. For an example that is touching us now as we write this, we can follow the development of the SARS coronavirus 2, even though there is only a small subset of the population that could correctly identify a case, and still fewer who know the nature of the virus itself. The meaning of words is thus determined by the world and by our social relations to one another.

Since we cannot hope to establish the meaning of terms in formal languages (and so data formats) purely by definition, their meaning will depend on the underlying natural languages used to define them. Logical rules can help constrain the meaning of terms somewhat but not determine them. Furthermore meaning is an evolutionary process, where conventions are agreed over time either explicitly or implicitly by a set of judgements that attempt to make sense of the past by putting it into historical context, as argued by Robert Brandom in his work on Analytic Pragmatism over the last 30 years (see for example his “Reason, Genealogy and the Hermeneutics of Magnanimity”).

Computation

But someone may object, computers only process syntactic objects. They don’t have access to the world out there. What is the interpretation function to them? They just follow rules deterministically as they have been programmed to do. It seems to follow that Data can only have a determinate interpretation.

Functional Programming and IO

That is a very good point that needs to be deal with. It is most evident in functional programming (FP), a type of programming style inspired by mathematics, that brings the benefits of provability to programming, thereby removing a whole class of bugs.

In FP, a given input to a function always determines a given output. Indeed, one of the significant problems in the early days on FP was how to interact with the world: the user, find out the time, read or write files, a database, the internet etc.… How can one write a functional program that depends on the environment? For if one adds the environment to the picture, then the same program can give very different results, depending on the time of day, the state of data collected in databases or on the internet, what question are asked, and how they are answered. The answer FP came up with, was to use IO Monads, which essentially allow one to encode a form of modal logic into a Functional Program, enabling one to build a program as a data structure that can then be interpreted given its actual environment at the time and during execution. This allows a functional program that is otherwise deterministic, to gain all the needed indeterminacy from the environment as well as to affect it.

Semantics and computation

This brings us back to semantics. When a plane is programmed to fly on autopilot, it does this by using trusted geographical data about the environment, sensors in the plane, feedback from the pilots and control towers, that together help steer the aircraft to its destination safely. The plane may be only processing bits and bytes, but these have been designed to be in the right relation to the outside world (semantics) so that the flight can be successful.

Now, planes and self-driving cars are very engineering intensive to build. Most consumer-level data applications don’t seem to have anywhere near that much engineering go into them. Do we need full-blown Artificial Intelligence to get programs to organise meetings, help with shopping, play games, keep our bills in sync with our banking data, or make law visible on the internet?

2+ stage semantics

The answer to that is no: we don’t need full-blown AI. We can simply use humans to do real semantic work.

How does that work? Given an application domain, a programmer can learn the interpretations of the RDF vocabulary that his App will specialise in. This will involve knowing a specific Schema, which consists of several relations (arrows) and classes. Working together with User Interface designers, the programmer can build a mapping from any instance graph using the schema to user interface elements, and so display the relevant data in a way that is easily understandable by humans in a given cultural context. The user of the App will then be the one to fill in the missing semantics, deciding what the interpretation of nodes in the graph should be, given the relations that these have to other pieces of information such as text, pictures, videos, telephone numbers, geographical locations, time slots, etc. So we have a two-stage semantics: from data to UI taken care of by the App, and from the Interface to the world taken care of by the user. (Technically: semantics is functorial and composes)

Going back from the user to the App is simple. Those who purchase an App will presumably be doing so to help them get things done, interacting thereby with the world, which will provide feedback as to the quality of the information they are working with. If the Data is correct, the action is more likely to be successful. If an error is found, it should be easy to correct it at the source (hence the importance of read-write protocols such as LDP).

Keeping track of context

For this to work, such Apps need to be built to keep track of context, so as to be able to display where the information came from. In RDF this is made possible with RDF DataSets. These bring many further advantages. Not only can the user ask: “Where did this information come from?” but also “What if this set of graphs were true? What if these other ones (that somehow contradict the first set) were?” Thus such hyper-Apps could allow people to see different views as to how the world could be, allowing them to judge which one is or should be correct, by considering counterfactual scenarios.

Furthermore, the value of data depends very much on who published it. An individual is in the best position to publish a list of their friends. (These can be confirmed by finding links back from the friend profile). On the other hand, meteorological Data is more valuable when coming from institutions with access to the right kind of satellite data and the knowledge to interpret that Data via models into predictions. The same prediction coming from someone else cannot be relied on in the same way. Similarly, for metadata about companies: when the right legal institutions publish these, they have the force of law, which they do not have when self-published. This is what allows us to use Data to make the Web safer.

Conclusion

The argument developed in this blog post is designed to show that the criteria for interpretability of data that are required in legal contexts as shown throughout Mireille Hildebrandt’s excellent book Law for Computer Scientists are enabled by the Semantic Web. If Data requires global consensus on truth or full determination of interpretation, then projects that are needed to help us bring the law into the Web, such as my Web of Nations proposal will be thought to be both naïve and dangerous. On the other hand, if we can see that machine-readable data can help create a conscience of the situatedness of web sites in the legal spaces, that don’t require global truth (as even simple questions such as which nations exist, don’t get global agreement) and that the semantics of such Data is mostly determined by humans looking at presentations of them through well-designed user interfaces, then we can start finding ways of bringing the territoriality of the law and the extraterritoriality of the Web together.

For a detailed use case of using official legal data to enhance security on the Web see the “Stopping (https) phishing” article below. It shows how the poverty of data in X509 certificates the browser currently use when connecting to https web sites is at the root of a deficit of trust. It argues that this can be remedied by tying web sites to officially published open data about institutions and then allowing the web browsers to display this much richer information elegantly to users on-demand and especially on first visiting a web site.

For a more application-oriented view of how this official data could be used, see “Phishing in Context — Epistemology of the Screen.”