Re: Modeling fictional characters in movies and TV

Hi Yves, great to collaborate with you again!

On Jan 9, 2013, at 2:25 AM, Yves Raimond <Yves.Raimond@bbc.co.uk> wrote:

> Hello Gregg!
> 
> On Tue, Jan 08, 2013 at 06:43:25PM -0500, Gregg Kellogg wrote:
>> TL:DR: propose adding schema:Character, schema:Location, and schema:FictionalLocation classes, along with a schema:character property.
>> 
>> In the work I'm doing with Wikia, we're using extensions to schema.org to add structure to Wiki content. Wikia hosts hundreds of thousands of wiki's, mostly related to special-interest subjects. Important classes of these include sites about Movies, TV Shows/Series and Video Games.
>> 
>> The schema.org vocabulary is pretty useful in doing this but lacks some important properties and types:
>> 
>> Character class: a Character is a subclass of Person, which is intended to represent some fictional character. This could include fictional human characters, such as Sam Spade, as well as non-human characters, such as "The Cat in the Hat". As such, it could also be considered to be a union of schema:CreativeWork and schema:Person. Alternatively, it may simply be a sub-class of Creative Work which simply has some properties in common with Person (birthDate, colleague, gender, ...). Note that books can also have characters.
>> 
>> Character property: An important characteristic of things such as movies, and TV shows is the characters that are in them. For instance, TVEpisode has actor, director, producer and so forth, but no way to indicate the characters that are in the show. Here is where having Character class comes in handy, so that you might have the following:
>> 
>> <http://en.memory-alpha.org/wiki/Where_No_Man_Has_Gone_Before_(episode)>
>>  a schema:TVEpisode;
>>  schema:name "Where No Man Has Gone Before"@en;
>>  schema:partOfTVSeries <http://en.memory-alpha.org/wiki/Star_Trek:_The_Original_Series>;
>>  schema:character <http://en.memory-alpha.org/wiki/James_T._Kirk>;
>>  schema:actor <http://en.memory-alpha.org/wiki/William_Shatner> .
>> 
>> <http://en.memory-alpha.org/wiki/James_T._Kirk> a schema:Character
>>  schema:name "James T. Kirk";
>>  schema:birthDate "2233-03-22"^^xsd:date;
>>  schema:deathDate "2371"^^xsd:gYear;
>>  schema:actor <http://en.memory-alpha.org/wiki/William_Shatner> .
>> 
> 
> Perhaps this should go into the next version of the TV&Radio schema extension? Just for information, the way this sort of things is modelled within BBC systems is around 'contributions'. A contribution (to a tv episode, for example) involves a character (which can be fictional, or not) and a contributor (e.g. an actor). It is quite nice imho as it allows to tackle all sorts of use-cases within the same model by subclassing the contribution class, e.g. a presenter, a producer, as well as actors acting as famous people for biopic etc.
> 
> I guess that would translate to the following in schema.org terms:
> 
>  <http://en.memory-alpha.org/wiki/Where_No_Man_Has_Gone_Before_(episode)>
>    a schema:TVEpisode;
>    schema:name "Where No Man Has Gone Before"@en;
>    schema:partOfTVSeries <http://en.memory-alpha.org/wiki/Star_Trek:_The_Original_Series>;
>    schema:contribution :kirk_shatner .
>  :kirk_shatner
>    a schema:Contribution;
>    schema:contributor <http://en.memory-alpha.org/wiki/William_Shatner>;
>    schema:character <http://en.memory-alpha.org/wiki/William_Shatner>.
>  <http://en.memory-alpha.org/wiki/James_T._Kirk> a schema:Character
>    schema:name "James T. Kirk";
>    schema:birthDate "2233-03-22"^^xsd:date;
>    schema:deathDate "2371"^^xsd:gYear;
>    schema:actor <http://en.memory-alpha.org/wiki/William_Shatner> .

Yes, I think something like schema:Contribution as an intermediate node is a good way to handle this. However, it will seem unusual to people coming from a traditional metadata environment, as it's common to get much simpler information with videos which are distributed, such as actors, characters, authors, and so forth. They're all making a contribution, but always needing to go through an intermediate can seem like non-obvious overhead.

A schema:Contribution type would have the added advantage of being able to scope the contribution, say to an individual episode, or even scene, perhaps base on time ranges, or some other containing object. But, in some respect, this is sort of like reification.

In short, I think adding a schema:Contribution (perhaps a sub-type of schema:Event?) would be really useful, but it might also be useful to have properties on the base class (Character, in this case), which allow it to be modeled more directly. I used schema:actor, but this might be too specific, schema:contributor might be better.

On a related note, we're also trying to figure out how to best describe other contributions such as "Game Designer", "Graphic Artist", "Network", "Distributor", etc. Creating a different property for each time doesn't scale too well either. Using something like schema:Contribution could allow this by defining a property on the contribution to indicate the type of contribution, perhaps a schema:role property, which could either take a textual description of the role, or a SKOS-like reference.

Gregg

> Best,
> Yves
> 
>> Another class of properties generally useful for works of media classes is Location. A schema:Location class could be a sub-class of schema:Place, intended to describe locations that might not be real, or not at least not having geographic coordinates you can get to using Goole Maps. A location could also be a Fictional Location, such as Middle Earth.
>> 
>> Lastly, many wiki's concern themselves with Video Games, which have quite deep structure. Logically, a Video Game is probably a sub-class of schema:SoftwareApplication. Of course, there are many other things that could be modeled on video games, such as levels, objectives and weapons, but having a concrete class for describing them would be quite useful.
>> 
>> Gregg Kellogg
>> gregg@greggkellogg.net
>> 
>> 
> 
> 
> -----------------------------
> http://www.bbc.co.uk
> This e-mail (and any attachments) is confidential and 
> may contain personal views which are not the views of the BBC unless specifically stated.
> If you have received it in 
> error, please delete it from your system.
> Do not use, copy or disclose the 
> information in any way nor act in reliance on it and notify the sender 
> immediately.
> Please note that the BBC monitors e-mails 
> sent or received.
> Further communication will signify your consent to 
> this.
> -----------------------------

Received on Wednesday, 9 January 2013 21:39:54 UTC