Tag Archives: content modelling

Baby Steps

Photo by strollerdos, via Flickr, Creative Commons

This is the second post in a series covering my exploration, experimentation and musings in the area of fictional modelling. In short, can we use the recent developments in semantic web technologies to represent elements of fictional content, and what does this allow us to do. For my introduction to the topic, see my previous post here. In this entry, I’ll talk about my first practical steps, and their implications. Thanks also go to Tom Scott, Dan Brickley and Anthony Green, amongst others, who responded to the first post with helpful comments.

Before I go any further, as pointed out by Chris Sizemore, it’s worth noting that work has been done in a similar area before. Previous IAs at the BBC, including Celia Romaniuk, worked on an ontology to describe the content of soap operas, known as SUDS. From what I have seen, it was an extension to FOAF in order to describe further relationships between people, the nature of people ‘playing’ characters, and various events that could take place between the characters in a show. This was done to tie in with an Eastenders website relaunch. I won’t go into much more detail here, but if you’re interested in seeing the original work, there’s a short article here and a great presentation here. Unfortunately, apart from a few example XML fragments, I have so far been unable to find a document that defines the SUDS ontology. This is a shame, because it would have been an extremely useful starting point for my experiments. One option might be to gather the examples together and try to reverse-engineer a schema, but for the moment, and partly as a way for me to learn as much as possible, I’ve decided to start from scratch. Hopefully at some point we can find the SUDS ontology and see how it compares to what I come up with.

So, where to start? Well, as the title suggests, I’m going to start small. Sort of. Readers of the blog, and others who know me, will probably have guessed that I’m a bit of a, shall we say, ‘fan’ of the BBC’s Doctor Who (currently in the news for apparently appointing a 12-year-old as the Eleventh Doctor). So much so, that in my sad little way, most things that I’m presented with in the course of my BBC IA work make me think “How could/would this apply to Doctor Who?”. As a programme that originally ran for 26 years, and has been enjoying an overdue renaissance, its rich history, and sheer refusal to ever completely conform to most IA domain models, make it both a source of frustration and inspiration. So when I read Tristan Ferne’s blog post over at BBC Radio Labs, shortly before joining the Beeb, I began to wonder. Have a read, it’s a good example of a similar idea.

Tristan’s article concerns fictional modelling for another hugely successful BBC show, The Archers. He talks about being able to break an episode down into scenes, characters, plots etc. and, for instance, potentially being able to build pages that allow the user to follow a story through multiple episodes, rather than being tied to the traditional episode format. Of course, to paraphrase Jack Bauer, events within The Archers occur in linear time. If we were able to build dynamic and interesting websites from a show like that, centred around a small English village, how about a show that goes forward, back and sideways in time and space? Harking back to my ‘toy box’ analogy from last time, with the imagination of the writers of a show like Doctor Who, and the imagination of our audiences, the potential to create some fantastic websites would be huge.

Sorry, where was I? Oh yes, starting small. So, yes, obviously I couldn’t hope to cover the whole scope of the show in one go. However, to show the potential of the semantic web and linked data approach, I’d want to start off by experimenting not only with characters who are linked together, but with a plot that is threaded through several episodes. I still haven’t quite decided what I’m going to choose for this, but I’m thinking that the story arc from either the first or fourth series of the current show would be good to try. But before all that, I had to learn how to create some linked data.

So I went even smaller, even simpler. I chose the first ever episode of the show, from 1963. This featured four main characters, and thanks to the workshop from Yves and the others, I had an inkling of an understanding of how to create FOAF profiles. The results can be seen here (best viewed if you use a Firefox plugin like Tabulator). So far so good. I then linked each character to the other, using the simple ‘knows’ relationship. Finally, to get my linked open data brownie points, I linked each character to its DBpedia equivalent, using the OWL ‘same as’ relationship. And that’s basically it. Except…

Except even this small experiment (which I eventually got working after help from Yves!) raises some interesting points. Firstly, the pernickety part of my brain is saying that we’re mixing two distinct things here. We’re using FOAF, which, I guess, and am happy to be corrected, is primarily intended to represent real people, to model fictional things. Crucially, nowhere, at the moment, are we explicitly stating that these resources are fictional characters.  So I’m wondering whether FOAF is the correct ontology to use. Of course, like SUDS, the ontology that results from these experiments will probably be an extension of FOAF, as it is true to say that we’re still modelling the same sort of ‘thing’, the relationship between ‘people’. But the point still stands – that somehow we need some way of indicating the ‘fictional’ nature of the FOAF person, if applicable.

Secondly, and perhaps more importantly, as Anthony Green pointed out, and as I discovered when I linked the characters to their DBpedia equivalents, there’s a lot of detailed information out there already. When I linked each character to DBPedia, I got back information which was extremely detailed and fairly well structured. Which, to be honest, depressed me a little bit. Was it worth me continuing? It’s clear that others had done a lot of similar work already, and I knew that ultimately it would be silly to reinvent the wheel.

However, then I remembered what data I was trying to link. Of course I should still link to the DBpedia equivalents, but the linked data I am thinking of is more to do with linking between characters, plots etc within my own domain. I’m still slightly uneasy with this, because I know that obviously the main thrust of the whole linked data movement is to link external sources together, and that creating silos of data is not good. However, I’m still definitely in favour of linking to DBpedia – if we were to make our ‘internal’ linked data semantically rich, and then link to external sources, then everyone would benefit, and in a way, we would be regarded as the ‘master’ source in the same way that, in my small experiment, I used DBpedia as my ‘master’ source.

So that’s it. A long, rambling blog post, and small, simple experiment. Baby steps. Apologies for the rambling, and I’m not sure that I *quite* explained myself properly in that last part – but there’s definitely some interesting issues coming up already, and I’m hoping that the advantages of my position will be borne out in future experiments. Finally, I’ve adapted the RDF file that I used to create the FOAF profiles to temporarily remove the OWL ‘same as’ relationship – just to ease the page loading time, and to, for the moment, give me a more clean space to work in. The adapted version is here, the original version here. Linking back *in* to DBpedia will be a task for later…

Again, comments, queries, advice is more than welcome – comment, twitter or email me.

Content Modelling and Storytelling

BBC Television Centre in panoramic view – by strollerdos, from Flickr (Creative Commons license)

During the past year or so, the team at bbc.co.uk/programmes have been putting together a resource which allows people to access information about the BBC’s output in a structured way. This has been done using the principles of the semantic web, and of Linking Open Data. I’ll not go into great detail here, other than to explain the basics. When people think of the content of the web today, they think of ‘websites’ and ‘webpages’. These sites and pages have addresses which are unique, so that when you type the address into your browser, you’ll know where to expect to be directed to. On these websites and webpages, people can write about all sorts of things, any number of topics. And these topics can be repeatedly discussed on various different websites and pages.

What’s missing is the links between these sites and pages. Usually, it takes a search via Google (other search engines are available, folks) to get a good example of this. You type in the topic that you’re looking for, and the search engine will return all the pages it can find where the words that form that topic are mentioned. But there’s no single webpage which represents the topic itself. If there was, and if it had its own, unique address, then everyone could, on their own websites, link to that ‘topic’ as a way of saying “This is exactly the thing I’m talking about.”. If several people did this, their websites would be automatically linked together by the fact they share the same topic – rather than by the fact that someone has created a physical link between one page and another. The former makes more sense, and is much more useful in the long run. Indeed, if these ‘topics’ or ‘concepts’ had their own, unique, permanent addresses on the Internet, then the web would become not only a store of ‘pages’, but of ‘concepts’ which happen to have ‘pages’ related to them – not everything on the web would have to be a ‘page’. Only things that were ‘pages’ (say, of a book…) would then be referred to as a page. We could reclaim the word page, people!

Ahem, I think I’m getting slightly off topic. Anyway, the point is, that the good folks at /programmes are taking these ideas on board, and are creating addresses (i.e. URLs) for each programme that the BBC produces. For instance, an address like this: http://www.bbc.co.uk/programmes/b00gfzhq is an address that uniquely identifies that programme. People all over the web can use that address when discussing that particular programme, so everyone will know exactly what they are referring to. In effect, therefore, although if you type in that address into your browser, you are presented with a ‘page’ about that programme, the address itself represents the programme, rather than the page about the programme. (Because I could post one blog entry saying ‘I loved watching this particular programme’, and another saying ‘I hate this particular page about the programme’).
All this is well and good, but it relies on a solid foundation. These foundations have been constructed over a number of years by people who have been thinking about the structure of what the BBC produces, and the way in which it produces and distributes its content. These structures, or models, include thinking about how a programme is organised into brands (e.g. Blackadder), series (e.g. Series 2), episodes (e.g. ‘Bells’), even versions of the episode (e.g. pre- and post-watershed versions), and then broadcasts of a particular version on a particular channel at a particular time.

The modelling around this is by no means complete, and is being refined and improved all the time. However, I would suggest that, for the most part, the modelling around these sorts of things is approaching maturity, in that those structures are fairly well accepted (that’s not to say they won’t change, but I think most people working on these things now agree that there’s areas of the model which are pretty stable). As I have mentioned, I think these structures represent the production and distribution of the BBC’s content. But what about the content itself?

I think what we haven’t yet looked at modelling is the structure of the content – this applies particularly to fiction content, but also, perhaps, to sport. Taking the semantic web ideas into account, if we have unique URLs for each episode, each series, each brand, why not have a URL for each character within a programme, for each event that connects characters, for each place within the programme? Just as if we make brands, series and episodes in effect the building blocks for ourselves and others to create all sorts of semantically interlinked websites on top of (using SPARQL, the semantic web equivalent of SQL queries – querying concepts and the links between them, using the web as a huge datastore), if we were to give characters, events, places their own unique addresses, we could mash them up to create sites (and new content) such as timelines from a particular character’s point of view, follow story arcs etc.

I like to imagine that the ultimate would be something where every character, event and place in the fictional universe of a programme has an address – and then just like taking toy models of those things, we and the audience could make our own stories from them. You want to add your own characters to the mix? Sure, give them an unique address (for instance, in your own webspace), and start linking them to other characters, events etc. One final point to bear in mind as a caution, however. Although essentially all this structure is a good thing, one thing we should be wary of is creating too much structure, and limiting what we can do with it. If we fix things down too much, saying that this is the ‘official’ version of a particular event, or background or character, in too rigid a way, this will limit creativity and stimulate only arguments about who’s right or wrong. We want to give people the building blocks and toys to create new stories, but we don’t want to restrict the stories they tell.

So, that’s the theory. Now for the practice. I’ve made it my mission to explore these ideas, and experiment with making them a reality. Thanks to a great presentation the other day by Yves Raimond, Nicholas Humphrey and Patrick Sinclair, I’m getting to grips with ontologies such as FOAF. I’m going to be using FOAF and the Events Ontology in particular to try and express stories in a semantic way, and see whether we need a new ontology for storytelling, and what we need from it. As I say, it’s going to be very much trial and error. I could sit here with an extremely detailed plan, working out all my structures and linking everything up straight away, or even not getting started until I’ve got a new ontology in place and working just right. But I think it would be more useful to get in there, try things, discuss them and come back with new ideas. In short, I may not do things correctly the first, second or even third time, but it’s a case of experimenting, and seeing what works, how else it could work, and what’s the best way of doing things.

With that out the way, I invite you to join me. Please give me feedback on what I discuss here, and what I construct. It’ll be extremely welcome and will hopefully help us build a greater way of doing things even faster. And it’s already begun – I’ll write a seperate blog post soon on my first forays into the world of Fictional FOAF modelling….