- From: Richard Wallis <richard.wallis@oclc.org>
- Date: Fri, 11 Jan 2013 16:44:54 +0000
- To: Gregg Kellogg <gregg@greggkellogg.net>
- CC: Jason Douglas <jasondouglas@google.com>, <public-vocabs@w3.org>
- Message-ID: <CD15F206.4C1D%richard.wallis@oclc.org>
Hi Gregg, Sorry for replying to this one out of sequence, I have been thinking about it and discussing it ;-) You say ³From my understanding of RDFS, if I have a subject with two different types, then I'm really saying that the properties associated with this subject are the intersection of those two types.² My understanding is that the result would be the union of the properties of the two types, thus achieving the result I was suggesting. I am confused by your actor example, as an actor would not normally be a fictional Person, the character they portray would be. To satisfy your example of an actor portraying a fictional character, I believe we may be looking for a type of Person ŒActorı that has a property of Œportrayedı or Œcreatedı that would have an expected type of Person. When encoding your data you could then describe that person (your character) as being of type Person and of type FictionalThing. To be successful we need to find a generic way of enabling any Œthingı to be described as a FictionalThing picking off individual solutions for specific types of things such as a character simply wonıt scale. ~Richard. On 09/01/2013 21:14, "Gregg Kellogg" <gregg@greggkellogg.net> wrote: > Hi Richard, > > On Jan 9, 2013, at 1:38 AM, Richard Wallis <richard.wallis@oclc.org> wrote: > >> Re: Modeling fictional characters in movies and TV >> Starting from the point of view that most of the Œrealı types of things we >> want to describe could have fictional equivalents fictional people >> (characters), fictional organisations, fictional places, fictional products, >> fictional automobiles, fictional planets, fictional fizzy drinks, fictional >> races, fictional religions, fictional songs, ...., .... >> >> I am thinking perhaps a more generic solution might be appropriate. >> >> What about a FictionalThing type. Probably a sub-type of Intangible, having >> createdIn and referencedIn properties both having an expected type of >> CreativeWork. >> >> To describe something as fictional you would only have to add FictionalThing >> as an alternativeType, or add a typeOf attribute in RDFa. >> >> That way we would not have to invent a new type for every new thing that we >> find a fictional instance for. > > I agree that there's a more general need here, and that anything could be > fictional, but I think just adding another type doesn't really solve the > problem. From my understanding of RDFS, if I have a subject with two different > types, then I'm really saying that the properties associated with this subject > are the intersection of those two types. It actually is sort of the reverse of > this based on rdfs:domain and rdfs:range semantics. If I say the following: > > schema:actor a rdf:Property > rdfs:domain schema:Person, schema:FictionalThing . > > What I'm saying is that the property is on _both_ schema:Person and > schema:FictionalThing. In general, I don't want 'actor' to be a property of > either schema:Person or schema:Thing. Dan's introduced the notion of > schema:rangeIncludes to address this problem, but the semantics haven't > entirely been worked out yet. This issue is, is there a similar > schema:typeIncludes that uses something closer to owl:unionOf semantics. But, > using schema:additionalType (or @typeof with RDFa) won't do this, AFAIK. > > The way I had actually modeled Character for Wikia was closer to the > following: > > wikia:Character a owl:Class > rdfs:subClassOf [ a owl:Class; owl:unionOf schema:CreativeWork, > schema:Person ] . > > This basically allows me to define properties on wikia:Character that done > "infect" schema:Person or schema:CreativeWork. > > Gregg > >> ~Richard. >> >> >> On 09/01/2013 02:04, "Jason Douglas" <jasondouglas@google.com >> <x-msg://3694/jasondouglas@google.com> > wrote: >> >>> >>> >>> >>> On Tue, Jan 8, 2013 at 6:01 PM, Gregg Kellogg <gregg@greggkellogg.net >>> <x-msg://3694/gregg@greggkellogg.net> > wrote: >>>> On Jan 8, 2013, at 5:43 PM, Jason Douglas <jasondouglas@google.com >>>> <x-msg://3694/jasondouglas@google.com> > wrote: >>>> >>>>> > On Tue, Jan 8, 2013 at 3:43 PM, Gregg Kellogg <gregg@greggkellogg.net >>>>> <x-msg://3694/gregg@greggkellogg.net> > 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 >>>>> <http://schema.org> <http://schema.org <http://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. >>>>> > >>>>> > Cool!! >>>>> > >>>>> > >>>>> > The schema.org <http://schema.org> <http://schema.org >>>>> <http://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> . >>>>> > >>>>> > One downside of this is that when you have multiple characters you lose >>>>> the ability to correlate the actor to the character. >>>> >>>> In the example below, I set schema:actor on the character >>> >>> ah, missed that. >>> >>>> , but it's obviously loosing some temporal information. More complex >>>> modeling can be more accurate, but within the context of a single graph >>>> (e.g., for a specific episode), we can probably simplify it that there is a >>>> signal actor for each character, or at least a set of actors. >>>> >>>>> > An alternative, that Freebase uses, is to create a class for >>>>> Performance, that has the properties of character (expects Character has >>>>> you defined) and actor (which works the same as actor on today). >>>> >>>> This is sort of like an Event, which acts to join various elements together >>>> (characters and actors in this case), perhaps along with elements such as >>>> scenes and locations. I like the idea of having a Performance class, but >>>> there may be times when simpler modeling works. >>>> >>>>> > Connecting that to TVEpisode could be done with either a new >>>>> "performance" property or by making actor accept Person or Performance. >>>>> > >>>>> > >>>>> > <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> . >>>>> > >>>>> > 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. >>>>> > >>>>> > Since the Wikia communities are the real domain experts here do you >>>>> think there's any chance they could enumerate these in a public schema.org >>>>> <http://schema.org> <http://schema.org <http://schema.org/> > extension >>>>> proposal? >>>> >>>> This post was an attempt to get that started, and the most obvious missing >>>> pieces are for Character and Location, along with the character >>>> relationship. >>> >>> Agreed, those are needed incremental additions. >>> >>>> >>>> Video Games is a deeper subject, and we can share the work we're doing, but >>>> it will be a more substantive proposal. I'd really like to use it to get a >>>> conversation with other people who have worked on modeling games. Our >>>> current focus has been on linear first-person shooter style games, but much >>>> of the work carries over to open-world/parallel mission environments too. >>>> We'll come back with more on this in the future. >>> >>> Yeah, Video Games is where I was hoping for a more "substantive proposal" as >>> you say. Sounds good. >>> >>>> >>>> Gregg >>>> >>>>> > -jason >>>>> > >>>>> > >>>>> > Gregg Kellogg >>>>> > gregg@greggkellogg.net <x-msg://3694/gregg@greggkellogg.net> >>>>> > >>>>> > >>>>> > >>>> >>> >>> > >
Received on Friday, 11 January 2013 16:46:01 UTC