Open NGanin opened 8 years ago
Thanks for the comments, @NGanin.
You are correct in your assessment of the Ontology's Work model. Publication and Comic are increasingly abstract concepts, similar to the idea of abstraction present in FRBR. Using the additional levels of abstraction available in the model, any comic work can be analyzed as a type of comics material, not just traditional publications (i.e. a comic published as a series, in a volume [manga, trade paperbacks], or individual issues). This is particularly useful when describing individual aspects of a comic work, such as the Story itself, or a Sequence, such as a strip or series of panels. The ontological definition of "comic" here being purposefully broad so as to be inclusive of comic strips, web comics, comic books, and other types of sequential art that can be identified as having the properties of a comic, either in whole (e.g. a comic book) or in part (e.g. a panel).
This also allows for individual authors to describe different aspects of the same Comic. One data author may focus on the publication properties of a comic book (i.e. the volume number, publication date), while another may focus on the content (i.e. the story, characters, etc.), or further complete the graph for a specific work by adding documentary aspects like detailing the letters section, or the advertisements found in a specific comic.
If we unpack your example of Amazing Spider-Man #10, you'll see we go from a specific example of a Spider-Man comic book, to a broader conceptualization of Spider-Man as a Work (or more precisely, a schema:CreativeWork) being composed of multiple publications, volumes, series, etc. (e.g. Spectacular Spider-Man, Web of Spider-Man, etc.). Not to mention all the non-comics material that we can relate to Spider-Man using other vocabularies...
Yes, a class inherits the properties of its parent class and super class(es). Take a look at the documentation for cbo:Series, as you scroll down the page the properties for each inherited class (Publication > Comic) will display, and you will find distributedBy under Publication. Note, you are not required to describe each level as a separate entity. If you create a statement like:
<rdf:Description rdf:about="http://www.comics.org/series/2605">
<cbo:writer rdf:resource="http://viaf.org/viaf/85553600"></cbo:writer>
</rdf:Description>
...we can infer from the above RDF that Uncanny X-Men is a Series, a Publication, and a Comic. Using this model we can also bundle entities together into a composite, especially for databases and data providers that do not define these concepts as separate relational entities (i.e. a database might "bundle" the idea of volume and series together, instead of treating individual volumes as part of a series). Individual applications can then pick the composite apart, if necessary.
The Comic Book Ontology is purposefully open with regards to class membership. Application developers can create stricter extensions or a schema on top of the base vocabulary to enforce local validation requirements (e.g. an issue number can only be a number, not a literal, etc.).
As for dcterms:language I see where it appears in the cbo:Series documentation, and should probably be hidden. cbo:language is defined as a subproperty of dcterms:language, for the purpose of mapping data in the Comic Book Schema. I'll open a separate issue to filter that out of the live doc...
I will answer the rest of your follow-up questions in a separate comment...
In the current version of the specification, cbo:imprint links an Imprint to a Publisher, with an Imprint being defined as a subclass of Publisher. So to say that a comic is published by a specific imprint you could use the following pattern:
<rdf:Description rdf:about="#PunisherMAX">
<cbo:publishedBy>
<rdf:Description rdf:about="#MarvelKnights">
<cbo:imprintOf rdf:resource="#MarvelComics"></cbo:imprintOf>
</rdf:Description>
</cbo:publishedBy>
</rdf:Description>
We actually get a lot of data from this bit of RDF: we can infer that #MarvelKnights is an Imprint and #MarvelComics is a Publisher just from the usage of the cbo:ImprintOf property. That being said, I'm definitely open to changing how imprints are defined. There is also an imprintName property that probably needs dropped, or explicitly labeled as used for mapping data and/or made a subproperty of publisherName...
Currently, there is no specific property for describing the type of an appearance, specifically a first appearance. However, there are a couple of different approaches you could implement using the current specification, depending on what you want to accomplish.
The simplest option is to use an element from a general vocabulary (e.g. dc:description from Dublin Core) to add the description of a first appearance to a specific Issue, by stating something like:
<rdf:Description rdf:about="#NewMutants_87" rdf:type="cbo:Issue">
<dc:description>First Appearance of Cable</dc:description>
</rdf:Description>
Alternatively, if you want to link to a resource that represents the character—the preferred method—you could use a combination of dc:description and the cbo:event property as a container for describing the character appearance, which also aligns with the definition of cbo:Event (although this may require some adjustment of cbo:appearance):
<?xml version="1.0"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:cbo="http://comicmeta.org/cbo/"
xmlns:dc="http://purl.org/dc/elements/1.1/">
<rdf:Description rdf:about="http://www.comics.org/issue/47738/">
<cbo:event>
<rdf:Description rdf:about="#NewMutants_87_Cable">
<cbo:character rdf:resource="http://marvel.com/universe/Cable"></cbo:character>
<dc:description>First Appearance (as Cable)</dc:description>
</rdf:Description>
</cbo:event>
</rdf:Description>
</rdf:RDF>
In the above example, we use a combination of cbo:event and the cbo:character property to describe the appearance of a character, which is a subproperty of cbo:appearance. We can then use dc:description to provide further details about this appearance.
My thinking on this is that character appearances can often be complex. For example, the first appearance of Cable as an adult is in New Mutants #87 (1990), but the first appearance of baby Cable (as Nathan Summers) is in Uncanny X-Men #87 (1986). This "technical first appearance" issue is uncommon, but does occur with other characters (see X-23). Also, sometimes characters appear as a ghost, flashback, robot, zombie, etc. You can see more examples of the complexity in describing the nuances of character and object appearances in many issue indexes from the GCD.
However, the description of characters and objects in the Comic Book Ontology can definitely be re-worked. I've opened a separate issue (#14), for discussion. My initial thought is too include an appearanceType enumeration property, but I'd also like to explore the idea of an "Appearance" being a separate class, perhaps a subclass of "Event"...
When working with CBO here's what I came across that struck me as confusing/unclear
I'm not super clear though on how that whole thing shakes out.
Some specific issue of Amazing Spider-Man, say 10.
Issue: Amazing Spider-Man 10 Series: Amazing Spider-Man Volume: 1 Publication: Comic:
Or are the breadth of the terms Publication and Comic intended to convey that *any graphic art can be analyzed as a Comic (like treating a collective resource as a single Work or analyzing it analytically as 4 different Works [in FRBR terms]), and Publication covers anything having been published at any level of description.
The property "imprint" is a property of Publisher, but can it also be a property of Series? That is, I have a comic series published by K.K. Publications, in the Gold Key imprint (example here: http://www.comics.org/issue/20119/) but when describing it, I can't put "imprint" as a property of Series.