Category Archives: Storytelling

The Literary Platform

Quick update, I’ve been asked by Leila Johnston, editor of The Literary Platform, to write a few pieces around research & development in storytelling and narrative. I’ll be looking at developments inside and outside of the BBC, hopefully pointing people in the direction of a few projects they may have missed, and trying to bring together some disparate themes for an editorial/publishing audience. The first piece is up now, and looks at developments around the changing interactions between writers and audiences.

Second piece – The Stories in Enchanted Objects

Third piece – Telling stories to our computers

I hope they’re of interest – feel free to get in touch if you’d like to discuss any of the themes I uncover.

How to Build a Time Machine

In Steven Johnson‘s excellent book, Where Good Ideas Come From, he explores the idea of ‘the adjacent possible’ – that at certain moments in history, breakthroughs in culture and technology are made more possible because of work that has gone before. Related to this is the idea that innovation is rarely the result of ‘the lone genius’, but more a result of collaboration. Indeed, it can sometimes seem that several people, disconnected from each other apart from through a network of ideas, can be swimming around the same breakthrough. Hence, why there’s probably no single inventor of television, for instance.

Over the past year or so, I’ve noticed that time, as a concept, is becoming one of these whirlpools that people are being drawn to. And personally, I think there’s something really exciting that hooks them all together – it may not be a fully fleshed out thought, but it feels like the right time to get it out there and provoke further discussion. The thought – perhaps time travel really is possible – but not quite how we’d imagined it.

Firstly, though, a quick review of some of those bits and pieces that keep me coming back to this idea. As others have noted, we’re fast approaching the point where we’re not only concerned about the personal information we’re putting online in terms of privacy, but there’s also enough of it for us to want to understand it better. Call it personal informatics (as in various health tracking systems), or something like Memolane – history is becoming a big deal. I’ve written before about the ‘tyranny of breaking news’, so I’m all for something that gets us out of constantly being bombarded with the ‘new’.

One of the most interesting applications of this, in my opinion, has been the ‘Momento‘ app. Nothing revolutionary, you might think – it’s a system that brings together your activity on various social networks, and allows you to annotate ‘moments’. But the important bit for me is the elegant way in which tweets and so on are organised – by date. There’s very few applications (that I’ve encountered) that do this.

A few other, tangential projects, deal with a similar theme. James Bridle’s ‘A Ship Adrift‘ has a stationary object, the titular ship, drifting through time. And Mark Hurrell’s ‘Places I’ve Been‘ is a tumblr of photos he’s taken, with a great big dirty timestamp slap bang in the middle of the photo.

London, Now‘ is a live feed of Instagram photos as they come in, again, with the time/date to the fore. And finally, Ben Ward wrote a really good piece on using time as a design principle. And this, I think, is the main point – too often, time and date have been an extra piece of metadata, on the side, unloved. If we’re lucky, then it’s been used as a quiet way of navigating through archives.

What’s missing, I feel, is the idea of time as the central organising concept on the Web. Matt Sheret, in his dConstruct presentation from 2011, talked about how pocket watches and railroads conspired (not literally..) to bring about a change in the consciousness of the nation – time was becoming much more synchronised across geographical boundaries. It became a thing that you could reference, point at, and organise everything else around.

Of course, as I’ve said to anyone who’ll listen, the Web is all about pointing-at-things. And those things, I feel, can be conceptual as well as physical – this isn’t just the Internet of Things, it’s the Internet of Conceptual Things. And screens aren’t a given, either. So, why not make time addressable, point-at-able?

A couple of years back, myself, Rob Styles and Jonathan Tweed were sitting in a bar discussing our work – we were talking about the foundations for a storytelling platform at the BBC (one which is, as I speak, hopefully coming to fruition). We wanted to make the building blocks of stories point-at-able. Sure, they wouldn’t be everything that makes up a story, the Web not yet fully able to deliver the same tricks that we’ve grown used to in print, audio, images and film. But it was a start. And one of the things we discussed was – what if we didn’t just treat time as a property of an event – what if it was a first order object?

Why bother? We’ve managed to teach computers how to calculate dates and times with ease (save a mass panic over the millennium) – so why go against the grain?

The grand sage Wikipedia tells us of a philosophy of time, called Eternalism. This is the idea that time isn’t something that we are doomed to speed through, but rather that packets of time will always exist. And if there are discrete packages of time, then they can be referenced, they can be accessed. So again, this isn’t time as a property, a query string – it’s time as the main thing.

Theoretically, of course, there are holes in the idea – just as we’ve always thought of time travel into the past, via conventional means (some would say, in reality..) as pretty much impossible. But perhaps it’s possible in a conceptual, constructed manner, instead.

Make time addressable – give packets (i.e. spans of time) URIs, and then we can link to them, we can build services, applications, imaginative creations on top. Web Standard Time.

Imagine a dome, say, the size of the O2 arena, with the inside covered in flat screens. Now imagine that every Google Street View photo has been linked to a packet of time. Before entering the arena, you input details of a street, and a particular date and time. When you step in, you are completely surrounded, immersed, as if you were stepping on to that street on that day. That, is a time machine. And I think we should build one. Just to try it out.

(Thanks to Ben Bashford, Chris Sizemore, Alyson Fielding and Henry Cooke for the nudges to finally get this blog post written, and many others for the inspiration!)

On Web Design

I’ve been thinking a lot about work, recently. Probably too much. Since January, things have been pretty hectic, and as we approach summer, it’s our yearly review. Time to take stock and think about the year just gone, and, more importantly, where I’m going, and what I want to do.

So I’ve been thinking a lot about what motivates me, what gets me interested – what made me want to get involved in all this in the first place. I can code, and I have some Photoshop skills. Looking back on my childhood, I realise I’ve always been into what we’d now describe as ‘the Media’ – I was always creating newspapers and magazines; my brother and I recorded details of our lives on countless cassettes, I remember vividly compiling fictitious TV listings. I spent probably four years as a Youth Leader, creating activities and often doing, well, ‘Pervasive Gaming’, probably.

But the thing that has caught my imagination since I began full time work was always the innate feeling that there was something new to be discovered. Some new way of making something fun. At the end of the Siemens Graduate Scheme that I was fortunate enough to win a place on, I summed up my career ambition thusly: “to make a significant (positive!) contribution to the Media Industry”. Wishful thinking, I know. But it’s still a mission. And so when I discovered the simple, poetic beauty of the Semantic Web, that’s been it, for me. I know it’s not perfect, there’s a myriad of things we haven’t solved, and may never solve. But not to try them? Not to experiment? Not to create, and have fun? That would be a waste.

And so, it always comes back to job titles. Again, they are, of course, not so relevant as what you actually do. But it’s always struck me that the term ‘web designer’ has pretty much become a synonym for graphic (and possibly interaction) design of, and for screens, accessed by the Internet and the Web. Not that there’s anything wrong with that role. So much of what we call UX is incredibly important and has a rightful place in an organisation. But it’s not really web design.

As I said before, I can code. I can do entity-relationship diagrams, I can do your standard business analysis techniques. But the pleasure I seek isn’t in designing elegant code (though that does, I admit, hold some sway). Nor is it, frankly, in designing visual or interaction masterpieces – important as they are. I don’t want to design database structures, either.

What I want to do is design webs. Web. Design. That’s what I do. And I want to do it in a way that is creative, that brings Web Design in to the realms of drama, entertainment, comedy, sport. Elegant Web Design. That’s what I can do. My material is the Web. It’s URIs, it’s hyperlinks. It’s creating on the Web, just as much as creating a physical thing. So yes, that’s what I want my future to be. Someone who designs Webs – helps others to design them, and creates Webs of literature, of art. That’s me.

 

UPDATE: I know it’s passé, but a trawl for inspiration and direction came up with this (relatively famous) diagram by Jesse James Garrett. And you know what? The definition of Information Architecture doesn’t sound that different from the above, really:

“Information Architecture: structural design of the information space to facilitate intuitive access to content”

A Comics Ontology – Explained

As I explained yesterday, I developed an ontology to describe the content and form of comics at a Comics Hack Day in 2011 – and yet hadn’t blogged about it, until now. This was prompted by Dan Brickley’s call for contributions to this W3C proposal. I’m not massively in to comics, but I’m always willing to play around with developing ontologies and linked data, so thought I’d give it a go. In the course of the Hack Day research, I did come across the Comic Book Markup Language, which seemed pretty comprehensive, and after having posted last night, I was sent a link to ComicsML. Although I was aware of the former, I thought it would be a good challenge to try and create and ontology myself, and it’s also worth noting that both previous models were in the form of pure XML and DTD schemas – close to, but not completely the same as, RDF and the world of Linked Data. I would, however, say that ComicsML in particular, seems to share some of the same ethos behind my effort – if you read this essay, I’d wholeheartedly agree with a lot of the same sentiment.

Anyway, onwards to the ontology itself. It’s fairly simple, once you ignore the markup. We start off by defining a number of classes, or ‘things’, that can be represented by a URI, and themselves represent an element of a comic. They are as follows:

Card – A Card is the equivalent of a Page in a paper-based comic. It can contain one or more Panels. (Note: I’m happy to change the language here, it was just the term that came to mind at the time)

Panel – A Panel is a framing device which captures some form of action or narrative within the ‘story’ of the comic.

Caption – A Caption describes the action or adds extra information to the story.

These are then broken down into sub-types:

Narrative Caption – A Narrative Caption is a Caption that contains narrative information, rather than ‘in story’ information.

Effect Caption – An Effect Caption is a Caption that contains ‘in-story’, atmospheric information, for instance sound or visual effects.

Back we go to the other elements that make up a comic:

Note – A Note is a comment or set of comments which provide extra information about the contents of a panel or balloon. (This was written mainly with the Lovelace & Babbage cartoons in mind, which make extensive use of footnotes. Other comics do likewise, from time to time, so it may well be a useful element to have in the ontology)

Link – A Link is a URL which can be attached to a Note to send the reader to a primary source. (Again, added with the Lovelace & Babbage app in mind – ideally I might not have something as generic as a ‘link’, but it is a simple construct that can easily be used)

Balloon – A Balloon is a container for dialogue within the story, be it spoken, whispered, thought or broadcast.

And now, into sub-types of Balloon:

Thought Balloon – A Thought Balloon is a container for dialogue or thoughts that are not spoken aloud by characters.

Speech Balloon – A Speech Balloon is a container for dialogue which is spoken aloud by characters.

Whisper Balloon – A Whisper Balloon is a container for dialogue which is spoken aloud, but at a reduced volume, by characters.

Exclamation Balloon – A Exclamation Balloon is a container for dialogue which is spoken aloud, but with an emphasis, for instance surprise, by characters.

Broadcast Balloon – A Broadcast Balloon is a container for dialogue which is heard by characters but delivered indirectly, for instance via radio, television etc.

So, those are all of the ‘things’ that an author has at their disposal to play with. Now come the ‘properties’ that can be used to link these things together. (I’ll ignore the domains/ranges for now)

hasPanel – A Card can have one or many Panels inside it.

onPanel – A Caption can be placed upon one more more Panels.

location – This property gives the events portrayed in a Card or Panel a location in the ‘story world’.

caption – This property allows a Card or Panel to have a Caption attached.

panelOrder – This property assigns an order to a Panel on a Card.

character – A panel can feature one or more characters.

balloon – A panel can have one or many balloons inside it.

balloonOrder – This property assigns an order to a Balloon within a Panel.

linkedBalloon – This property links one Balloon to another, e.g. to suggest they are part of the same speech.

narrative-content – This property links a narrative caption to its content.

effect-content – This property links an effect caption to its content.

speech-content – This property links a speech balloon to its content.

whisper-content – This property links a whisper balloon to its content.

thought-content – This property links a thought balloon to its content.

exclamation-content – This property links a exclamation balloon to its content.

broadcast-content – This property links a broadcast balloon to its content.

source – This property links a balloon or a caption to the character or object from which it emerges.

directed-at – This property links a balloon to a character or object being addressed in the content.

in-reply-to – This property links a balloon to another balloon which has content being referred to in the content.

has-note – This property links a balloon or panel to a explanatory or side note.

has-link – This property links a note to a URL of a primary or secondary source which provides background evidence.

note-content – This property links a note container to the contents of the note.

So, you can see, a bit of a mish-mash of classes and properties that describe the form of a comic, and some that describe the narrative within it. The hope is that at first, authors can mark-up existing comics with these elements, so that they become more findable in search engines like Google, more linkable for people blogging and tweeting (generally, more ‘point-at-able‘), and then secondly we are able to develop tools that allow authors to create comics that are truly of the Web – they may retain the same visual appearance, but their insides are made of the life-blood of the Web – URIs and hyperlinks. (Doing some mapping to the existing models I mentioned would also be helpful!)

I hope people find this ontology useful – please get in touch via Twitter if you’re interested in finding out more, want to enhance it etc. You don’t need my express permission to go ahead and use it, but it would be nice if you could a) let me know if you are, and b) give credit where due for its development.

A Comics Ontology

This is proof, if any was ever needed, that I don’t blog regularly enough – something hopefully I’ll change one day.

Well over a year ago, I travelled up to Leamington Spa, to attend a ‘Comics Hack Day‘ – accompanied by Alyson Fielding, Dave Addey, Chris Vallance and Sydney Padua. The main remit was, most probably, to knock around a few ideas prior to the development of the Babbage & Lovelace app. Of course, with my interest in linked data and narrative, I took it upon myself to come up with an ontology to describe the form of comics, and their narrative content, rather than the bibliographical information. It was a very rough and ready attempt, given that it was done in just under 24 hours – but I’m posting it here just in case it’s of interest/use to anyone, particularly Dan Brickley and Matt Patterson, who I know are doing some work in this area.

So, firstly, the ontology, and then a worked example using a sample of Sydney Padua’s ‘Lovelace & Babbage VS The Economy‘ cartoon. Feel free to get in touch via Twitter if you want to know more. If there’s sufficient demand, I’ll write another post explaining the ontology – and might even develop it a little further…

A Comics Ontology

<?xml version=”1.0″?>

<!DOCTYPE owl [
<!ENTITY xsd “http://www.w3.org/2001/XMLSchema#”>
<!ENTITY rdf “http://www.w3.org/1999/02/22-rdf-syntax-ns#”>
<!ENTITY rdfs “http://www.w3.org/2000/01/rdf-schema#”>
<!ENTITY owl “http://www.w3.org/2002/07/owl#”>
<!ENTITY geo “http://www.w3.org/2003/01/geo/wgs84_pos#”>
<!ENTITY base “http://www.r4isstatic.com/linkeddata/ontologies/comics/comics.owl#”>
<!ENTITY omb “http://www.r4isstatic.com/linkeddata/ontologies/ontomedia/ext/common/being.owl#”>
<!ENTITY dc “http://purl.org/dc/elements/1.1/”>
]>

<!– COMICS ONTOLOGY –>

<rdf:RDF xmlns:rdf=”&rdf;”
xmlns:rdfs=”&rdfs;”
xmlns:owl=”&owl;”
xmlns:xsd=”&xsd;”
xml:base=”&base;”
xml:omb=”&omb;”
xml:geo=”&geo;”
xmlns:dc=”&dc;”>

<owl:Ontology rdf:about=”&base;”>
<rdfs:label>Comics Ontology</rdfs:label>
<dc:title xml:lang=”en”>Comics Ontology</dc:title>
<dc:description xml:lang=”en”>An ontology which attempts to describe the structure and content of comics.</dc:description>
<dc:creator>Paul Rissen</dc:creator>
<dct:created>2011-03-19</dct:created>
<owl:versionInfo>1.1</owl:versionInfo>
</owl:Ontology>

<!– CLASSES –>

<owl:Class rdf:ID=”Card”>
<rdfs:label>Card</rdfs:label>
<rdfs:comment>A Card is the equivalent of a Page in a paper-based comic. It can contain one or more Panels. </rdfs:comment>
</owl:Class>

<owl:Class rdf:ID=”Panel”>
<rdfs:label>Panel</rdfs:label>
<rdfs:comment>A Panel is a framing device which captures some form of action or narrative within the ‘story’ of the comic. </rdfs:comment>
</owl:Class>

<owl:Class rdf:ID=”Caption”>
<rdfs:label>Caption</rdfs:label>
<rdfs:comment>A Caption describes the action or adds extra information to the story.</rdfs:comment>
</owl:Class>

<owl:Class rdf:ID=”Narrative-Caption”>
<rdfs:label>Narrative Caption</rdfs:label>
<rdfs:comment>A Narrative Caption is a Caption that contains narrative information, rather than ‘in story’ information. </rdfs:comment>
<rdfs:subClassOf rdf:resource=”#Caption”/>
</owl:Class>

<owl:Class rdf:ID=”Effect-Caption”>
<rdfs:label>Effect Caption</rdfs:label>
<rdfs:comment>An Effect Caption is a Caption that contains ‘in-story’, atmospheric information, for instance sound or visual effects. </rdfs:comment>
<rdfs:subClassOf rdf:resource=”#Caption”/>
</owl:Class>

<owl:Class rdf:ID=”Note”>
<rdfs:label>Note</rdfs:label>
<rdfs:comment>A Note is a comment or set of comments which provide extra information about the contents of a panel or balloon.</rdfs:comment>
</owl:Class>

<owl:Class rdf:ID=”Link”>
<rdfs:label>Link</rdfs:label>
<rdfs:comment>A Link is a URL which can be attached to a Note to send the reader to a primary source.</rdfs:comment>
</owl:Class>

<owl:Class rdf:ID=”Balloon”>
<rdfs:label>Balloon</rdfs:label>
<rdfs:comment>A Balloon is a container for dialogue within the story, be it spoken, whispered, thought or broadcast.</rdfs:comment>
</owl:Class>

<owl:Class rdf:ID=”Thought-Balloon”>
<rdfs:label>Thought Balloon</rdfs:label>
<rdfs:comment>A Thought Balloon is a container for dialogue or thoughts that are not spoken aloud by characters. </rdfs:comment>
<rdfs:subClassOf rdf:resource=”#Balloon”/>
</owl:Class>

<owl:Class rdf:ID=”Speech-Balloon”>
<rdfs:label>Speech Balloon</rdfs:label>
<rdfs:comment>A Speech Balloon is a container for dialogue which is spoken aloud by characters. </rdfs:comment>
<rdfs:subClassOf rdf:resource=”#Balloon”/>
</owl:Class>

<owl:Class rdf:ID=”Whisper-Balloon”>
<rdfs:label>Whisper Balloon</rdfs:label>
<rdfs:comment>A Whisper Balloon is a container for dialogue which is spoken aloud, but at a reduced volume, by characters. </rdfs:comment>
<rdfs:subClassOf rdf:resource=”#Balloon”/>
</owl:Class>

<owl:Class rdf:ID=”Exclamation-Balloon”>
<rdfs:label>Exclamation Balloon</rdfs:label>
<rdfs:comment>A Exclamation Balloon is a container for dialogue which is spoken aloud, but with an emphasis, for instance surprise, by characters. </rdfs:comment>
<rdfs:subClassOf rdf:resource=”#Balloon”/>
</owl:Class>

<owl:Class rdf:ID=”Broadcast-Balloon”>
<rdfs:label>Broadcast Balloon</rdfs:label>
<rdfs:comment>A Broadcast Balloon is a container for dialogue which is heard by characters but delivered indirectly, for instance via radio, television etc. </rdfs:comment>
<rdfs:subClassOf rdf:resource=”#Balloon”/>
</owl:Class>

<!– PROPERTIES –>

<owl:ObjectProperty rdf:ID=”hasPanel”>
<rdfs:label>has Panel</rdfs:label>
<rdfs:comment>A Card can have one or many Panels inside it. </rdfs:comment>
<rdfs:domain rdf:resource=”#Card”/>
<rdfs:range rdf:resource=”#Panel”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”onPanel”>
<rdfs:label>on Panel</rdfs:label>
<rdfs:comment>A Caption can be placed upon one more more Panels. </rdfs:comment>
<rdfs:domain rdf:resource=”#Caption”/>
<rdfs:range rdf:resource=”#Panel”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”location”>
<rdfs:label>location</rdfs:label>
<rdfs:comment>This property gives the events portrayed in a Card or Panel a location in the ‘story world’.</rdfs:comment>
<rdfs:range rdf:resource=”&geo;SpatialThing”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”caption”>
<rdfs:label>caption</rdfs:label>
<rdfs:comment>This property allows a Card or Panel to have a Caption attached.</rdfs:comment>
<rdfs:range rdf:resource=”#Caption”/>
<rdfs:inverseOf rdf:resource=”#onPanel”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”panelOrder”>
<rdfs:label>panel order</rdfs:label>
<rdfs:comment>This property assigns an order to a Panel on a Card.</rdfs:comment>
<rdfs:domain rdf:resource=”#Panel”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”character”>
<rdfs:label>character</rdfs:label>
<rdfs:comment>A panel can feature one or more characters. </rdfs:comment>
<rdfs:domain rdf:resource=”#Panel”/>
<rdfs:range rdf:resource=”&omb;Character”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”balloon”>
<rdfs:label>balloon</rdfs:label>
<rdfs:comment>A panel can have one or many balloons inside it. </rdfs:comment>
<rdfs:domain rdf:resource=”#Panel”/>
<rdfs:range rdf:resource=”#Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”balloonOrder”>
<rdfs:label>balloon order</rdfs:label>
<rdfs:comment>This property assigns an order to a Balloon within a Panel. </rdfs:comment>
<rdfs:domain rdf:resource=”#Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”linkedBalloon”>
<rdfs:label>linked balloon</rdfs:label>
<rdfs:comment>This property links one Balloon to another, e.g. to suggest they are part of the same speech. </rdfs:comment>
<rdfs:domain rdf:resource=”#Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”narrative-content”>
<rdfs:label>narrative content</rdfs:label>
<rdfs:comment>This property links a narrative caption to its content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Narrative-Caption”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”effect-content”>
<rdfs:label>effect content</rdfs:label>
<rdfs:comment>This property links an effect caption to its content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Effect-Caption”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”speech-content”>
<rdfs:label>speech content</rdfs:label>
<rdfs:comment>This property links a speech balloon to its content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Speech-Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”whisper-content”>
<rdfs:label>whisper content</rdfs:label>
<rdfs:comment>This property links a whisper balloon to its content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Whisper-Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”thought-content”>
<rdfs:label>thought content</rdfs:label>
<rdfs:comment>This property links a thought balloon to its content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Thought-Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”exclamation-content”>
<rdfs:label>exclamation content</rdfs:label>
<rdfs:comment>This property links a exclamation balloon to its content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Exclamation-Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”broadcast-content”>
<rdfs:label>broadcast content</rdfs:label>
<rdfs:comment>This property links a broadcast balloon to its content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Broadcast-Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”source”>
<rdfs:label>source</rdfs:label>
<rdfs:comment>This property links a balloon or a caption to the character or object from which it emerges. </rdfs:comment>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”directed-at”>
<rdfs:label>directed at</rdfs:label>
<rdfs:comment>This property links a balloon to a character or object being addressed in the content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”in-reply-to”>
<rdfs:label>in reply to</rdfs:label>
<rdfs:comment>This property links a balloon to another balloon which has content being referred to in the content. </rdfs:comment>
<rdfs:domain rdf:resource=”#Balloon”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”has-note”>
<rdfs:label>has note</rdfs:label>
<rdfs:comment>This property links a balloon or panel to a explanatory or side note.</rdfs:comment>
<rdfs:range rdf:resource=”#Note”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”has-link”>
<rdfs:label>has link</rdfs:label>
<rdfs:comment>This property links a note to a URL of a primary or secondary source which provides background evidence.</rdfs:comment>
<rdfs:domain rdf:resource=”#Note”/>
<rdfs:range rdf:resource=”#Link”/>
</owl:ObjectProperty>

<owl:ObjectProperty rdf:ID=”note-content”>
<rdfs:label>note content</rdfs:label>
<rdfs:comment>This property links a note container to the contents of the note.</rdfs:comment>
<rdfs:domain rdf:resource=”#Note”/>
</owl:ObjectProperty>

Worked Example

@prefix omb: <http://purl.org/ontomedia/ext/common/being#> .
@prefix foaf: <http://xmlns.com/foaf/0.1/#> .
@prefix comic: <http://www.r4isstatic.com/linkeddata/ontologies/comics/comics.owl#> .
@prefix dc: <http://purl.org/dc/elements/1.1/#> .
@prefix gn: <http://www.geonames.org/ontology/ontology_v2.2.1.rdf#> .

<!– CHARACTERS –>

<http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> a omb:Character ;
foaf:name “Ada Lovelace” .

<http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> a omb:Character ;
foaf:name “Charles Babbage” .

<!– LOCATIONS –>

<http://www.r4isstatic.com/comics/babbage/locations/3b3il0lu> a geo:Feature ;
gn:parentFeature <http://sws.geonames.org/2643743> ;
dc:title “Mysterious Laboratory” .

<!– CARDS –>

<http://www.r4isstatic.com/comics/babbage/cards/jimi9io3> a comic:Card ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/a6uv1k6f> ;
comic:location <http://www.r4isstatic.com/comics/babbage/locations/3b3il0lu> .

<http://www.r4isstatic.com/comics/babbage/cards/5gieu844> a comic:Card ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/ffaxtbe5> ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/end52n60> ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/wljma1sc> ;
comic:location <http://www.r4isstatic.com/comics/babbage/locations/3b3il0lu> .

<http://www.r4isstatic.com/comics/babbage/cards/fkwgdo61> a comic:Card ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/saqy4r5r> ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/omoq348j> ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/480coaqh> ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/7n2aq7zs> ;
comic:hasPanel <http://www.r4isstatic.com/comics/babbage/panels/koxnrn43> ;
comic:location <http://www.r4isstatic.com/comics/babbage/locations/3b3il0lu> .

<!– PANELS –>

<http://www.r4isstatic.com/comics/babbage/panels/a6uv1k6f> a comic:Panel ;
comic:caption <http://www.r4isstatic.com/comics/babbage/captions/skkxyuqi> ;
comic:panelOrder “1” .

<http://www.r4isstatic.com/comics/babbage/panels/ffaxtbe5> a comic:Panel ;
comic:caption <http://www.r4isstatic.com/comics/babbage/captions/6t7ma8yd> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:panelOrder “1” .

<http://www.r4isstatic.com/comics/babbage/panels/end52n60> a comic:Panel ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/hrfatr4z> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:panelOrder “2” .

<http://www.r4isstatic.com/comics/babbage/panels/wljma1sc> a comic:Panel ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/n2rri2s3> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:panelOrder “3” .

<http://www.r4isstatic.com/comics/babbage/panels/saqy4r5r> a comic:Panel ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/zwcj7acw> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:panelOrder “1” .

<http://www.r4isstatic.com/comics/babbage/panels/omoq348j> a comic:Panel ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/civzak77> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:panelOrder “2” .

<http://www.r4isstatic.com/comics/babbage/panels/480coaqh> a comic:Panel ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/kguv3cxx> ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/q75oooyn> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:panelOrder “3” .

<http://www.r4isstatic.com/comics/babbage/panels/7n2aq7zs> a comic:Panel ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/ejssu2yu> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:panelOrder “4” .

<http://www.r4isstatic.com/comics/babbage/panels/koxnrn43> a comic:Panel ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/4jumdb9e> ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/n0621dm6> ;
comic:balloon <http://www.r4isstatic.com/comics/babbage/balloons/w76wxfqd> ;
comic:caption <http://www.r4isstatic.com/comics/babbage/captions/xfapo1yk> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:character <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:panelOrder “5” .

<!– CAPTIONS –>

<http://www.r4isstatic.com/comics/babbage/captions/skkxyuqi> a comic:Narrative-Caption ;
comic:narrative-content “London, 1837. The mysterious laboratory of super-geniuses Babbage and Lovelace, and their astounding Difference Engine!” .

<http://www.r4isstatic.com/comics/babbage/captions/6t7ma8yd> a comic:Narrative-Caption ;
comic:narrative-content “What abstruse mathematical conundrum is preoccupying Ada Lovelace’s titanic brain?!” .

<http://www.r4isstatic.com/comics/babbage/captions/tpb844cx> a comic:Effect-Caption ;
comic:effect-content “BANG! BANG! BANG! BANG! BANG! BANG!”;
comic:onPanel <http://www.r4isstatic.com/comics/babbage/panels/ffaxtbe5> ;
comic:onPanel <http://www.r4isstatic.com/comics/babbage/panels/end52n60> ;
comic:onPanel <http://www.r4isstatic.com/comics/babbage/panels/wljma1sc> ;

<http://www.r4isstatic.com/comics/babbage/captions/xfapo1yk> a comic:Effect-Caption ;
comic:effect-content “Knock! Knock!” .
<!– BUBBLES –>

<http://www.r4isstatic.com/comics/babbage/balloons/hrfatr4z> a comic:Exclamation-Balloon ;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:exclamation-content “Babbage!” ;
comic:directed-at <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> .

<http://www.r4isstatic.com/comics/babbage/balloons/zvp5ljo2> a comic:Speech-Balloon ;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:speech-content “Must you make that infernal racket? I am in the midst of a most delicate calculation!”;
comic:directed-at <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> .

<http://www.r4isstatic.com/comics/babbage/balloons/zwcj7acw> a comic:Balloon ;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:speech-content “Apologies, Lovelace — What are these equations for?” ;
comic:directed-at <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:in-reply-to <http://www.r4isstatic.com/comics/babbage/bubbles/zvp5ljo2> .

<http://www.r4isstatic.com/comics/babbage/balloons/civzak77> a comic:Balloon ;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4>
comic:has-note <http://www.r4isstatic.com/comics/babbage/notes/tyaskdox> .

<http://www.r4isstatic.com/comics/babbage/balloons/kguv3cxx> a comic:Balloon ;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:speech-content “Are you using the Difference Engine to handicap horse races?!” ;
comic:directed-at <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> .

<http://www.r4isstatic.com/comics/babbage/balloons/q75oooyn> a comic:Thought-Balloon ;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:thought-content “Ponies + Numbers = :D”
comic:has-note <http://www.r4isstatic.com/comics/babbage/notes/8pr2cg3k> .

<http://www.r4isstatic.com/comics/babbage/balloons/ejssu2yu> a comic:Speech-Balloon ;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:speech-content “Perhaps it is a trifle frivolous…Incidentally, what is that mechanism you are assembling?” ;
comic:directed-at <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> .

<http://www.r4isstatic.com/comics/babbage/balloons/4jumdb9e> a comic:Speech-Balloon;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:speech-content “It’s a Mechanical Woman!” ;
comic:directed-at <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> .

<http://www.r4isstatic.com/comics/babbage/balloons/n0621dm6> a comic:Speech-Balloon;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/zn442bt4> ;
comic:speech-content “.. designed to serve drinks!” ;
comic:directed-at <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3>
comic-has-note <http://www.r4isstatic.com/comics/babbage/notes/h6mgruhj> .

<http://www.r4isstatic.com/comics/babbage/balloons/w76wxfqd> a comic:Speech-Balloon ;
comic:source <http://www.r4isstatic.com/comics/babbage/characters/n2rri2s3> ;
comic:speech-content “I’m beginning to be of the opinion that we require mental stimulation.” .

<!– NOTES –>

<http://www.r4isstatic.com/comics/babbage/notes/tyaskdox> a comic:Notes ;
comic:note-content “True: That is an actual horse race handicapping algorithm (with some modifications).” .

<http://www.r4isstatic.com/comics/babbage/notes/8pr2cg3k> a comic:Notes ;
comic:note-content “Truthy: Lovelace’s gambling addiction gets mentioned occasionally in the slim background I have on her; it’s in dispute but I like it as a trait in a Mathematical Genius.” .

<http://www.r4isstatic.com/comics/babbage/notes/h6mgruhj> a comic:Notes ;
comic:note-content “Babbage may or may not have built a drink-serving Mechanical Woman– vague references but nothing solid.EDITED TO ADD: This was when I was just skimming Babbage’s autobiography, rather than avidly devouring it. She’s in there! Although she doesn’t serve drinks… I intend to Improve that. Also in that section: one of Babbage’s puns, with helpful chart.”
comic:has-link <http://books.google.com/books?id=2T0AAAAAQAAJ&printsec=frontcover#v=onepage&q&f=false> .