This work is licensed under a Creative Commons Attribution
2.5 License. This copyright and license applies to this document and does not apply to
IF data formats, media types, or technology.
Abstract
This document defines a class ontology that may be used for
Interactive Fiction and related resources. This ontology is also the
definition of the IFType encoding scheme. IFType
is a controlled vocabulary, but not a fixed one; additional terms
may be added as needed.
Status of this Document
This section describes the status of this document at the time of
publication. Other documents may supercede this document.
This document is currently in the Working Draft stage of development. As
such, it should not be considered a definitive reference, nor an official
standard. Early adopters may begin implementing the described technology, but
should be prepared for incompatible changes as the specification develops. In
software development terms, this is an “alpha” quality release.
It is important to note that this is not a standard in the same way as a
W3C Recommendation,
ISO Standard, or
IETF
Standards Track RFC. The
IFMI does
not have the authority of those bodies to set standards.
IFMI standards are
offered as a service to those communities that appreciate the need for
interoperable standards in Interactive Fiction metadata and choose to
recognize IFMI
as a supplier of such standards.
This section is Informative except where otherwise noted.
1.1 Document Organization
This document is split into two major sections. 2 The IFType Vocabulary
defines the IFType encoding scheme and ontology, and describes
the requirements for new classes. 3 Class Listing is an informative
snapshot of the ontology at the time of publication, with links to other
documents containing more information about each class.
1.2 Definitions
This section is Normative.
The key words “MUST”, “MUST NOT”, “REQUIRED”,
“SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”,
“RECOMMENDED”, “MAY”, and “OPTIONAL” in this document
are to be interpreted as described in RFC 2119. When those
words are not emphasized as shown here they MUST NOT be interpreted
as described in RFC 2119 [RFC2119].
This document uses the following terms and definitions.
Application
Application of IFType: An application is a particular usage or
implementation of IFType metadata.
Class
A category into which resources may be placed to indicate the general
type of data represented.
Element
A single property identifier.
Game
A single work of Interactive Fiction, be it a text adventure, graphical
adventure, or hypertext novel. Not necessarily a game in the conventional
sense—some IF has little
actual gameplay—but for purposes of this document all Interactive Fiction
works are considered to be games.
Implementation
Implementation of IFType: An implementation is a
method of representing metadata, such as a serialization format. Examples
of implementations are the RDF
Schema and XML Schemas
in Appendix A.
Imported Class
A class that originates in another ontology, but has been adopted by
the IFType ontology as well.
Interactive Fiction (IF)
The genre of literary and cinematic art that allow the audience to
participate in and even influence the progression of the story, especially
when presented in the form of a computer program. As with most artistic
genres, there is no rigorous definition of what is and is not
IF, only a vague set of
qualities with subjective interpretations.
Metadata
Data that describes other data, usually a resource. Care should be
taken that some resources might have multiple representations. In such
cases the metadata describing the resource must be a valid description of
each representation.
Metadata Catalog
A large collection of metadata describing several games, usually
intended for browsing and searching by users and user agents.
Metadata Consumer
A user or user agent.
Metadata Producer
An entity that creates and/or makes available metadata.
Metadata Provider
A metadata provider is an entity, typically a website, where metadata
can be found.
Resource
In general, a resource is anything that has a unique identity. More
specifically, it is an entity that can be referred to and/or located with a
uniform string identifier. Examples of uniform string identifers include
URIs [RFC3986] and
IRIs [RFC3987].
Type
A class to which a resource belongs.
User
A human consumer of metadata.
User Agent
Any entity that collects, consumes, and/or interprets metadata on
behalf of one or more Users or other User Agents. A “smart” user
agent is capable of analyzing, interpreting, and distilling metadata to
some degree without human interaction; for example, tracing relationship
links to determine the most relevant resource from a set of related
resources, or checking dependency information to locate all components of a
game.
1.3 Document Conventions
Most of this document is a list of features that comprise the
Interactive Fiction Resource Types ontology. The reference information for
each feature begins with a header giving the feature's human-readable
label. This is followed by a table with data about the
feature. Below the table is a short comment describing of what the
feature represents and how to use it. The table contains the relevant subset
of the following information:
URI
The full cannonical URI identifying the feature.
Refines
Another class that the class is derived from.
Same As
Indicates that the class is identical in meaning to another class.
Equivalent To
Indicates that all resources of this class are also of another class,
but the two classes to not have same semantic meaning.
Qualifies
Used with encoding schemes, this is the element which the encoding scheme
can be validly used to qualify.
The following additional data is given at the end of each class description:
Approved
The date the class was approved and added to the vocabulary. “Provisional”
means there is not yet a normative document to approve for the class.
(This will be listed as “N/A” until this specification is approved as an
IFMI Recommendation.)
Normative Document
The normative document where the class is defined. Refer to this document
for information on how to use the class.
Properties Document
The metadata vocabulary used to describe resources of that type.
Imported classes are distinguished by having the name (or an abbreviation
therof) of their originating vocabulary placed in parentheses at the end of
their label. Imported classes also have qualifed fragment IDs.
References are enclosed in square brackets ([]) and colored red; these are
linked to the references section at the end of the document. Hyperlinks
to external resources are enclosed in angle brackets (<>), except in
the metadata header at the top and the references section at the bottom,
which are all external links. External links will use your default link
colors. All other hyperlinks are internal links to other sections of this
document. Internal links to terms defined in this document are colored green,
internal links to sections are blue and italicized. (This paragraph applies
to standards-compliant web browsers. Browsers that do not comply with
standards may not render hyperlink styles correctly.)
This document uses the keywords “Normative” and “Informative” to classify
information; readers familiar with technical specifications will already
know what these terms mean, other readers may need the following definitions:
Normative
Describes how features and requirements of the specification should
work in compliant implementations.
Informative
Provides additional information that may be helpful to understanding of
the specification, but is not a requirement of the specification.
2 The IFType Vocabulary
This section is Normative.
This section supercedes parts of the
IFMES 1.1 Specification [IFMES].
The IFType encoding scheme is a controlled class
vocabulary used to express the type or class of a resource. It is similar
to the DCMI Type Vocabulary [DC],
but is specialized for the needs of IF metadata.
It includes types for both IF games and other resources
related to IF.
The IFType ontology is the definition of the
IFType encoding scheme. Classes can be used with the
RDF
rdf:type predicate and the Dublin Core dc:type
element. Classes can also be used as XML element names.
All new classes MUST meet the requirements set forth in this
section to be eligible for inclusion in the IFType Vocabulary.
Classes MUST fill an existing need.
New classes MUST NOT be redundant duplicates of an existing
class from Dublin Core, W3C, FOAF,
or another well-known vocabulary provider.
New classes MUST have a class extension consisting of a
well-defined set of resources. That is, they MUST have a
specific semantic meaning that fits a clearly delimited set of
existing or proposed resources.
Classes MUST conform to the IFType coding style.
The class URI MUST begin with the prefix
'http://purl.org/int-fiction/metadata/iftype/'.
The local class name MUST begin with a capital letter.
The first letter of each sub-word SHOULD be capitalized.
The class MUST NOT have the same name as another
IFType class in a case-insensitive comparison.
Classes SHOULD have at least one superclass from a well-known
vocabulary.
Widely known vocabularies include Dublin Core, various W3C
vocabularies, FOAF, and WordNet. Others may also
be acceptable if they are as well-known as those listed.
Classes from other vocabularies MAY be imported if there is a
need to provide IF-specific usage advice.
The requirements in this section do not apply to imported classes.
3 Class Listing
This section is Informative.
This section is a snapshot of the classes currently approved for the
IFType Ontology. Each class description is followed by an
annotation table giving the date of approval, the normative document
defining the class, and the vocabulary document(s) used to describe
resources of that type. This section will be updated whenever a new
class is approved or an existing class changes status.
3.1 Interactive Fiction Games
These classes represent various types of game resources.
These classes form the largest tree in the vocabulary.
This chart shows the inheritance hierarchy.
Figure 3.1.1: Interactive Fiction class inheritance chart
iftype:Game is probably the most commonly-used
class in the tree, it represents any kind of IF
computer game that you download and install on your computer
(Z-Machine games, Glulx games, TADS games, etc).
IF
URI:
http://purl.org/int-fiction/metadata/iftype/IF
Refines:
http://xmlns.com/wordnet/1.6/Fiction
Refines:
http://www.w3.org/2002/07/owl#Thing
Any work of Interactive Fiction is by definition of this type.
More specific resource types for IF works MUST
inherit from this type. IFMES places no restrictions on
the format or media of IF resources; they can be computer software,
websites using interactive technology like Flash or AXAJ,
tabletop board games, live theatre, CYOA novels,
or anything else that fits the general definition of Interactive Fiction.
A Game is an individual Interaction Fiction software
application having some degree of interactive simulation and usually having
some form of goal/reward system. Not all Interactive Fiction software is
necessarily a story. In IFMES, a Game resource
represents just one program, not an entire concept as it does in Baf's Guide
to the IF Archive.
An Abuse is a game that uses a specialized virtual
machine model to create a product outside the VM's specialty.
For example, using the Z-Machine to run a chess program. Though not true
IF, Abuses may nevertheless be described by the
IFMES vocabulary the same as the base Game type.
A Series is a collection of games that relate to each other as a
sequence with close thematic bonds. Games in a series may share characters,
settings, storylines, or simply a common theme. The fact that a series is
defined as a sequence does not imply sequel/prequel relationships.
The DCMI Interactive Resource type represents a
resource that requires interaction with a user to properly experience.
This type can be used for games that can be played directly on the internet.
A Catalog resource represents a collection of IF
games and associated information. It may catalog games in an internet
archive, a personal collection, an author's portfolio, etc. Catalogs
may contain nested catalogs representing different categories or
classifications within the collection.
A Genre is a thematic group used to classify games by content and audience.
Almost all intellectual material is classified through a genre taxonomy
so that people can more easily find and express the type of content that
interests them.
A Genre Scheme defines a controlled genre taxonomy. The genres in the
scheme are expected to form a complete and well-defined system for
classifying the thematic content of games according to the scheme's goals.
A Competition is an organized event in which Awards are
given to selected games. Competitions resources will usually include a list
of Games that were entered in the competition, a list of Awards given
by the competition, and information on how to participate in the competition.
A Platform is a group of software applications that implement an
operating environment under which application software runs. A Platform may
represent an operating system (e.g. Windows), a virtual machine model
(e.g. Z-Machine), or an infrastructure layer (e.g. .NET).
The group membership typically consists of various alternative implementations
of the platform, only one of which is needed to play games intended for the platform.
Approved:
N/A
Software (DCMI)
URI:
http://purl.org/dc/dcmitype/Software
The Software type may be used for interpreters,
operating systems, and other programs that are to be installed on the
user's machine.
A Feelie is a physical or digital object created as a
promotional item for a game. A feelie can be practically anything—a picture,
a poster, a candy bar, a toy, even a ball of lint. A feelie can even be nothing
at all—Infocom's Hitchiker's Guide to the Galaxy game included a nonexistent
feelie called “no tea”. Applications that support multiple inheritance are
encouraged to use additional types for greater specificity, as long as
Feelie is also included.
Approved:
N/A
Document (FOAF)
URI:
http://xmlns.com/foaf/0.1/Document
Refines:
http://xmlns.com/wordnet/1.6/Document
The FOAF Document type represents a written document,
such as a web page or a text file. It can be used for all manner of written
material that accompanies games.
The FOAF Person type represents an individual being,
either real or imaginary. People make, test, and review games; attend events;
and make documents. This is a good type for resources representing authors
and contributors.
The FOAF Image type represents a visual depiction
of something. It is mainly intented for pictures of people, events, and the
other physical resources described in FOAF. The semantics
of this class are somewhat ambiguous, so the dcmi:Image
class is preferable unless a property specifically gives foaf:Image
as its range.
<?xml version="1.0" encoding="utf-8"?>
<!-- http://purl.org/int-fiction/metadata/schemas/rdf/iftype -->
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:owl="http://www.w3.org/2002/07/owl#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:dct="http://purl.org/dc/terms/">
<owl:Ontology rdf:about="http://purl.org/int-fiction/metadata/iftype/">
<dc:title>Interactive Fiction Resource Types</dc:title>
<dc:description>A class ontology for Interactive Fiction resource types</dc:description>
<dct:modified>$Date: 2006/03/20 22:37:31 $</dct:modified>
<!-- Import some types from other schemas -->
<!-- We don't import FOAF because we only want classes, not properties -->
<!-- owl:imports rdf:resource="http://xmlns.com/foaf/0.1/" / -->
<owl:imports rdf:resource="http://purl.org/dc/dcmitype/" />
<rdfs:seeAlso rdf:resource="http://xmlns.com/foaf/0.1/" />
<rdfs:seeAlso rdf:resource="http://purl.org/dc/dcmitype/" />
<!-- This schema in pure RDF/XML -->
<rdfs:seeAlso rdf:resource="http://purl.org/int-fiction/metadata/schemas/rdf/iftype" />
</owl:Ontology>
<!-- ::::::: IF Type Vocabulary Classes ::::::: -->
<!-- Interactive Fiction -->
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/IF">
<rdfs:label>Game</rdfs:label>
<rdfs:comment>A work of Interactive Fiction that can be described by the IFMES 1.1 vocabulary.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Fiction"/>
<rdfs:subClassOf rdf:resource=" http://www.w3.org/2002/07/owl#Thing"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Game">
<rdfs:label>Game</rdfs:label>
<rdfs:comment>A software application that can be described by the IFMES 1.1 vocabulary.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://purl.org/int-fiction/metadata/iftype/IF"/>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Computer_game"/>
<rdfs:subClassOf rdf:resource="http://purl.org/dc/dcmitype/Software"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Story">
<rdfs:label>Story</rdfs:label>
<rdfs:comment>A game that tells a story; true Interactive Fiction.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game"/>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Story"/>
<owl:disjointWith rdf:resource="http://purl.org/int-fiction/metadata/iftype/Abuse"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Abuse">
<rdfs:label>Abuse</rdfs:label>
<rdfs:comment>A game that uses its platform for something other than what the platform was intended to do.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game"/>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Abuse-3"/>
<owl:disjointWith rdf:resource="http://purl.org/int-fiction/metadata/iftype/Story"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Series">
<rdfs:label>Series</rdfs:label>
<rdfs:comment>A collection of games that relate to each other as a sequence.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://purl.org/int-fiction/metadata/iftype/IF"/>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Series"/>
<rdfs:subClassOf rdf:resource="http://purl.org/dc/dcmitype/Collection"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<!-- Catalogs and Competitions -->
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Catalog">
<rdfs:label>Catalog</rdfs:label>
<rdfs:comment>A collection of games organized into one or more IFIndexes.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Catalog-2"/>
<rdfs:subClassOf rdf:resource="http://purl.org/dc/dcmitype/Collection"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Genre">
<rdfs:label>Genre</rdfs:label>
<rdfs:comment>A Genre is a thematic group used to classify games by content and audience.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Genre"/>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#Concept"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/GenreScheme">
<rdfs:label>Genre Scheme</rdfs:label>
<rdfs:comment>An organized system of genres.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://www.w3.org/2004/02/skos/core#ConceptScheme"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Competition">
<rdfs:label>Competition</rdfs:label>
<rdfs:comment>An event is which awards are given out to games.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Competition-2" />
<rdfs:subClassOf rdf:resource="http://purl.org/dc/dcmitype/Event"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Award">
<rdfs:label>Award</rdfs:label>
<rdfs:comment>A prize or honor given to a game by a competition.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Award-2"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<!-- Platforms and Components -->
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Platform">
<rdfs:label>Platform</rdfs:label>
<rdfs:comment>A Platform is a class of software applications that provide the operating environment under which a Game runs.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://purl.org/dc/dcmitype/Collection"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
<rdfs:Class rdf:about="http://purl.org/int-fiction/metadata/iftype/Feelie">
<rdfs:label>Feelie</rdfs:label>
<rdfs:comment>A feelie is a physical or digital object provided as a promotional item for a game.</rdfs:comment>
<rdfs:subClassOf rdf:resource="http://xmlns.com/wordnet/1.6/Entity"/>
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iftype/"/>
<rdf:type rdf:resource="http://purl.org/int-fiction/metadata/encoding/IFType"/>
</rdfs:Class>
</rdf:RDF>
Appendix A.2: Schema for XML
The latest version of the IFType XML
Schema can be found at <http://purl.org/int-fiction/metadata/schemas/xml/iftype>.
Its contents at the time of writing are shown below. The schema is meant
for representing IFType as plain XML;
RDF/XML documents are not expected
to validate against this schema.
[2006-03-20] Completely restructured the document; it is now separated into a normative definition of the ontology and an informative list of included classes. This document will no longer be the normative definition of individual classes, only the ontology as a whole. Changed the superclass of Feelie to wordnet:Entity, since feelies can be anything, even nothing. Updated schemas. Added inheritance chart for game classes.
[2006-02-16] Changed table of contents and term headings to use
human-readable labels instead of URI tails.
[2006-02-15] Changed Genre type to recommend the
SKOS vocabulary instead of RDFS.
Added owl:Thing as a superclass of Feelie. Made
Abuse and Story disjoint (appears only in the
OWL ontology). Removed "Feelie" from defined
terms, the class description should be enough of a definition. Added
GenreScheme class.
[2005-12-01] Cleaned up schemas for publication.
[2005-11-17] Corrected some typoes. Clarified the purpose of the
XML schema.
[2005-10-30] Clarified the definition of a Resource. Merged the
vocabulary recommendations formerly in IFLINK and IFMES into the type
descriptions. Shortened 'Catalogue' to 'Catalog'.
[2005-09-30] Separated the IFType Vocabulary from the
IFMES specification so that it can continue being
adjusted after IFMES is frozen.
References
For dated references, subsequent amendments to, or revisions of, any of
these publications do not apply. However, implementors are
encouraged to investigate the possibility of applying the most recent
editions of the normative documents indicated below. For undated references,
the latest edition of the normative document referred to applies.
This work is licensed under a Creative Commons Attribution
2.5 License. This copyright and license applies to this document and does not apply to
IF data formats, media types, or technology.