Main

 
Interactive Fiction Resource Types
IFMI Working Draft

Interactive Fiction Resource Types
IFType Specification

Working Draft 20 March 2006

Current Version:
http://purl.org/int-fiction/metadata/iftype
Available in HTML, RDF Schema, and XML Schema
This Version:
http://purl.org/int-fiction/ifmi/documents/2006/WD-iftype-20060320
Previous Version:
http://purl.org/int-fiction/metadata/2006/WD-iftype-20060220
Description:
A class ontology for Interactive Fiction resource types
Date Issued:
2006-03-20
Publisher:
Interactive Fiction Metadata Initiative
Author:
Michael D. Dollahite <master.ryukage AT gmail.com>
Contributors:
Andreas Sewe, IF Enthusiast
Andrew Hunter, Developer Zoom Z-Code Interpreter
Document Status:
This is Interactive Fiction Metadata Initiative Working Draft

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.


Quick Table of Contents

  1. 1 About the IFType Specification
  2. 2 The IFType Vocabulary
  3. 3 Class Listing
  4. Appendix A: Schemas
  5. Changes
  6. References

Full Table of Contents

  1. 1 About the IFType Specification
    1. 1.1 Document Organization
    2. 1.2 Definitions
    3. 1.3 Document Conventions
  2. 2 The IFType Vocabulary
    1. 2.1 Encoding Scheme and Ontology
    2. 2.2 Requirements For New Classes
  3. 3 Class Listing
    1. 3.1 Interactive Fiction Games
    2. 3.2 Catalogs and Competitions
    3. 3.3 Platforms and Components
    4. 3.4 People
  4. Appendix A: Schemas
    1. Appendix A.1: Schema for RDF
    2. Appendix A.2: Schema for XML
  5. Changes
  6. References
    1. Normative References
    2. Informative References

1 About the IFType Specification

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].

2.1 Encoding Scheme and Ontology

IFType
URI:http://purl.org/int-fiction/metadata/encoding/IFType
Qualifies:http://purl.org/dc/elements/1.1/type

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.

As an RDF datatype or Dublin Core encoding scheme, IFType is designated by the URI <http://purl.org/int-fiction/metadata/encoding/IFType>. The ontology itself is designated by the URI <http://purl.org/int-fiction/metadata/iftype/>. Dated snapshots <iftype.rdf> of the ontology are published alongside each revision of this document.

2.2 Requirements For New Classes

All new classes MUST meet the requirements set forth in this section to be eligible for inclusion in the IFType Vocabulary.

  1. 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.
  2. 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.
  3. 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
[IF-inheritance.png] IF | +----- Game | | | +----- Story | | | +----- Abuse | +----- Series

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.

Approved:N/A
Normative Document:Interactive Fiction Metadata Element Set version 1.1
Vocabulary Document:Interactive Fiction Metadata Element Set version 1.1
Game
URI:http://purl.org/int-fiction/metadata/iftype/Game
Refines:http://purl.org/int-fiction/metadata/iftype/IF
Refines:http://xmlns.com/wordnet/1.6/Computer_game
Refines:http://purl.org/dc/dcmitype/Software

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.

Approved:N/A
Normative Document:Interactive Fiction Metadata Element Set version 1.1
Vocabulary Document:Interactive Fiction Metadata Element Set version 1.1
Story
URI:http://purl.org/int-fiction/metadata/iftype/Story
Refines:http://purl.org/int-fiction/metadata/iftype/Game
Refines:http://xmlns.com/wordnet/1.6/Story

A Story is a Game that falls within the range of true Interactive Fiction, meaning that it tells a story with some degree of user interaction.

Approved:N/A
Normative Document:Interactive Fiction Metadata Element Set version 1.1
Vocabulary Document:Interactive Fiction Metadata Element Set version 1.1
Abuse
URI:http://purl.org/int-fiction/metadata/iftype/Abuse
Refines:http://purl.org/int-fiction/metadata/iftype/Game
Refines:http://xmlns.com/wordnet/1.6/Abuse-3

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.

Approved:N/A
Normative Document:Interactive Fiction Metadata Element Set version 1.1
Vocabulary Document:Interactive Fiction Metadata Element Set version 1.1
Series
URI:http://purl.org/int-fiction/metadata/iftype/Series
Refines:http://purl.org/int-fiction/metadata/iftype/IF
Refines:http://xmlns.com/wordnet/1.6/Series

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.

Approved:N/A
Vocabulary Document:DCMI Metadata Terms, Interactive Fiction Relation Links version 1.0, Interactive Fiction Metadata Element Set version 1.1
Interactive Resource (DCMI)
URI:http://purl.org/dc/dcmitype/InteractiveResource

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.

Approved:N/A
Normative Document:DCMI Type Vocabulary
Vocabulary Document:Interactive Fiction Metadata Element Set version 1.1

3.2 Catalogs and Competitions

These classes are used mainly in describing catalogs and competitions.

Catalog
URI:http://purl.org/int-fiction/metadata/iftype/Catalog
Refines:http://purl.org/dc/dcmitype/Collection
Refines:http://xmlns.com/wordnet/1.6/Catalog-2

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.

Approved:N/A
Normative Document:Interactive Fiction Catalogs
Vocabulary Document:DCMI Metadata Terms, Interactive Fiction Relation Links version 1.0
Genre
URI:http://purl.org/int-fiction/metadata/iftype/Genre
Refines:http://www.w3.org/2004/02/skos/core#Concept
Refines:http://xmlns.com/wordnet/1.6/Genre

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.

Approved:N/A
Vocabulary Document:SKOS Core Vocabulary Specification
Genre Scheme
URI:http://purl.org/int-fiction/metadata/iftype/GenreScheme
Refines:http://www.w3.org/2004/02/skos/core#ConceptScheme

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.

Approved:N/A
Vocabulary Document:SKOS Core Vocabulary Specification
Competition
URI:http://purl.org/int-fiction/metadata/iftype/Competition
Refines:http://xmlns.com/wordnet/1.6/Competition-2
Refines:http://purl.org/dc/dcmitype/Event

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.

Approved:N/A
Award
URI:http://purl.org/int-fiction/metadata/iftype/Award
Refines:http://xmlns.com/wordnet/1.6/Award-2

An Award is a trophy or other honor given by a iftype:Competition.

Approved:N/A
Service (DCMI)
URI:http://purl.org/dc/dcmitype/Service

The DCMI Service class can be used to represent web servers, online game archives, and other service-oriented resources.

Approved:N/A
Normative Document:DCMI Type Vocabulary

3.3 Platforms and Components

These classes represent the platforms, software, and components software games require in order to run, as well as other resources related to a game.

Platform
URI:http://purl.org/int-fiction/metadata/iftype/Platform
Refines:http://purl.org/dc/dcmitype/Collection

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.

Approved:N/A
Normative Document:DCMI Type Vocabulary
Vocabulary Document:DCMI Metadata Terms, Interactive Fiction Relation Links version 1.0
Feelie
URI:http://purl.org/int-fiction/metadata/iftype/Feelie
Refines:http://xmlns.com/wordnet/1.6/Entity

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.

Approved:N/A
Normative Document:FOAF Vocabulary Specification
Vocabulary Document:DCMI Metadata Terms
Image (DCMI)
URI:http://purl.org/dc/dcmitype/Image

The DCMI Image type represents a visual depiction of something. It may be used for graphics in the absence of a more specific type.

Approved:N/A
Normative Document:DCMI Type Vocabulary
Vocabulary Document:Dublin Core Metadata Element Set, Version 1.1: Reference Description
Sound (DCMI)
URI:http://purl.org/dc/dcmitype/Sound

The DCMI Sound type represents an audio resource. This can be used for music and sound effect components of a game.

Approved:N/A
Normative Document:DCMI Type Vocabulary
Vocabulary Document:Dublin Core Metadata Element Set, Version 1.1: Reference Description
License (CC)
URI:http://web.resource.org/cc/License

The Creative Commons license type is used to represent a license document.

Approved:N/A

3.4 People

These classes are used when describing people.

Person (FOAF)
URI:http://xmlns.com/foaf/0.1/Person
Refines:http://xmlns.com/wordnet/1.6/Person
Refines:http://xmlns.com/foaf/0.1/Agent
Refines:http://www.w3.org/2000/10/swap/pim/contact#Person
Refines:http://www.w3.org/2003/01/geo/wgs84_pos#SpatialThing

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.

Approved:N/A
Normative Document:FOAF Vocabulary Specification
Vocabulary Document:FOAF Vocabulary Specification
Image (FOAF)
URI:http://xmlns.com/foaf/0.1/Image
Refines:http://xmlns.com/foaf/0.1/Document

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.

Approved:N/A
Normative Document:FOAF Vocabulary Specification
Vocabulary Document:Dublin Core Metadata Element Set, Version 1.1: Reference Description

Appendix A: Schemas

Appendix A.1: Schema for RDF

The latest version of the IFType RDF Schema/OWL Ontology can be found at <http://purl.org/int-fiction/metadata/schemas/rdf/iftype>. Its contents at the time of writing are shown below.

<?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.

<?xml version="1.0" encoding="utf-8"?>
<!-- http://purl.org/int-fiction/metadata/schemas/xml/iftype -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://purl.org/int-fiction/metadata/iftype/"
            xmlns:if="http://purl.org/int-fiction/metadata/1.1/"
            xmlns:iflink="http://purl.org/int-fiction/metadata/iflink/1.0/"
            xmlns:dc="http://purl.org/dc/elements/1.1/"
            xmlns:dcterms="http://purl.org/dc/terms/"
            xmlsn:dctype="http://purl.org/dc/dcmitype/"
            xmlns:skos="http://www.w3.org/2004/02/skos/core#"
            xmlns="http://purl.org/int-fiction/metadata/iftype/"
            xmlns:xhtml="http://www.w3.org/1999/xhtml"
            elementFormDefault="qualified">

  <xsd:import namespace="http://purl.org/int-fiction/metadata/1.1/"/>
  <xsd:import namespace="http://purl.org/int-fiction/metadata/iflink/1.0/"/>
  <xsd:import namespace="http://purl.org/dc/elements/1.1/"/>
  <xsd:import namespace="http://purl.org/dc/terms/"/>
  <xsd:import namespace="http://purl.org/dc/dcmitype/"/>
  <xsd:import namespace="http://www.w3.org/2004/02/skos/core#"/>

  <!-- Game Elements -->
  <xsd:complexType name="IF-type">
    <xsd:complexContent>
      <xsd:sequence>
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:group ref="if:IFMES-Properties"/>
          <xsd:group ref="iflink:IF-Properties"/>
          <xsd:any namespace="http://purl.org/dc/elements/1.1/ http://purl.org/dc/terms/"/>
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexContent>
  </xsd:complexType>

  <xsd:complexType name="game-type">
    <xsd:complexContent>
      <xsd:extension base="iftype:IF-type">
        <xsd:sequence>
          <xsd:choice minOccurs="0" maxOccurs="unbounded">
            <xsd:group ref="if:IFMES-Properties"/>
            <xsd:group ref="iflink:Game-Properties"/>
            <xsd:any namespace="http://purl.org/dc/elements/1.1/ http://purl.org/dc/terms/"/>
          </xsd:choice>
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>

  <xsd:element name="IF" type="iftype:IF-type"/>
  <xsd:element name="Game" type="iftype:game-type" substitutionGroup="iftype:IF"/>
  <xsd:element name="Story" type="iftype:game-type" substitutionGroup="iftype:IF"/>
  <xsd:element name="Abuse" type="iftype:game-type" substitutionGroup="iftype:IF"/>

  <xsd:element name="Series" type="iftype:IF-type" substitutionGroup="iftype:IF"/>

  <!-- Catalogs and Competitions -->

  <xsd:element name="Catalog">
    <xsd:complexType>
      <xsd:complexContent>
        <xsd:sequence>

          <xsd:element ref="dc:title" minOccurs="1" maxOccurs="unbounded"/>
          <xsd:element ref="dc:description" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="dc:creator" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="dct:modified" minOccurs="0" maxOccurs="unbounded"/>

          <xsd:element ref="iflink:genreScheme" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element ref="iflink:contents" minOccurs="1" maxOccurs="1"/>
          <xsd:element ref="iflink:services" minOccurs="0" maxOccurs="1"/>

          <xsd:any namespace="http://purl.org/dc/elements/1.1/ http://purl.org/dc/terms/"
                   minOccurs="0" maxOccurs="unbounded"/>

        </xsd:sequence>
      </xsd:complexContent>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="Genre">
    <xsd:complexType>
      <xsd:sequence>
         <xsd:any namespace="http://www.w3.org/2004/02/skos/core#" minOccurs="0" maxOccurs="unbounded"/>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:element name="GenreScheme">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:any namespace="http://purl.org/dc/elements/1.1/ http://purl.org/dc/terms/"/>
          <xsd:element ref="skos:hasTopConcept"/>
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>

  <xsd:complexType name="provisional-type">
    <xsd:complexContent>
      <xsd:sequence>
        <xsd:choice minOccurs="0" maxOccurs="unbounded">
          <xsd:any minOccurs="0" />
        </xsd:choice>
      </xsd:sequence>
    </xsd:complexContent>
  </xsd:complexType>

  <xsd:element name="Competition" type="iftype:provisional-type"/>
  <xsd:element name="Award" type="iftype:provisional-type"/>

  <!-- Platforms and Components -->

  <xsd:element name="Platform" type="iftype:provisional-type"/>
  <xsd:element name="Feelie" type="iftype:provisional-type"/>

</xsd:schema>

Changes

  • [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.

Normative References

[DC]
DCMI Metadata Terms, DCMI Recommendation
http://dublincore.org/documents/dcmi-terms
[DCES]
Dublin Core Metadata Element Set, Version 1.1: Reference Description, DCMI Recommendation
http://dublincore.org/documents/dces
[DCTYPE]
DCMI Type Vocabulary, DCMI Recommendation
http://dublincore.org/documents/dcmi-type-vocabulary
[IFCATALOG]
Interactive Fiction Catalogs, IFMI Working Draft
http://purl.org/int-fiction/metadata/ifcatalog
Interactive Fiction Linking Elements version 1.0, IFMI Working Draft
http://purl.org/int-fiction/metadata/iflink/1.0
[IFMES]
Interactive Fiction Metadata Element Set version 1.1, IFMI Working Draft
http://purl.org/int-fiction/metadata/1.1
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels, BCP 14, RFC 2119, March 1997
http://www.ietf.org/rfc/rfc2119.txt
[SKOS]
SKOS Core Vocabulary Specification, W3C Working Draft
http://www.w3.org/TR/swbp-skos-core-spec

Informative References

[RDF]
RDF/XML Syntax Specification (Revised), W3C Recommendation
http://www.w3.org/TR/rdf-syntax-grammar/
[RDFS]
RDF Vocabulary Description Language 1.0: RDF Schema, W3C Recommendation
http://www.w3.org/TR/rdf-schema/
[RFC3986]
Uniform Resource Identifiers (URI): Generic Syntax, RFC 3986
http://www.ietf.org/rfc/rfc3986.txt
[RFC3987]
Internationalized Resource Identifiers (IRIs), RFC 3987
http://www.ietf.org/rfc/rfc3987.txt