Creating the text ontology

I’ve been working quietly on ideas for an ontology to describe relationships in  a letter from the correspondent to people referred in the text. It is intended to complement and extend the Dublin Core and Foaf (Friend of a Friend) namespaces. Anyhow I’ve decided to publish a first set of thoughts on it having sat on the project for a while.I’ve sort of thought of it as using the text namespace in the text, which I currently doing, but it is not set in stone.

Simple Ontology for Relationships in Texts

Text namespace

Definition: An ontology which allows for the linking text items, such as letters, together. It extends and complements Dublin Core (DC) and Friend of a Friend (FOAF).



The term is used to denote a work in which a character appears. For example:
Dear Alice,

As you may know I am coming to the end of the latest draft of the Ponsonby diaries. Bob Ponsonby is making his way across the marshes…

The character Bob Ponsonby could be referenced as text:Appearsin to denote his appearance in the work. This allows queries to find documents where the characters from a work appear, rather than just individual characters. It would usually be considered as a collection of text:Character references.


A fictional person who is referenced in the text. This element is used to disambiguated between fictional and non-fictional characters. Non-fictional, i.e. real people, are denoted by foaf:Person. Character is a subset of foaf:Person and is intended for fictional people. For example, in a letter from an author to an agent, the author may describing their latest project.

Dear Alice,

As you may know I am coming to the end of the latest draft of the Ponsonby diaries. Bob Ponsonby is making his way across the marshes…

In the example, Alice is a real person and could be denoted as such by using foaf:Person but Bob Ponsonby is equally a name and a person. Since he is fictional in this letter, he could be denoted as  text:Character in any RDF representation to allow users to link documents where the character is mentioned.

<foaf:name>Mr. Pickwick</foaf:name>
rdf:resource=”” />

This field denotes the correspondent of the letter.  It is a subset of foaf:Person as it should denote a real person. (However it is perfectly possible for a fictional letter to be written and in this case it would perhaps be inappropriate to use foaf:Person).

This refers to a text (book, verse or similar) which is referred to in the letter being serialised. It is intended to allow the building of graphs between the letters where a text is being referred to so that a graph can be built of what an author was doing or thinking about a text around the time or after writing the text. It is designed to allow for some contextualisation of the referred work. It could also be used to build a reading list, possible influences or forgotten works that the author was aware of at the time.

The term denotes a type of text, in this case a book. It would be a collection of Dublin Core terms.
<text:work rdf:ID=””>
<dc:title>Pickwick Papers</dc:title>
<dc:publisher>Chapman and Hall</dc:publisher>

I’m still working on applying some of this to my letters project (which sort of came about because and from the curiosity about the idea). Many thanks to Brian Matthews of the e-Science department of the STFC but any mistakes or oversights are entirely mine.


  • Hi Iain. Did you get to the point of publishing a serialisation of the ontology that you describe in this post? I ask because I am currently appraising how best to make the data of the 1916 Letters project ( available as Linked Data and am looking around to see if a robust ontology has already been constructed. Thanks,

  • iain_emsley wrote:

    Hi Frank,

    Thanks for the comment. The project looks great.

    Some work was done on this which I’ll need to dig out and can send to you to see if it is of any use to you, or could be worked on for your project.


  • Thanks Iain. I appreciate the help.

Leave a Reply

Your email is never shared.Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.