Skip navigation

Sign up | Lost password? | Help

Tom Heath's Displacement Activities

Posts tagged with "tim berners-lee"

Out from Behind the Great Firewall

, , , ...

It's been a quiet month, blog-wise, mainly due to MyOpera being inaccessible from behind the "Great Firewall of China". Not sure what content on here is worth screening out (except perhaps on quality grounds :wink:, but anyway...

I was in China for WWW2008 initially, and then two weeks of holiday, giving me a chance to see some of this vast country, meet some great people who went out of their way to help us, have varied success at avoiding being ripped off (an occupational hazard for travellers in China it seems), and catch a glimpse of somewhere undergoing huge changes.

On the subject of the Great Firewall, I'll admit to being a bit disappointed that TimBL's Keynote at WWW2008 didn't address this issue more explicitly. On the other hand, he gave a great plug in his speech for the Linked Data on the Web workshop we co-chaired with Chris Bizer and Kingsley Idehen earlier in the week (summarised nicely at ZDnet by Paul Miller), which really made my day.

To be fair to Tim though, I wouldn't have wanted to be in his shoes, which were undoubtedly treading a very fine line. Before the conference I was see-sawing between thinking "he's got to address this issue head-on", and thinking "no way, it would just be too confrontational to raise it in this venue".

Yesterday I came across this blog post on the subject from the New Scientist. Whilst I wholly sympathise with the strength of feeling, I think the post itself is misplaced, or at least misdirected. The IW3C2/W3C/Web community at large has two choices: engage, and hope to bring about change through dialogue and stronger relationships, or keep China at arms length and stand no chance of influencing policy on censorship.

In the end I think the correct decision was made, just as siting the 2008 Olympics in Beijing was probably the right decision. Let's just hope that the human rights situation improves as much as was promised (and as fast as the public toilet situation seems to have done in Beijing ahead of the Olympics - excellent, in case you were wondering).

If the New Scientist writer is really going to take issue with the WWW2008 slogan, I think an equally valid target should be the "One World" aspect. OK, so geographically it's true, but on all other counts I'm not convinced.

Twine and Linked Data

, , , ...

A little while back I wrote briefly about first impressions of Twine. Now that the recent flurry of Twine-related analysis has died down, and a few more people have had the chance to actually use the system, it's probably a good time to look at what Twine has to offer from a Semantic Web point of view. Given Tim's recent post that emphasises the importance of Linked Data to the Semantic Web concept, and Nova Spivack's follow-up post, the timing is even better.

Speaking briefly as Joe User, my first impression was that Twine doesn't yet offer me any clear benefits over del.icio.us. Yet Another Popularity Arms Race is kind of fun while people build up their number of connections, but this masks a bigger issue that I'll get to in a moment. Despite not planning to ditch del.icio.us any time soon, I'm not going to criticise Twine particularly from a user perspective. Getting these things right is hard, and it is still in private beta. However, the one area where I have to comment (constructively, I hope) is regarding Twine's use (or otherwise) of external data.

For me (and many others) the Semantic Web is all about structured, linked data, and the reuse potential this creates. I don't get the impression that this is at all divergent with the view held at Radar Networks. Unfortunately this principle isn't yet fully embodied in Twine as far as I can tell. That's a real shame, and a missed opportunity to demonstrate the power of non-silos.

This issue struck me from the moment I signed up. There was no option to provide the URI of a FOAF file from which my profile could be populated with people I know, a photo, location data and links to other online accounts I hold. Instead I had to recreate all this information manually, despite much of it being out there on the public Web here, and here, and also here ready for consumption. I even had to upload a photo.

For an application that claims to be Semantic Web enabled this is almost unforgiveable. Sure, not everyone has a FOAF file (but how many more have a photo online?), but for those who do and have wondered what to do with it this would be a great payback, and would in turn encourage more people to create one, or sign up with services like MyOpera (hey, that's why I blog here) and Revyu that create FOAF on their behalf.

For me, probably the low point of this signup process from a Linked Data perspective was having to enter my location as a text string. In a world graced by DBpedia and Geonames this really shouldn't be happening. In fact I've since gone back and replaced the textual location with the URI of Birmingham (UK) from DBpedia (http://dbpedia.org/resource/Birmingham) but of course it's not actually a link in either the HTML or RDF output.

Just in case anyone missed it, yes, there's RDF data describing things in Twine. Hurray! Let's not underestimate the significance of this. But, and I'm afraid there is one, Marshall Kirkpatrick's comment about the lack of RSS output is just the tip of the iceberg. I don't just want RSS, or fragments of RDF, I want Linked Data in RDF.

Sticking with the profile theme, when I signed up I added a number of links to Web pages with which I'm associated, such as this blog, my profile page on Revyu and the Platform site at Talis. To Twine's credit these are all exposed in the RDF document about me that is generated from my profile data. Great. Umm, except that they're referenced using the property http://www.radarnetworks.com/2007/09/12/basic#url rather than something in more widespread use, such as http://xmlns.com/foaf/0.1/page. Likewise my "account" is not a sioc:User, and there's no statement here saying that the URI that identifies me (http://www.twine.com/item/1tjtp3mx-185) identifies a thing of type foaf:Person.

One of the key things about creating network effects on the Web of Data is not just reusing those URIs that identify "things" (like the place "Birmingham"), but reusing widely adopted properties and classes from vocabularies/ontologies such as FOAF, that are widely understood by applications. Of course there may be a mapping defined between http://www.radarnetworks.com/2007/09/12/basic#url and foaf:page, but unfortunately I can't tell, as the ontology URI http://www.radarnetworks.com/2007/09/12/basic# just 404s. Linked Data principle number 3: "When someone looks up a URI, provide useful information."

It is pleasing to see that Twine has minted a URI for me (http://www.twine.com/item/1tjtp3mx-185) that is distinct from the page on the site that describes me (http://www.twine.com/user/tomheath). This is definitely good. To really play nice in the world of Linked Data, however, there are a couple of other tweaks that are needed. If I dereference the URI that identifies me, I currently get a 302 Found response that redirects me to the page about me at (http://www.twine.com/user/tomheath). The important bits of the headers look like this:

GET /item/1tjtp3mx-185 HTTP/1.1
Host: www.twine.com
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.13) Gecko/20080311 Firefox/2.0.0.13
Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

HTTP/1.x 302 Found
Content-Length: 0
Date: Fri, 28 Mar 2008 18:06:21 GMT
Location: http://www.twine.com/user/tomheath
Content-Type: text/plain; charset=UTF-8

This needs to be changed to a "HTTP 303 See Other" redirect in order to be in line with the finding on httpRange-14. There is also some work to be done with the content negotation on the site. At present, if I dereference my URI and ask for application/rdf+xml, I get a 200 OK response and an RDF document returned. It's seems that I am not my homepage, but I am my RDF description.

(The "How to Publish Linked Data..." tutorial has more on these issues.)

Weirdly the RDF I get back from this request is different to that from the RDF version of my profile page. This time I am a basic:Person (but not a foaf:Person), there's no sign of my location or links to my other Web pages, but links to all my connections are given.

I imagine that all these sorts of niggles will be ironed out as the site develops further, but in the meantime Nova might like to slightly tame the claims he makes about support for Linked Data in Twine. Despite saying that "You can learn more about Twine's support for Linked Data and see some examples here", the example given does not show Linked Data, but simply an RDF fragment describing the book Jurassic Park. Perhaps the next iteration will have owl:sameAs links to http://dbpedia.org/resource/Jurassic_Park and http://www4.wiwiss.fu-berlin.de/bookmashup/books/0394588169, and say that the author is http://dbpedia.org/resource/Michael_Crichton. Then there'll really be some claims to make :D

Having picked many holes, and hopefully provided some useful feedback, my final comment is a feature request. I think is on Radar's, err, radar, but deserves to be aired for the sake of completeness. One of the features I'd most like to see in Twine is greater native handling of different types of things. Right now I can only add one of a finite list of things (audio, book, bookmark, event, person, etc). In order to truly scale I think an open world view needs to be taken on this, where even the "Add Item > Other" menu has an "Other" option, and types can be drawn from data on the Semantic Web at large.

For example, right now "Review" is not an explicitly supported type. Nor is "Cheese". I would like to be able to add a URI such as this http://revyu.com/reviews/e707061801ce1f020d8ca1ed75e50d0e4daeb6e3 to Twine, and the system then tell me that it's a review, not the other way around. At that point the claim of being able to tie it all together will really hit home.

Tim Berners-Lee Talks with Talis, and plugs Linked Data

, , ,

The Talking with Talis series reaches new heights today, with the addition of a podcast discussion with Tim Berners-Lee, the inventor of the Web. Yes, the inventor of the Web. OK, so probably everyone reading this blog knows that Tim invented the Web, but sometimes I have to stop and get a reality check. Once upon a time there was no Web. It just didn't exist. Huh? Weird. I can only just make sense of that.

It's much easier to reconnect with the excitement I felt when I first used the Web in 1995. (I know, I know!! Where was I all those years?). Now, more than ten years on I feel the same kind of excitement about Linked Data and the Semantic Web. There are still many doubters out there, but efforts such as the Linking Open Data project give me strength. Tim plugs the project, and Linked Data in general, extensively in the Talis podcast (transcript, analysis).

On the Web, but not *In* the Web

, , , ...

In my recent Talk with Talis podcast, Paul Miller and I got chatting about the conceptual difference between exposing data on the web using Web2.0-style APIs (such as Amazon), and serving up Linked Data (also look here for TimBL's original Design Issues document, which spells out what must rapidly be becoming "the four commandments of Linked Data"). The discussion centers around the "On the Web, but not In the Web" distinction. Kingsley liked the discussion, and suggested it should be blogged for posterity, so here is a transcribed excerpt (starting at 28m41s through the podcast):

Paul Miller: You said that reviews you put into Revyu.com are available on the web as a normal review, and also available on the Semantic Web, to be embedded in other places. Now, how is that different to me doing a review on Amazon, and cutting and pasting it and sticking it into epinions, or my blog, or whatever?

Tom Heath: OK, so, if you do the review in Amazon it will be available on the Web in two ways. It'll be available on the HTML Web for people to browse with their browser, and the review would also be available through the Amazon Web Services API, which means that it is reusable to an extent: I can query the Amazon Web Services API and retrieve that information and do something with it. But this kind of highlights a really key distinction between Web2.0 APIs and the Semantic Web, or the Web of Data, or the Linked Data Web, or however you choose to name it, in that by default if you write a review in Revyu then it's there available, it has a URI, people can make other statements about it, they can reference it in other RDF statements on the Semantic Web, and they can also link to it from the HTML Web.

So, in contrast, if you write a review in Amazon, then the ability to link that review with other bits of information is very limited. You can't necessarily easily say that the review references a certain item or is provided by a certain person, in any way other than embedding this information in XML elements within the results from the Amazon Web Services API. So, this information is available on the Web, but it's not really in the Web, if that distinction makes sense.

It's a distinction that Tim Berners-Lee has, um, well I'm not sure if he's explicitly made the distinction but he always uses the phrase "in the Web" and I never really understood, I never really got why he was using this form of words until recently, when it dawned on me that something being on the Web doesn't really make it in the Web, and I think that's the key distinction between data from Amazon, the Amazon API, or any of the the other Web2.0 kind of APIs, that it's there available on the Web but it's not really in the Web, because it's hard to link it together, which is something that RDF does very well, which XML doesn't really do.