Read Write RDF Hypermedia

The beauty of “View source”

When I first came to the Web in 1994, one of the first things I did was to “View source”. Although I had been programming since I was a kid, I didn’t come into it with “proper training”. As I looked at other people’s HTML, I felt the thrill of thinking “I understand this! I can actually make things on this Web thing!” Then, I went on to do that. Now, I also remember the introduction of CSS. I was skeptical. Should I learn another thing, when I had something that worked? Eventually, I was won over by the fact that could share styles between all my documents, that made life so much easier, I had accumulated a bunch of them at that point.

I was won over to RDF in 1998 too, but since then, I have never seen what I first saw in HTML, the “View source” and we’re ready to go. In fact, when I look at modern Web pages, I don’t see it with JS and HTML either. Something seems to have been lost. It doesn’t have to be that way. RDF triples can be seen as a simple sentence, it can be read and understood as easily as HTML was back in the day, if we just allow systems to do it. That’s what I’ve set out to do.


I’ve been thinking about read-write RDF hypermedia for a long time, and I started implementation experimentation more than 5 years ago, but the solution I had in mind at the time where I wrote the above presentation didn’t work out. Meanwhile, I focused on other things. The backstory is a long one, I’ll save that for later, as I think I’m onto something now and I’d like to share that. I also have to admit that I haven’t been following what others have done in this space, which may or may not be a good thing.

Hypermedia, the idea that everything you need in an interaction to drive an application can be found in the messages that are passed, is an extremely good fit with my “View source” RDF. Now, the problem was to make it work with Linked Data, common HTTP gotchas, and yet make it protocol independent.

What I present now is what I think is the essence of the interaction. Writes necessarily has to be backed by authentication and authorization (and that’s what I started coding, then I found I should focus on the messaging first). For now, I have a pre-alpha with a hardcoded Basic Auth username and password, and it only does the simplest Linked Data. However, I think it should be possible to bring it up to parity with Linked Data Platform. That would be the goal anyway. The pre-alpha is up and running on

One way to do Linked Data is to have a URI for a thing, which may be for example a person. A person isn’t a document, so it has a different URI from the data about it. For example, could be my URI, and if you click it in a browser, you would get a flimsily formatted page with some data about me. With a different user agent like curl, you would have a 303 redirect to and that’s where the fun starts. This is what is intended to be where developers go.

If you do that, you will see stuff like (the prefixes and base are abbreviated for readability):

</test/08> a foaf:Person ;
 foaf:name "Kjetil Kjernsmo" ;
 foaf:mbox <> .
</test/08/data> hm:toEditGoTo </test/08/controls> ;
 void:inDataset <> .

In there, you find the same information about, augmented with hm:toEditGoTo standing between the URL of the data, and something that looks similar, but has a controls at the end. The idea is that it should be fairly obvious that if you want to edit the resource, you should go there and see what it says. For machines, the definition of the hm:toEditGoTo predicate should also be clear. Note that the choices of having data and controls in my URIs are not insignificant, you can have anything, as long as you use that predicate to link them.

If you do, you will be challenged to provide username and password. Try it out with testuser and sikrit. Then, you’ll see something like this:

</test/08/controls> hm:for </test/08/data> ;
 a hm:AffordancesDocument ;
 rdfs:comment "This document describes what you can do in terms of write operations on"@en .
</test/08/data> hm:canBe hm:replaced, hm:deleted, hm:mergedInto .

See, the last sentence tells you that this data document can be replaced and deleted, and merged into. Now, the idea is to define what these operations in the context of a certain protocol with an RDF vocabulary. I haven’t done that yet, but perhaps we can guess that in HTTP replaced means using PUT, deleted means using DELETE and to merge into means POST?

Then, it is the idea that these operations can be described in the message itself too. For example, we can say that if you use HTTP for hm:mergedInto, you have to use POST, and we can reference the spec that contains the details of the actual merge operation, like this:

hm:mergedInto hm:httpMethod "POST" ;
 rdfs:comment "Perform an RDF merge of payload into resource"@en ;
 rdfs:seeAlso [ 
   rdfs:isDefinedBy <> ;
   rdfs:label "RDF Merge" ] .

It is an open question how much of this should go into what messages.

At this point, I use RESTClient but there are many similar tools that can be used, just use the same credentials, set the Content-Type to text/turtle, and POST something like

<> foaf:nick "KKjernsmo" .

to then get it another time, and see it has been added.

So, it is fairly straightforward. It is basically the way it has always been done. So, what’s new? The new thing is that a beginner has had their hand held through the process, and once we have the vocabulary that tells man and machine alike how to use a specific protocol, they can both perform their tasks based on very little prior knowledge.

At some point, we may want to hook this into the rest of the Semantic Web, and use automated means to execute certain tasks, but for now, I think it will be very useful for programmers to just look at the message and write for that.

Main pain point

The main pain point in this process was that clients aren’t supplying credentials without being challenged. My initial design postulated that they would (there’s nothing in the standard that discourages it), and so, I could simply include the hm:canBe statements with the data. After thinking about it for some time, I decided to take a detour around a separate document, which would challenge the client for reads and writes alike, and that the data document would only challenge for writes.

There are obviously other ways to do this, like using an HTTP OPTIONS method, but I felt it would be harder for a user to understand that from a message.

Feedback wanted

Please do play with it! I don’t mind if you break things, I’ll reload the original test data now and then anyway. There are some other examples to play with if you look for void:exampleResource at the root document.

I realize many cannot be bothered to create an account to comment, and I haven’t gotten around to configure better login methods on my site, so please contact me by email. I also hang out on the #swig channel on Freenode IRC as KjetilK, and I will be posting this to a mailing list soon too.

BTW, the code is on CPAN. I have had the Linked Data library for 8 years, there are some minor updates there, but most is in a new addon module. Now, I have to admit, all these additions have exposed the architectural weaknesses of the core library, I need to refactor that quite a lot to achieve LDP parity.

Å skape nye normer ved å utvikle teknologi

Det er mange teknologirelaterte temaer oppe i samfunnsdebatten: Hatefulle ytringer, “hevnporno”, “grooming”, manipulering av meningsdannelsen i demokratier, at befolkningen har mistet enhver innflytelse over egne data, at mediene har mistet sin samfunnsrolle på grunn av sviktende inntektsmodeller og sosiale mediers overredaktørrolle, at næringslivet ser færre inntjeningsmuligheter på grunn av enkelte enorme selskapers dominans, ensrettingen i sosiale medier, osv. Likevel er det knapt nok en eneste teknolog på verdensbasis som er i en slik posisjon at man kan gi et meningsfullt bidrag til å løse disse problemene.

Jeg tror samfunnet tenker på det å forme teknologisk utvikling på helt feil måte: Først må man skille mellom deskriptivt og normativt arbeid. Mesteparten av arbeidet jeg ser som presenteres på ulike møter, for eksempel konferansen om hatefulle ytringer er av deskriptiv natur. Deskriptivt arbeid bidrar til vår forståelse av de ulike fenomenene, og er derfor viktig for normativt arbeid, men kan ikke i seg selv gjøre særlig mye for å korrigere. Under Forskningsrådets VerdIKT-program var sosiale medier en del av fagsøylene, men nesten alt arbeid var deskriptivt.

For å gjøre en forskjell må man drive normativt arbeid. Her synes det meg som at samfunnet oppfatter at lovgivning er det eneste normative arbeidet man kan gjøre. Det er en kritisk feiloppfatning som har satt oss i den situasjonen vi er i i dag.

Det mest innflytelsesrike normative arbeidet i dag skjer blant programvareutviklere i de store selskapene. Dette skjer bak lukkede dører, og under strenge, kommersielle føringer. Når Facebook utvikler algoritmer for mer effektive annonser er det normativt arbeid, det influerer hvordan befolkningen kan påvirkes. Når Google utvikler algoritmer for relevans i søkeresultater er det også normativt, det påvirker hvordan vi ser verden. Men når Tim Berners-Lee skrev programvaren til World Wide Web drev han også normativt arbeid, med den motivasjon at dette var en fellesskapsressurs for hele menneskeheten. De fleste programvareutviklere driver ikke normativt arbeid, men de som gjør det har enorm innflytelse. Mye av problemet er at de som optimaliserer sine utvikling for å manipulere verdens befolkning for markedsføringsformål har mye mer makt enn dem som utvikler med menneskehetens beste som viktigste mål.

Facebook, Google, Amazon, osv., publiserer nytt normativt arbeid hver eneste uke. Først lenge etterpå kan lovgiver forsøke å forstå hvilke nye normer som har kommet til og hvilke effekter det har hatt på samfunnet. Så kan man forsøke med de jure normativt arbeid for å korrigere kursen. Som oftest mislykkes man, fordi normene er så detaljerte og så etablerte at det er altfor sent. Derfor har vi havnet i situasjonen vi i dag er i. Slik tror jeg også EUs nye personvernforordning også vil feile, om noe vil den sementere Facebook og Google sin markedsmakt, fordi de er de eneste aktørene som har et nært nok forhold til brukerne til å spørre om samtykke, noe de helt sikkert vil lykkes med å manipulere oss til å gi.

Med mindre det finnes alternativer for befolkningen. Vi kan nemlig spille dette spillet vi også, men vi klarer ikke spille det på de økonomiske betingelsene som konkurransen med Facebook og Google setter, “pay-by-privacy”-modellen er åpenbart svært vellykket.

Men, vi kan sette teknologer istand til å skrive normativ programvare, basert på de normer vi som samfunn kan bli enige om. Det er dog bare det første skrittet, det må så taes derfra til at det utgjør en standard måte å løse oppgaver på som får bred oppslutning i næringsliv og befolkning. Det er fryktelig vanskelig å gjøre, men det finnes en rekke slik eksempler, der Webben er det største eksemplet. Ettersom vi ikke har noen vitenskapelig metode for å si hva som vil lykkes, vil dette arbeidet nødvendigvis ha et element av å prøve og feile.

I denne prosessen spiller de facto tekniske standarder en rolle, og i noen tilfeller også de jure tekniske standerer og lovgivning. Det blir mye lettere å formulere de jure normer når det er basert på teknologi som eksisterer. Det synes meg en langt mer effektiv måte å etablere normer i samfunnet, starte med normativ programvare, i de tilfellene dette er vellykket, gå videre med de facto standarder, og så, i de tilfellene der det er nødvendig, de jure standarder eller lovgivning.

Vi kan ikke ha det slik det er idag. Det vi har på Internett i dag er en blek skygge av det vi ønsket og prøvde å skape på Web. Vi kan ordne det, men det krever at teknologene får mulighet til å bidra annet enn gjennom kommersielle krav og at vi kan drive tverrfaglig utviklingsarbeid. Jeg vet at mange teknologer deler min frustrasjon og vil bidra til å snu samfunnsutviklingen.

The Greatest Achievement in Social Media

If we managed to create a decentralized social media ecosystem, how would we go about to identify the hardest problems to tackle, and what would be our greatest achievement if we succeeded? If this seems like an odd question, bear with me, dear reader: Many technologists look are motivated by great, technical challenges, and this is an attempt to channel that energy into social problems.

Many people, who I would consider relatively like minded as myself would say that things like censorship resistance and anonymity are the absolute requirements, and so crown achievements. I do think they are important, but only within a broader, social context that takes into account a wide variety of social problems. We have to explore the borders to understand where this may fail to bring social benefit, and we have to consider other options in those cases.

I think it is very important to think about future, decentralized social media not as an application, not like another Facebook, but as an ecosystem, where social interactions is a common ingredient of many interconnected applications contributed by many different actors.

In an earlier post that I wrote in Norwegian, I mentioned the revenge porn problem, where media is put into a sexual context and distributed without the depicted person’s consent. Another problem in the same space is “grooming”, where a person is manipulated into sexual abuse.

Grooming often follows a pattern, where an older person contacts a minor, lying about their age and/or gender and has the minor send them relatively innocuous pictures based on some false pretense. With those pictures, the perpetrator then threatens to expose those pictures to classmates, parents or others to put the minor into a coercive situation, where abuse and coercion can only escalate.

It is clear that one should never enter such a situation with an anonymous peer. However, it is equally clear that one should not enter such a situation with a peer that knows your complete identity either, as that can result in more direct forms of sexual abuse. The grooming problem is a problem because there exists no reasonable and commonly used middle ground, and therefore people resort to unsafe channels. Most of these cases can probably be prevented if people had a strong, online identity that could be used to pseudonymize them using selective attribute disclosure and verifiable claims. With the former, the two peers can disclose only relevant and non-compromising information, for example age and gender (even though that too can be problematic, technology should also be developed to assist in ensuring that their full identity cannot be compromised). With verifiable claims, both peers can verify that the information disclosed by the other is accurate. They should be empowered by the social media platform to enter a context where they have this kind of pseudonymity, where they get the extra security. If, for example a teen enters a dating site, they will use their strong, verified online identity, but the security system of the dating site will see to that nothing that can compromise the identity is exchanged unintentionally. If the peers eventually choose to exchange further details or meet in real life, the peers should be able to indicate to the dating site that they have chosen to do so, and if the meeting results in abuse, this information can be passed to authorities.

“Revenge porn” is a much harder problem. The name itself is problematic, as for example artistic or simple nudes, indeed almost anything, may not have had any sexual intentions, but may be twisted into sexual context by a perpetrator. Moreover, the distribution of such media may not be for revenge, but still be felt as an abuse by the depicted. This underlines that it is never OK to blame the victim and that the problem is  much  broader than it seems at first sight. A fairly authoritarian approach may be advocated: One may argue that people cannot retain full control of their own devices, so that authorities may have the option to delete offending material. Censorship may be advocated, so that material will not propagate. Longer prison sentences may be advocated. I am opposed to all of these solutions, as they are simplistic and fail to address other valid concerns. Taking away people’s control of their own devices contribute to alienation and distrust in the social relevance of technology, something we need to rely on for the solution to the grooming problem above, but also many other problems. I am also opposed to prison sentences, it is often a breeding ground for more crime, and should be reserved for extreme cases.

We should be able to fix (in the sense that the problem is marginalized and made socially unacceptable) this without resorting to such authoritarian measures. It takes changing culture, and while there’s no technological quick fix to changing culture, technology and design can contribute. The Cyber Civil Rights Initiative is a campaign to end non-consensual porn, and has published a research report with many interesting findings. The group advocate some of the more authoritarian solutions, and while I am sympathetic to the need for legislation, I believe this should be considered a privacy problem, and dealt with in generic privacy legislation, as I believe is the case in Europe. Without having personal experience, I suspect that privacy violations where private media are stolen and exposed even without any sexual undertones can be felt as much of a violation is “revenge porn”, and they should therefore be dealt with similarly.

Page 22 of the report summarizes what kind of sanctions would have stopped the perpetrators, in their own words. It is understandable that legislative measures are forwarded, as those comes out as the most significant. I nevertheless think it is important to note that 42% said that they wouldn’t have shared abusive media “if I had taken more time to think about what I was doing”, and 40% “if I knew how much it would hurt the person”.  These are very important numbers, and things that can form the basis for design and cultural change. It is now possible to detect pictures with certain content with a relatively high probability, and make the poster think more carefully. Make them answer some questions. We could build a technology that asks “do you know how much this could hurt?”, and then a culture were friends ask the same. This becomes even easier if the victim is identified, as is not uncommon. In that case, the media could be tagged as “not OK to distribute”, and where friends of the victim could also appeal to the perpetrator’s conscience and also participate in stemming the distribution. Laws are for the 20% who said that nothing would have stopped them, and building a culture should also shrink this number significantly. Finally, 31% wouldn’t have posted the media “if I had to reveal my true identity (full name)”. Even without full name, a pseudonymized identity, like the one discussed above, could act as a significant deterrent, and would also help propagate warnings about how further distribution would be inappropriate and/or illegal.

This makes me hopeful that this is a problem were a well designed decentralized and rather censorship-resistant social media ecosystem could have a meaningful impact.

Another reason that the system has to be censorship resistant, is that it the same ecosystem has to be universal, for example, it must also function as a platform for public debate under authoritarian regimes. I would like to point out the work of Hossein Derakhshan who initiated a large blogosphere in Iran that contributed to a more open public debate. Derakhshan was arrested for his blogging in 2008, and released in 2014. He wrote a retrospective analysis of the development in the intervening years that is important well outside of Iran, called “The Web We Have to Save“. I  have great respect and admiration for the work that Derakhshan has done, and it underscores the importance of having a Web that can be the foundation for situations where it is important to stop the spread of certain material and for situations where it is important to keep it flowing.

To achieve this, we must be very careful with the design of the ecosystem. For example, the trusted identity is straightforward to achieve in Norway, where we have good reason to trust government, but it would be counter to the goal of an open debate and therefore stifling to do so in Iran. Trust in the identity is an example of something that must be built in very different ways around the world, and the ability for local programmers to integrate different approaches into the same ecosystem is therefore instrumental to the possibility of making it work for everyone.

It is undeniable that there is a tension between the above goals, but I think it is easy to agree they are both important. To have the same platform do both of these things is a great technological challenge, and I think that if we can do this, it will be a very important achievement for all of mankind.

Enabling Diversity Through Decentralised Social Media

Awareness of the problematic aspects of social media has been brewing for a long time, but recently, it has exploded in the public debate, with the effects of “fake news” and “echo chambers”, and also on the editorial role of Facebook. The response of Facebook has not impressed commentators. To make my position clear from the start: This is a very complex problem to solve and involve social, economical and psychological problems that need to be addressed. However, I wish to make the case that the technology also matters, and an approach must necessarily begin with changing the underlying technology. In this blog post, I would like to list the primary social problems that I have personally identified. However, I’ll try to take a positive angle, this is not just about Facebook and that failings, this is what we should create for the future. Out of the social problems, the echo chamber problem is only one.

The Echo Chamber Problem

My personal history with this problem doesn’t start here, it started 20 years ago, as I took on managing the Web site of the Norwegian Skeptics Society. The subjects we were concerned with were fairly marginal, and easy to label superstition. Astrology, UFOs, etc. It soon became quite apparent that the problem wasn’t to reach out with information, the actual problem was much, much harder, it was to get that information into closed minds. Since then, this problem has grown from being a marginal problem considered only by a few, to a major social problem.

Now, some may say that the problem is not technological, and possibly that technology is indifferent to the problem, any technological platform can help get information into closed minds, and any technological platform can provide infrastructure for opposing viewpoints and enable a debate between them. I disagree, and I think recent events make that clear. Even if technology alone cannot open closed minds, there are technological choices that are critical in enabling the needed platform for an open public debate.

First, it is important to constrain the scope of the technological problem, by understanding the problems that are of different origin. The reason why fake news thrives on Facebook is complicated and this article argues it comes down to the emotions of the people in your social network. This article contains a discussion of why “popping the bubbles” is problematic. It is also important to be reminded of the effects of identity protective cognition. Facebook has themselves published research on the issue. What is interesting is that nowadays, my Facebook feed is full of anti-Facebook sentiments, but none of these articles showed up there. I had to go look for them, only after I started to share these articles in my News Feed myself, similar articles started to surface. Now, the “echo chamber” and “filter bubble” metaphors may not reflect the true nature of the problem, but Facebook arguing that they are not doing so bad is mainly due to the lack of a ambitious baseline, we don’t know yet what could be achieved if a structured, cross-disciplinary approach was made. Even if the most important effects are social and psychological, if information isn’t available it can certainly not be acted upon.

To further understand the problem, we should listen to Facebook’s Patrick Walker, who responded to the “Terror of War” photo removal with a keynote given to Norwegian editors. The keynote is well worth watching, not just because it provides insight into the core problems, but also because it provides hints to the road ahead.

Patrick Walker himself gives an excellent summary of the accusations they face:

“[…] people said that we weren’t transparent, there’s no way of knowing what our algorithms do, that publishers don’t get any warnings about changes to the news feed, that we refuse to accept that we were editors and were abdicating our responsibility to the public, that we were trying to muzzle in on the media business and eroding the fundamentals of journalism and the business models that support it. That by encouraging editors to optimize for clicks and showing people what they want to see, we were creating filter bubbles and echo chambers.”

He then goes on to forward the values of Facebook, to give people the power to share and to make the world more open and connected. I have no reason to doubt that they are actually trying to do that. In fact, they may often be succeeding. However, the Web is what to a greater extent gives people the power to share. The Web is what truly empowers people, Facebook included, Facebook is merely a thin layer on the top of the Web. The problem is that it is truly a layer. If Facebook was just yet another possible social network, with a limited scope just like Mark Zuckerberg proposed, that’d be fine:

But it isn’t, it wields much more power than that, since it has effectively put the function of a social network into its own hands and controls that. Patrick Walker then goes on to describe how difficult it is to create global community standards for Facebook, and how problematic it would be if these standards did not apply to all of Facebook. He then concludes that people are free to say whatever they want elsewhere, but not on Facebook. This part of the talk is very compelling, and calls into question the appropriateness of calls for national or EU-mandated regulations. But it also makes it clear that Facebook cannot play the role of a public debate platform, he said that pretty much himself. In the moment an opinion becomes unpleasant, and those are the opinions that need the most protection, it has no place on Facebook. He says it clearly: “Facebook is not the Internet”. It makes it clear, to solve most of the problem he mentioned we have to create that alternative to Facebook that provides the platform for an open, public debate.

It is also clear from his talk that many of the problems that Facebook faces are due to that Facebook needs a single set of rules, and while he has made a good case for that for Facebook, it doesn’t have to be that way on the Internet. In fact, the architecture of the World Wide Web is decentralised, there is no single actor, such as Facebook that should control such an important feature as a social network. Decentralising the social network will have the effect of allowing a plurality of standards. Facebook only has to solve Facebook’s problems, these problems are not universal, and that’s why I say that the underlying technology matters. A decentralised social network has a different set of problems, some are difficult, but it is my clear opinion that the hardest problems are created by Facebook, and can be solved as decentralisation enables diversity and pluralism.

The General Lack of Diversity

As Walker noted, they have been accused of attacking the ability of the press to perform quality journalism. There is some merit to the argument, even if it was easy to predict that social media would be the most important distribution channel more than 15 years ago, before the social networks grew large and strong. Now, the press has to choose between letting Facebook be the editor-in-chief and hopefully a benevolent provider of a working business model, or to maintain their autonomy, and essentially starting over and figure out how to make money in social media on their own.

The problem is not just about Facebook or the press. Recently, Elon Musk said on their carpooling efforts that it “wasn’t Tesla vs. Uber, it is the people vs. Uber”, implying that Uber is a monopoly problem waiting to happen.

The centralisation is not only a problem for opinions in the public debate and  business models, though both are important aspects. It creates difficulties for permissionless innovation, an aspect central to the Web and the reason why Facebook could succeed. It limits the research that can be done on the platform, for example, no one else could have done the article we referenced, which places the owner of the social network in an ethically problematic privileged position.

The General Lack of Universality

With diversity challenged, another key aspect of the Web is also challenged: Its universality. Not everyone has a place on Facebook. The obvious ones that are excluded are pre-teen children. Not that they seem to care. In social networks, they certainly have a place. Moreover, people with cognitive disabilities will find the environment on Facebook very hostile, where they can be fooled into helping the spread of fake news and other material, also material that Facebook legitimately may delete. To some, much damage can be done before appropriate action can be taken. Moreover, their friends are not empowered to help. That’s not what the social network should have been, what I first had in mind was to port the social cohesion of real life to the Web, but the opposite has happened. This is a great failure, but at least a problem centralised systems could solve if they wanted to.

Combating Abuse

It gets even harder once we get to the problems surrounding revenge porn and “grooming”. I want to make clear that Facebook is not the target for this criticism, I’m talking more generally here. The problem is severe, but a problem that has just a few victims, and I believe that it cannot be solved if one is thinking only in terms of commercially viable systems. The technical contributions towards solving this problem is something I think needs to be government funded. Decentralisation is not necessarily helpful technologically, but standards and adoption of once approach could make a large impact. I think it is critical to addressing this problem that we enable trust models to work on the Web and that people are enabled to look out for each other.

Respect for the Individual

Finally, and this is a key problem for the future as well as the present, is the respect for the rights of individual citizens. We are moving towards an Internet of Things, where all kinds of sensors will provide lots of data, often connected to persons, and mining them can yield information that each citizen would certainly consider highly sensitive. I believe we cannot simply go on, neither in research nor in business technology, and pretend these problems are not significant, or that they are simply Somebody Else’s Problem. I reject the notion that the majority doesn’t care, they care, but they are left powerless to remedy the problem.  I hold it as a moral imperative to empower people, and we, as technologists have to tackle this problem.

I fear that we may have an anti-vax or anti-GMO type backlash if we do not commit to a privacy-aware infrastructure, so even if the moral imperative isn’t accepted, one should take this possibility seriously.

A Different World is Possible

I have already pointed out that decentralisation is an important technological enabler for a different world, and stated that this new infrastructure must be privacy aware. Obviously, neither the motivation nor the solution of a decentralised social network is new, it has been tried for a long time. So, how can we possibly succeed now? I think several things have changed: Most importantly, it is now understood that this is a problem that have large effects for entire societies. Secondly, we have standards, and we have learned much from the past, both in terms of technological mistakes and from research.

Now is time for action. We need a broad understanding of the problems, but we also need to start with the fundamental technological infrastructure that we need to provide to the world, and try out several possible approaches, approaches that can further the understanding of the cross-disciplinary solutions. I hope to be able to contribute in this space.

Mer om å erstatte Facebook

Jeg har nettopp fått inn en kronikk i Dagbladet om å skape et åpent, desentralisert alternativ til Facebook og andre sosiale medier. Min oppfattning er at dette må til for å blant annet løse problemet med “kommersiell sensur”, slik Facebook sin sletting av bildet Tom Egeland la ut og senere sensurerte hans kritikk er et eksempel på. Dette ble naturlig nok tatt ille opp her i landet, og godt er det, men spørsmålene som følger av episoden er større enn de som har blitt besvart ved at Facebook tok til vettet. Om ikke kronikken min var lang nok for deg, så følger jeg opp med flere meninger rundt temaet.

Jeg mener det er to svært sentrale problemstillinger, og en hel haug med underproblemer under disse.

Den ene problemstillingen handler om Facebook (og andre) faktisk har et ansvar for å publisere bildet på sin plattform. Dette er ikke noe enkelt spørsmål, for selv om jeg stiller meg bak mesteparten av landet og statsministeren i presset mot Facebook til å publisere bildet, så gjør jeg det mest fordi Facebook har mye makt. For mye makt, og denne makten må balanseres. Jeg hadde heller sett en annen løsning. Jeg ønsker meg en dypere debatt om man faktisk bør ha en plikt til å publisere andres materiale, ikke bare sett i lyset av dagens publikasjonskanaler og teknologi,  men også sett i lyset av teknologiske muligheter.

Jeg prøvde egentlig å begynne å snakke om dette for ca. 20 år siden. Hvis jeg husker riktig, var det Europarådet som begynte å snakke om å innføre en tilsvarsrett i digitale medier, etter modell av trykte medier. En tilsvarsrett er at man kan få publisert et svar på et angrep på en, mao.  innholder begrepet forenklet sagt at man må publisere andres materiale. Det er definitivt en god ting for en offentlig debatt, man har behov for å kunne forsvare seg, oppklare misforståelser osv. Likevel var jeg skeptisk, av en kortsiktig grunn og en langsiktig: Den kortsiktige var at kommentarsystemene var dårlig utbygd i veldig mange av de små organisasjonene som drev webben framover, og det trenges en betydelig innsats for å få det. En plikt til å publisere tilsvar var en mulighet til å overbelaste publikasjonsprosessen for små organisasjoner. Det problemet har vi ikke lenger. Den andre grunnen var at i praksis er tilsvarsretten selvsagt sterkt begrenset, det er redaktøren som må ta en vanskelig avgjørelse. Selv om jeg strevde med kommentarsystemene mine der og da, var det ikke vanskelig å se en vei framover, vi trengte bare litt tid til å skape det som trengtes. Derfor, mente jeg og mener fortsatt, at vi kunne erstatte en svært begrenset tilsvarsrett med en nær absolutt tilsvarsmulighet. Vi kunne altså skape, ved hjelp av teknologien, noe som var mye bedre. Og at det er kanskje bedre å sette av noen midler til å skape enn å skrive betenkninger i det vide og det brede…

Problemet med Facebook som overredaktør, som har store følger for både ytringsfriheten og for media sin mulighet til å følge opp sitt samfunnsmandat, både med hensyn til hva de kan få distribuert og de økonomiske rammene, oppstår fordi Facebook har fått en svært sentral rolle. Det var ingen overraskelse at det skulle bli slik, vi så allerede for 20 år siden at sosiale medier ville bli en viktig distribusjonskanal, sannsynligvis den viktigste. Problemet var at alle ville sentralisere de sosiale nettverkene og alle prøvde å bli Facebook. Facebook vant og derfor er vi nå i den situasjonen at store deler av distribusjonen skal igjennom ett selskap som skal ha en standard for hva som kan publiseres. Hadde de sosiale nettverkene vært desentralisert, slik at det ikke var en aktør, men mange aktører med forskjellige standarder, hadde ikke dette problemet oppstått. Kanskje det er mulig å sentralisere de sosiale nettverkene uten å få disse problemene vi nå ser, men jeg vet ikke hvordan det kan gjøres i praksis.

Mitt åpenbare forslag er å desentralisere de sosiale nettverkene, slik at mange aktører er involvert. Webben er slik at hvem som helst kan koble en datamaskin til Internett og publisere, bare begrenset av den lokale nett-tilbyderen sine regler og lovene på stedet, og i Norge reflekterer de vår forståelse av ytringsfrihet. Webben kan utvides til å takle sosiale nettverkene helt fint. En liten, men viktig bit av det som skal til ble lagt ut i år 2000: FOAF, eller Friend of a Friend. Senere fikk vi flere muligheter til å representere sosiale data i Semantically Interlinked Online Communities (SIOC). Nå fikk vi aldri løftet dette opp fra nerdenivå, kjøret mot sentraliserte sosiale nettverk var så sterkt at det ble vanskelig for en liten gruppe nerder å gjøre det. Vi trenger et bredere samfunnsengasjement for å gjøre det. Jeg håper at den siste tidens debatt har gitt oss dette samfunnsengasjementet.

Vi nerder har nemlig hatt dette problemet opp lenge. Wikipedia har en lang liste av forsøk. Vi har dessverre ikke fått løftet det opp til å synes som et samfunnsproblemet, selv om det helt åpenbart er et samfunnsproblem. Media har etter min mening et stort ansvar fordi de er en del av problemet, ved å søke å holde kontrollen over distribusjonen istedetfor å sørge for at man kan bære en pengestrøm over desentraliserte nettverk. Man burde innsett for lenge siden at de sosiale nettverkene skulle bli så kraftige at det ikke nyttet.

Samtidig sitter media på nøkkelen til å løse problemet, de må bli med å utvikle desentraliserte sosiale nettverk.

Mens jeg er ganske overbevist om at desentraliserte sosiale nettverk er meget viktig, kanskje nødvendig, for å løse mange av samfunnsproblemene som oppstår med f.eks. Facebook, er jeg mer i tvil om andre aspekter ved å løse problemene. Som nevnt i Dagblad-kronikken har Facebook vunnet fordi det er nyttig og å forsøke å lage noe basert kun på idealer som ikke klarer å konkurrere på nytte er en håpløs tilnærming. Et alternativ må være like nyttig, sett fra brukernes perspektiv, og må også gi noe mer.  Det er altså ikke bare-bare å kaste penger etter et alternativ, og dermed tro at folk skal ta ibruk systemet, selv om det synes bedre sett fra noens idealer av verden.

Jeg er generelt skeptisk til at det offentlige skal komme inn og skape et idealistisk system, noe som jeg innrømmer er et paradoks utifra det jeg tidligere har skrevet. Jeg har ingen enkel oppskrift. Når det gjelder forskning mener jeg det er ganske klart at man bør ha sterk, offentlig finansiering, og det finnes forskningsproblemstillinger knyttet til problemene vi diskuterer her som bør undersøkes og som har en del relevant litteratur bak seg. Likevel synes det meg ganske snodig at man roper på flere regler og faktisk legger ganske store ressurser i å skrive disse reglene, selv om reglene ofte er særdeles sneversynte, som tilsvarsretten over. Da synes det meg mer fornuftig å bruke midlene til å forsøke å skape en bredere teknologisk løsning på teknologiske problemer, gjerne i samspill med bedre regler når de teknologiske mulighetene er bedre forstått av flere aktører i samfunnet.

Spesielt gjelder dette der det er en uklar forretningsmodell for tjenester som er viktig for samfunnet, eller der forretningsmodellen er veletablert men til ugunst for befolkningen. Vi ser en “pay-by-privacy”-modell som har blitt svært utbredt, Facebook er et godt eksempel på dette. Dette er et tilfelle hvor jeg mener det vil være riktig å tenke på å finansiere et felles gode med fellesskapets midler.

Store, overordnede utviklingsprosjekter kan også ha stor suksess med offentlig finansiering, der det største eksempelet er Apollo-programmet som satte mennesket på månen. Videre er norsk elbil-politikk en suksess, delvis fordi man ikke fra politisk hold kom med for sterke føringer, man satte f.eks. ikke et tak på pris og dermed har man bidratt til en solid teknologidemonstrator i form av Tesla-bilene. Dette er to svært forskjellige eksempler: I Apollo-programmet trengte man ikke å lykkes i et marked, det er ikke noe stort marked for månelandinger. I tilfelle elbil er det derimot et svært vanskelig marked å komme inn i, og man må fra politisk hold være tilbakeholden med føringer, slik at produsenter som sitter tettes på markedet har muligheten til å forstå og tilpasse seg markedet.

I tilfellet sosiale medier/sosiale nettverk har vi også en situasjon der markedet er svært vanskelig å komme inn i, illustrert av de mange prosjektene som ikke har tatt av. Hvordan det offentlige bør investere i teknologiske løsninger for å løse samfunnsproblemene er ikke veldig klart for meg, men jeg håper man vil prøve å gjøre det. I tillegg ønsker jeg å utfordre mediene, ettersom de har så mye å vinne på å gjøre det og så mye å tape på å ikke gjøre det, samt at de faktisk fortsatt sitter i en posisjon der de kan hjelpe.

Hvis man skal se hvordan det offentlige bør hjelpe, kan man eventuelt ta utgangspunkt i spørsmålet om “hva bør befolkningen ha universell tilgang til?” Kanskje de bør ha en identitet? Hva med en mulighet til å publisere kommentarer, bare begrenset av norsk lov? Datadeling med formål å dele data med myndighetene (f.eks. selvangivelse)? Datadeling med formål å dele data med private aktører (f.eks. strøm og vannmålerdata)?

Som en mulig løsning har jeg valgt meg Crosscloud-prosjektet. Det er flere grunner til det: Det bygger tett på det eneste globale informasjonssystem som har fungert, nemlig Webben, det ledes av han som oppfant denne, Tim Berners-Lee. Det er også viktig å innse at Webben i seg selv dyttet overende store markedsaktører da den kom og at dette skjedde med små midler. Det fantes på den tiden en haug med lukkede nett folk ringte opp til med modemene sine. Med Webben tok Internett over for alle disse i løpet av et par år.  Det er lurt å låne øret til en som har gjort slikt en gang før. Crosscloud er også nettopp et slikt åpent desentralisert nettverk som vil løse mange av problemene vi har diskutert, og det har allerede en rekke forskere og utviklere i lønnet arbeid, selv om de jobber med andre problemstillinger enn media. Jeg kjenner også teknologien godt, og noe av min forskning er direkte relevant.

Jeg mener at det må være et langsiktig økonomisk potensiale bak en teknologi hvis den skal stå seg over lengre tid, og jeg er sikker på at Crosscloud-plattformen har potensiale for å bli en stor kommersiell suksess, men at profitten vil bli distribuert over et mye større antall aktører. Det vil ikke være en stor aktør som Facebook, men det kommersielle potensialet er totalt minst like stort.

Det man har nytte av som bruker av Facebook er ikke særlig store greiene å lage. Facebook strever med enorme problemer delvis fordi de er så sentralisert, men de fleste av disse problemene er ikke av særlig interesse for brukerne, de handler om hvordan Facebook tjener penger: Å selge informasjon om oss. Et brukerorientert desentralisert system vil ikke nødvendigvis være så komplisert å lage. Vi har noen samfunnsproblemer å løse, og jeg er ikke den beste til å tenke forretninger, så jeg tenker først og fremst at det offentlige bør tenke hardt på hvilke deler av økosystemet som bør sees på som en rettighet, og så bør private kunne bygge opp rundt det for å tilby tjenester. Dessuten tror jeg plattformen trenger et enkelt men standardisert betalingssystem. Et sentralisert system kontrollert av en aktør, som f.eks. Vipps, vil etterhvert treffe på samme typen problemer, foruten at jeg mener man må tenke globalt fra dag 1. For å være nyttig må plattformen behandle innhold fra alle mulige aktører. Nasjonale løsninger er ikke interessant. Slik kan man begynne å bygge betydelig økonomisk aktivitet rundt det.

Til slutt vil jeg bemerke hvordan jeg så for meg sosiale medier for 20 år siden. Eller forresten, først må jeg peke på hvordan Douglas Adams oppsummerte det:

One of the most important things you learn from the internet is that there is no ‘them’ out there. It’s just an awful lot of ‘us’.

Sosiale nettverk skulle først og fremst handle om å overføre det som på engelsk kalles “social cohesion” (jeg vet egentlig ikke helt hva vi vil si på norsk) til nettet. Det som får folk til å returnere en mistet lommebok til sin eier selv om de vel kunne ha kommet unna med pengene, eller ta stor risiko for å redde en fremmed. Mulig det er naivt, men jeg mener det fortsatt er verdt å prøve.

Et desentralisert sosialt nettverk skaper en del utfordringer, det blir utvilsomt vanskeligere å få ting slettet slik Facebook kan med et tastetrykk. Likevel, ta eksempelet med hevnporno, som gjerne forekommer i nære relasjoner, altså kan det også være overlapp mellom de sosiale nettverkene til overgriper og offer, noe som igjen betyr at hvis venner av offeret gjenkjenner offeret kan man flagge at videre distribusjon ikke bør forekomme. Man kan også tenke seg algoritmer som sjekker om det finnes gjenkjennelige personer i filmer eller bilder og få de store distributørene til å bruke dette. Dermed kan man prøve å sørge for at videre distribusjon ikke skjer før alle gjenkjennelige personer er identifisert og gitt eksplisitt samtykke. Her har også reglene en viktig rolle å spille. Tilnærmingen er ikke vanntett og heller ikke autoritær, men den kan godt fungere bedre enn det vi har i dag.

Mitt store prosjekt om Semantisk Web

Mitt Ph.d.-prosjekt nærmer seg slutten, og jeg tenkte det var på tide å skrive litt om det. Dette er en populærvitenskapelig framstilling av prosjektet:

Jeg startet med en dyp fascinasjon for ideen om Semantic Web, og mye praktisk erfaring. Som forsker er det kanskje ikke det beste utgangspunktet, siden det kan kan være en utfordring for objektiviteten forskeren bør ha. Men akkurat det viste seg å være mitt minste vitenskapsfilosofiske problem, vitenskapsfilosofiske grublerier skulle bli langt mer framtredende en jeg hadde forestilt meg på forhånd.

Semantic Web er ideen om at man skal kunne bygge ut dagens World Wide Web med data som skal i større og mindre grad analyseres av datamaskiner. Egentlig var det ideen helt fra starten: Hvis en webside har en tabell, og en av kolonnene har overskriften “Pris” kan man gjette seg til at i cellene står prisene for produktene som angis på radene. Innen 1997 begynte det å bli ganske klart at websider ble i praksis kodet på en slik måte at dette var noe man ikke ville klare i praksis og dermed startet man arbeidet med en datamodell kalt “Resource Description Framework” (RDF).

Året etter startet jeg på mitt hovedfag i astrofysikk, men i bakhodet hadde jeg en problemstilling som jeg hadde opplevd da jeg på frivillig basis startet Problemet med å opplyse de overtroiske var ikke snakk om å nå ut med informasjon, det er banalt enkelt. Det vanskelige var å nå inn i lukkede sinn, trenge inn i ekkokamre, få noen interessert i det de aller minst vil høre. Naturligvis er de tekniske løsningene bare en liten del av bildet, men det begynte å tegne seg et bilde av noen teknologiske muligheter i mitt hode. Jeg skrev noen ideer og sendte dem litt rundt på nett, og en av dem som plukket dem opp og fortalte at de tenkte i samme retning var han som uka etter skulle bli leder og redaktør for standardiseringsarbeidet av RDF. Han overbeviste meg raskt om at mine tekniske ideer var realistiske innenfor rammeverket av Semantic Web. Skjønt, selv om jeg fikk sjansen til å jobbe med det, var det for mye for en mann å løse med svært umoden teknologi. Kommentarfeltenes tragiske endelikt skylder jeg fortsatt på at ingen gjorde den jobben, demokratiet kunne ha vunnet så mye.

Anvendelsene av Semantic Web-teknologi er brede, så brede at det bør kunne gjennomsyre samfunnet i langt større grad en dagens Web. Rørleggeren som skal levere tilbud burde bruke det, skal man ut på reise bare vet hva man vil oppleve og ikke helt hvor man skal, bør man bruke det, i medisin og i industri. Kort sagt over alt der noe som er offentlig tilgjengelig skal integreres med noe som er privat, for å hjelpe noen med å ta en avgjørelse.

Dataintegrasjon er stikkordet. I dag er situasjonen at hvis man skal integrere flere datakilder trenger man gjerne en programmerer til å gjøre jobben. Jo flere datakilder som skal integreres, jo mer arbeid, og sannsynligvis er det ikke bare dobbelt så mye arbeid for dobbelt så mange datakilder, det er enda verre! Samtidig går antallet som er interessert i akkurat den kombinasjonen ned. At kostnaden går opp etterhvert som færre kan betale for jobben gjør at man ikke ser så veldig store integrasjonsprosjekter til daglig, de er for dyre.

På Semantic Web skal hver enkelt gjøre en litt større innsats for å gjøre sine egne data lettere å integrere, men belønningen er at datamaskinene skal gjøre resten av jobben. Det bør legge teknologien i hendene til folk flest.

Og det er nettopp det som er idealet bak mitt prosjekt. Industrien har tatt teknologien i bruk, og Semantic Web ble brukt da IBM brukte sin Watson til å sette menneskeheten i forlegenhet da den vant Jeopardy over de mestvinnende menneskene i øvelsen. Mektig imponerende, helt klart, men teknologi for de få i overskuelig framtid.

Prosjektet skulle først og fremst være praktisk. Måten man lager applikasjoner på må endres, fra systemer der utviklere må ha eksplisitt informasjon til systemer som drives av dataene de får fra nettet. Dette er essensen i hypermedia. Når jeg sier hypermedia, tenker de fleste på en film med tekst rundt, men det er bare det enkleste tilfellet. I det tilfellet vet applikasjonen at når den har siden, og finner en film, så kan den filmen spilles av. Men hypermedia handler egentlig om at det er en dialog der brukerens system resonnerer seg fram til hva den skal gjøre. En applikasjon skal ikke trenge å være kodet for å bestille pizza, den blir fortalt hvordan den skal gå fram av restaurantens websider.

Likevel er det utenfor hypermedia-området jeg har jobbet mest, med et spørrespråk ved navn SPARQL. Enkle spørrespråk har nok de fleste sett: På Google kan man skrive + foran et ord hvis man vil at det skal være med, eller gåseøyne rundt en frase hvis ordene skal stå akkurat slik. Med et ordentlig spørrespråk kan man f.eks. si at “gi meg alle steder der det er meldt over 25 grader, i nærheten av en UNESCO world heritage site, men også badestrand, minst 4 stjernes hotell, hvor det er mindre enn 6 timer å fly fra min nærmeste flyplass med ledig plass neste uke, og min nåværende posisjon er…”, pluss at man kan ordne, begrense antall resultater, osv., osv.

Dataene kan være under forskjellige aktørers kontroll, i forskjellige databaser med forskjellig struktur. Det Semantic Web gir oss er en måte å koble dem sammen hvis man enes om et navn for hver ting og felles navn for egenskapene, og et språk til å bygge broer der man ikke enes. Navnene som brukes på Semantic Web er velkjent fra Weben. Navnet på denne artikkelen er dens adresse, og den kalles en URL: . Semantic Web generaliserer dette til noe vi kaller URI, som kan brukes for ting som ikke er på nett, som en person, eller abstrakte ting, som en værtype. Men, siden dette er Web-teknologi, så begynner gjerne også disse navnene med ‘http’ slik at man kan få data om tingen bare ved å laste ned navnet. Data som brukes på denne måten kalles “Linked Data”.

Med SPARQL kan man stille spørsmål og få svar på svært innviklede spørsmål, og etter ganske kort tid spratt det opp flere hundre databaser åpent på nett der enhver som kunne språket eller hadde et verktøy som kunne hjelpe med å lage spørringene, noe som også finnes flere av, kunne gjøre det.

Det som dermed ble en interessant forskningsproblemstilling var å bruke språket ikke bare på en database, men på kryss av mange, alt etter hvilke data som finnes hvor. Dette ble mitt tema i likhet med mange andre grupper.

Problemet var den nagende mistanken om at infrastrukturen ikke klarer trafikken, noe som ble bekreftet av et studie av flere hundre slike databaser. De var svært ustabile og svært få var stabile nok til praktisk bruk.

Et nytt felt, som Semantic Web, kan beskyldes for å glemme gammel lærdom, og snart kom kritikken fra database-miljøet: Selvfølgelig kan man ikke la tilfeldige brukere stille tilfeldige spørringer med et så kraftig spørrespråk som SPARQL, det er ikke vanskelig å lage en spørring som vil ta årevis å svare på. Det kan skje enten fordi man ikke forstår hva man gjør, eller som et angrep. Man ser da heller ikke vanlige databaser på nett, det er alltid et forenklet grensesnitt man får som tilfeldig bruker. Nei, sa de, sentralisering av databaser til datavarehus og strenge begrensninger på hvilke spørsmål man kan stille er løsningen.

Rent teknisk kan det være korrekt, men det er ikke bare tekniske forhold som kan motivere forskningspørsmål. Sentralisering kan føre meg seg at enkeltaktører blir for mektige, og at hvis du ikke er innenfor en større kundegruppe blir dine problemer kommersielt uinteressante. Det er nettopp kommersielt uinteressante problemer vi skulle løse, fordi virkelige mennesker trenger en løsning også der det ikke finnes en klar forretningsmodell.

Så dermed må vi utnytte fordelen med å være et nytt felt til å utfordre gamle selvfølgeligheter, ved å formulere nye problemstillinger. Det er to retninger min forskning har gått i:

For det første: Hvorfor har vi ikke gjort de store framskrittene mot stabile løsninger? Spørsmålet plaget meg så mye at jeg tok en lang tur bort fra det praktiske og over til det vitenskapsfilosofiske og den statistiske litteraturen.

Mye av forskningen foregår med formelle metoder, som står støtt på sine formelle bevis. Problemet er når veldig mange formelle resultater legges sammen til et ferdig utviklet databasesystem har systemet blitt så komplekst at evalueringen av helheten må skje med empiriske metoder. De er lite utviklet i litteraturen. Hypotesetester finnes nesten ikke, man setter opp systemet man har utviklet, sender noen spørringer til det og måler hvor lang tid det tok før man fikk svar. “Benchmarking” kaller man det. Det er ingen samlende statistikk rundt de forskjellige testspørringene, ingen strukturert måte å finne ut om evalueringen i seg selv gir meningsfylte resultater. Man forsøker å møte problemet med at man i prinsippet kan velge spørringer utifra hvilken konklusjon man ønsker ved å standardisere spørringene, men dermed gjør man det umulig å teste utsagn som ligger utenfor standarden.

Mitt forslag var derfor å introdusere metode fra statistikken kjent som “Design of Experiments”. Med et eksperiment som kjørte i flere dager viste vi hvordan man kan generere testspørringer, gjøre hypotesetester, finne de viktigste problemene og lage en strukturert måte å vise om selve eksperimentet har viktige feil.

Likevel fortsatte flere vitenskapsteoretiske problemstillinger å plage meg. Når man står på Semantic Web-konferanser, som forøvrig kjennetegnes av svært godt sosialt og inkluderende miljø, så påstår så godt som alle at deres løsning fremmer visjonen om Semantic Web. Men hvordan underbygger man en slik påstand, all den tid Semantic Web ikke eksisterer ennå i den formen som visjonen forutsetter? Kan den trege utviklingen tilskrives at vi rett og slett ikke driver vitenskap, og i så fall, hva er vitenskap? Klare, popperske kriterier viser raskt sine problematiske sider, ettersom man innenfor dagens evalueringsmetodikk ikke har rimelig grad av sikkerhet på om det er studiets resultat som falsifiseres eller bare evalueringsmetodikken som er for dårlig. Vi har ingen formulert teori der hypotesene finner sin kontekst, slik min hovedfagsoppgave i sin tid fant sin kontekst i generell relativitetsteori og kvasarteori.

De gamle vitenskapsfilosofer gir en god ide om hva som kan gå galt hvis man ikke holder tunga rett i munnen, men jeg finner lite rettledning i de konkrete problemene jeg står oppi, og spørsmålet om sviktende metode er en av årsakene til treg framdrift har blitt stående.

Et annet svar til databasemiljøet er at “vi har nå et fungerende, globalt informasjonsystem som dere ikke hadde da dere prøvde å legge databaser åpent for mange år siden”. Dette informasjonsystemet, Webben, har visse egenskaper i infrastrukturen som muligens kan utnyttes. Et av dem er mellomlagring. I nettet finnes det maskiner som mellomlagrer data fra forskjellige kilder for å hjelpe til med å ta last fra publiseringssystemet, og for å sørge for at brukeren får bedre opplevd hastighet.

Det første spørsmålet var om Web-standardene for mellomlagre er i tilstrekkelig utbredt bruk av eksisterende datakilder på Semantic Web, noe som allerede innebærer ganske mye data. Jeg gjorde et omfattende søk over alle data jeg fant, og konkluderte med at situasjonen må forbedres mye, men at for enkelte deler kan man dra nytte av denne infrastrukturen.

For mitt siste arbeid gikk jeg tilbake til det praktiske, nemlig å lage et system som utnytter mellomlagringen i nettet, prøver å gjette hvilke data som kan være nyttige for brukernes framtidige spørringer og integrerer hypermedia i tillegg til databasene. Dette skal bli et modulært og ganske komplett system jeg publiserer som fri programvare. Flere av modulene har allerede blitt tatt opp av Debian-prosjektet, som danner grunnlaget for de mest utbredte Linux-baserte operativsystemene.

Dette arbeidet vil også ha en Design of Experiments-basert evaluering. Uansett hva den sier, vil de store spørsmålene bli stående ubesvart, jeg kan fortsatt ikke si om mitt arbeid er et verdifullt bidrag på veien mot Semantic Web.