Tuning Fork

Tuning Fork, by Toby Esterhase, via Flickr – Creative Commons

Part three of my investigation into fictional content modelling. See the previous two posts for the background to the project. Thanks to those who’ve been discussing the ideas – I think it’s coming along nicely. I’ve been playing around with writing some RDF, trying to link up various ontologies, and explaining what I’m trying to do as I go along. Here’s a plain text file of quasi-RDF within comments – see what you think…(UPDATE: Now here in beautiful RDF format 🙂 )

One thing that has come up in the discussions, though, is that there’s perhaps two elements to what I’m trying to achieve. The first is to link existing ontologies and, if needed, build a new one, to help describe the narrative content of ‘stories’ within the context of television and radio programmes. The second is to experiment (and for me to learn) with existing ontologies, again, linking them up, to build dynamic and interesting webpages that work on linked data principles.

So I’m interested in the ontology *and* what kind of cool stuff we could build on top of it (which includes ideas around remixing narrative, and audience story-telling). I haven’t got any definite plans on top of that at the moment, but I think the key is to see where it takes us. Well, I have an image in my mind of the types of things we could do, but again, it will be easier to describe them by prototypes. Something that might help is if I was to link to this diagram, from the aforementioned Tristan Ferne’s Radio Labs blog, describing similar things to do with the Archers – except linking that up with linked data/ontology work…

Which would lead to something like the diagram below. Again, it isn’t a complete set of what I want to do, but it shows the types of objects we’re talking about, the relationships between them, and where they link to ontologies:

Contextual Data Model
Contextual Data Model

Actors – Using FOAF, with possible extensions, this would be a URL for each actor who appears in a BBC show. This page could pull in a biography from WIkipedia, for instance, but mainly it will show the audience all the programmes that the actor has appeared in. Linking Actors to Characters, all the way through to Episodes, would allow us to auto-generate the cast lists for the /programmes episode pages. However, one problem in an early implementation might be that if we only record ‘significant’ events within an episode, the cast lists won’t represent everyone – but over time, this could be improved (the rest of the cast could possibly be listed manually against the episode, greyed-out, until they have their own URL).

Portrayal – This would allow an Actor to play many Characters, and a Character to be played by many Actors. Here I’m thinking more of ‘flashback’ scenes where you see a character as a child, but as Tom pointed out in the comments, this could be used to handle the different actors playing the Doctor. BUt how then would you deal with the different ‘characterisations’ of the same character?

This is where the recursive relationship around ‘Character’ comes in – I haven’t worked out exactly what to call this yet, but it would allow both the foaf:knows relationship, and potentially use the owl:sameAs to link different Doctors? (Perhaps not – but something along those lines).

Again, a many-to-many resolver is needed between Characters and Events, which I’ve called ‘Action’ – I’m not sure whether these many-to-many objects would need to be made explicit and have their own URLs, but the main objects certainly would, as they could have useful pages for the audience to explore.

Events would be pages that would describe a significant event in the episode, something that would be worth describing, for instance an event which is part of a wider story arc – we would then need a URL to link these together, so you could say that ‘Someone points out that Donna has something on her back’ is part of the ‘Donna/Time-Beetle’ story arc (apologies for the random example!). This is, though, where the main value of the project would be for the audience. BY giving an event a URL, the user could trace storylines throughout the episodes, outside of the confines of the episode structure – making the fictional universe more cohesive, rather than restricting our view to the episodes, which are like ‘windows’ onto the fictional universe.

Similarly, if a user then wanted to write a story featuring some of the characters, they could refer to the character’s URL (which would then allow us to have something on the character’s page to say ‘others have written stories using this character’ – linking out  onto the web, and promoting new writers and stories. The users could equally refer to events, perhaps building events into their owns stories, taking them as cues for new stories etc. Again, it all fits in with the idea of giving our audience the tools to be creative, whilst using the advantages of the BBC website’s exposure to promote audience creativity.

There’s one many-to-many resolver which I’m not sure about at the moment – between Events and Episodes – what if the same event was  shown, or even just referred to, in more than one episode? We would need some way of defining this – but I’m not sure of the correct term for it yet, hence the ‘???’ object.

So – events could be described using the Event Ontology. Actors and Characters would use the FOAF ontology. Episodes would use the Programmes Ontology. We therefore just need a way of tying them together, and then once we have some examples, it would be good to start thinking about what new things we might need from a new ontology.

On the subject raised in the comments about expressing a person in FOAF as  fictional or real – I’d side withi Tom in saying that it would be  better to label the individual people as fictional, so that it was explicit which FOAF people were characters or not – and then you’d also have the issue of characters being used to represent, for instance, historical figures such as Charles DIckens…

Anyway, that’s enough for this entry. I hope I’ve got a little further in both clarifying the two strands of the idea, and exploring the breadth and potential of it. Comments, discussion, etc. encouraged! I’m hoping to present the idea in a meeting this coming Tuesday as a possible 10% time project, so I will keep you posted…


  1. Good point re Dickens. I think the issue w/ fiction is that sometimes content portrays people who didn’t exist, doing things that didn’t happen. Sometimes portraying people who did exist, portraying things that did happen. And sometimes those who did exist, portraying things that didn’t happen. In general if we know we’re getting our RDF statements from a description of a work of fiction, we ought to be a bit skeptical. So this is why I’m wary of only flagging the people as fictitious, I want some indicator that the data is describing “the world according to x”. But anyway, I’ve no particular favourite model here, just wondering what the simplest design is.

    I took a look at the sample RDF, and tried to find URIs for the people / characters in wikipedia. I’ll post my notes here, though I fear things will get trashed by the blog comment system. Here goes!

    Looking at http://www.r4isstatic.com/linkeddata/dw/resource/experiment_threepointtwo.rdf and related, wondering
    what there is in Wikipedia / DBpedia to build on.

    First, we can see a page about the actress Catherine Tate. http://dbpedia.org/page/Catherine_Tate http://dbpedia.org/resource/Catherine_Tate
    …and a link to the character:

    is p:portrayed  of  dbpedia:Donna_Noble

    Also some information linking the actress to specific episodes in which she was the Dr’s companion:

    is p:companion of

    * dbpedia:Planet_of_the_Ood
    * dbpedia:The_Runaway_Bride_%28Doctor_Who%29
    * dbpedia:The_Stolen_Earth
    * dbpedia:Journey%27s_End_%28Doctor_Who%29
    * dbpedia:Midnight_%28Doctor_Who%29
    * dbpedia:Forest_of_the_Dead
    * dbpedia:Silence_in_the_Library
    * dbpedia:The_Doctor%27s_Daughter
    * dbpedia:The_Fires_of_Pompeii
    * dbpedia:Turn_Left_%28Doctor_Who%29
    * dbpedia:The_Unicorn_and_the_Wasp
    * dbpedia:Partners_in_Crime_%28Doctor_Who%29
    * dbpedia:The_Sontaran_Stratagem
    * dbpedia:The_Poison_Sky

    Back to the character:


    Looking for her grandad, …

    Your search – “Wilfred Noble” dbpedia – did not match any documents.

    Despite …

    Wilfred Noble

    … I think the name is wrong here.

    Trying instead http://en.wikipedia.org/wiki/Wilfred_Mott ‘He is the maternal grandfather of the Tenth Doctor’s companion Donna Noble’

    We get


    This is also linked (somewhat weakly) from the character entries:

    is p:affiliation of

    * dbpedia:Sylvia_Noble
    * dbpedia:Wilfred_Mott

    Where we also get a few more episodes. eg. Donna …:

    is p:featuring of

    * dbpedia:Shining_Darkness_%28Doctor_Who%29
    * dbpedia:Beautiful_Chaos
    * dbpedia:The_Doctor_Trap
    * dbpedia:Ghosts_of_India
    * dbpedia:Pest_Control_%28Doctor_Who_audio%29
    * dbpedia:The_Forever_Trap


  2. Ooops! My bad, and not a good indication of my fanboy levels – of course, Wilfred’s surname is Mott. Interesting that in the last part of your investigation, the episodes featuring Donna are all books, rather than TV episodes (official books, though) – and that raises yet another interesting issue. I suppose overall we shouldn’t distinguish between the formats that the stories are told in (TV, web, radio, book), as they are all part of the fictional universe.

    Will be doing some more experimentation on the weekend with this. Thanks for the help on this though!


  3. Re the fanboy thing, this is what I think is really interesting since the SUDS work a few years ago: we have wikis and wikipedia. Fans haunt those sites obsessively. Unfortunately the data isn’t fantastically structured, but it does provide a certain baseline. And DBpedia have nice links to other data sets, identifiers etc., eg. http://dbpedia.org/page/Catherine_Tate links the actress to http://www.freebase.com/view/en/catherine_tate and hence http://rdf.freebase.com/rdf/en.catherine_tate

    So I tend to see this in large part as an exercise in providing a data model / scaffolding within which obsessive fans can keep things documented. It would be great if content owners had perfect metadata, but I’ve never seen this in practice. Have you thought about trying Semantic Media Wiki as a system to allow fans to edit/update this kind of data?

    With sincere apologies to Catherine Tate, here’s an example page from a SMW installation – chickipedia.com – that shows the kind of additional structure the system can impose on top of raw mediawiki:


    …which gets us to slightly broken RDF,

    …which (tastelessy you might argue) covers her date of birth and physical measurements. My point is not that Dr Who fans need to know her bust, height, hip or waist measurements. Just that Semantic Media Wiki allows structured data of interest to the fans to be decentralised somewhat. I guess a different example actor/actress might also have matched records in MusicBrainz too.

    If BBC users had OpenIDs, you could imagine some karma system whereby edits from folk with good karma showed up automatically, and others got community-filtered somehow. (handwave handwave). More such handwaving here, http://www.slideshare.net/danbri/bbc-semweb-panel-where-does-openid-fit-in

    ps. … a quick web-of-trust scenario. How could a machine be sure-ish that http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendid=233896580 is a fan site, and not ‘really her’ (or her PR/manager/etc at least). With music artists, MusicBrainz offers some checks, although I’m not quite sure how careful they are re verifying… (relevant since MySpace are now embedding little bits of RDFa notation, … skim for the property= attribute).


  4. Re the issue of whether something is fiction or fact… this could be really very tricky around the edges, indeed as @Dan highlights.

    But it gets worse when you think about religious figures (some might say they are real others works of fiction…) I’m wondering if, at the edges, whether you judge someone to be a fictional character or a real (or a real one in a fictional programme) is subjective. If that’s the case is it better not to assert whether it’s fictional or factual but only assert your source?


  5. Not just the religious figures either, but many examples of quasi-historical characters e.g. King Arthur, Merlin, Sinbad, Achilles, etc.

    Perhaps this then becomes a matter for extending your info on “charactors” to include categories for types of character like historical, mythical, religious, Sci-Fi? Rather than simply Fact or Fiction? Is there a thesaurus of Character types?

    I’d say that source info would be important too (e.g. the presence of Date(s) of birth/death or date of existance data, and possibly details of authorship comes in here.


Comments are closed.