This work is licensed under a
Creative
Commons Attribution 2.5 License. This copyright applies to the
IFLinkSpecification and
accompanying documentation and does not apply to IFLink data formats,
vocabulary terms, or technology. Regarding underlying technology, IFLink
relies heavily on Dublin Core Metadata and W3C's RDF technology, both open Web
standards that can be freely used by anyone.
Abstract
This document lists a set of property elements that describe the
relationship between an Interactive Fiction game and other resources. This
vocabulary is meant to be used in conjunction with the Interactive Fiction
Metadata Element Set, to allow automated discovery of dependencies, alternate
versions, and supplementary resources.
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, is should not be considered a definitive reference, nor an official
standard. Early adopters may begin implementing the described vocabulary, 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, ISO, or IETF Recommendation. 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 contains one major section, divided into the following two
subsections:
Section 2.1: The IFLink Elements
This section is the normative reference for linking elements defined by
this specification. This subsection is further divided into logical groups
of related elements.
Section 2.2: Other Recommended Elements
This section gives normative recommendations for the usage of linking
elements defined by other normative specifications.
1.2 Definitions
This subsection 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 in capital letters they MUST NOT be interpreted as described in
RFC 2119 [RFC2119].
This document uses the following terms and definitions.
Application
Application of IFLink: An application is a particular usage or
implementation of IFLink metadata.
Element
A single property identifier.
Feelies
Physical or digital objects included or associated with a game. The
practice of including feelies with a game probably originated as an attempt
to lend more visual appeal to text games by giving players real-life copies
of some of the objects that appeared in the game; the practice continues
today as a promotional gimmick—even some graphical games have included
feelies.
Game
A single executable or interpreted Interactive Fiction program. Not
necessarily a game in the conventional sense—some IF has little actual gameplay—but for
purposes of this document all programs described by
IFMES are considered to be games.
Implementation
Implementation ofIFLink: 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.
Informative
Provides additional information that may be helpful to understanding of
the specification, but are not requirements of the specification.
Interactive Fiction (IF)
The genre of computer programs IFLink is intended to describe. 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.
Normative
Describes how features and requirements of the specification MUST work
in compliant implementations.
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
RFC 3986 [RFC3986] URIs and RFC 3987 [RFC3987] IRIs.
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 terms that comprise the
IF Metadata Element Set. The reference information for
each term begins with a header giving the term's human-readable label.
This is followed by a table with data about the term. Below the table is a
short comment describing of what the element represents and how to use it.
The table contains the following information:
URI
The full cannonical URI identifying the term.
Refines
The Dublin Core term the element is derived from. This row is present
but blank on elements that do not refine a more general element. For types,
this gives the superclass that the class inherits from.
Inverse
An element that has an inverse relationship with the element. An
inverse relationship means that if ResourceA is related to ResourceB by
PropA, and PropB is an inverse of PropA, then ResourceB is related to
ResourceA by PropB.
Domain
The type of resource the link may point from, identified by
URI.
Range
The type of resource the link may point to, identified by
URI.
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.)
2 Interactive Fiction Relationships
This section is Normative.
Interactive Fiction games do not exist by themselves. They are created by
people, entered in competitions, and related to other software and
documentation. The Interactive Fiction Metadata Element Set describes many
properties of a game, but does not provide any way to connect these resources
together. IFLink provides a set of elements, both from existing vocabularies
and new ones defined here, to describe these relationships. Unlike the
human-readable elements defined by the Interactive Fiction Metadata
Element Set [IFMES], these elements are mainly for
machine use; they are essential for catalogs meant to be used with
"smart" user agents that can interpret and utilize these
relationships. Most of these elements point to or from resources of the types
defined in the Interactive Fiction Type Vocabulary [IFTYPE].
2.1 The IFLink
Elements
This document is the Normative definition of the elements in this
subsection, as well as the use and interpretation of these elements in an
Interactive Fiction Metadata context.
2.1.1 Game Components
Some games require multiple parts to work properly, such as multimedia
resources and dynamically-linked components. These elements allow a user
agent to locate the various parts of the game and determine their role.
Indicates other resources required to run the game, not including the
interpreter. Examples include multimedia bundles, graphics, sound files, etc.
Sometimes only one of a group of resources is needed—for example, some games
provide both low-quality, small filesize and high-quality, large filesize
versions of their media bundles to accommodate people with different
bandwidth requirements—in which case the hasComponent element
should point to a collective resource from which one member should be
selected. In local scope this MAY be a local path literal instead of a
resource.
The resource is a component required to run the referenced game, or a
member of a set of alternatives of which at least one member is required to
run the referenced game. The resource may be a graphic, sound, multimedia
bundle, or other component used by the game while executing.
Indicates the game's main file, that is the file that contains the
entrypoint of the executable code. This is usually the game resource itself.
In local scope this MAY be a local path literal instead of a resource.
2.1.2 Game Variations
Some games are variations of another, such as ports to a new platform or
translations to a new language. These elements connect games that have these
types of relationships. See dcterms:hasVersion and dcterms:isVersionOf for linking revisions
of the same variant.
A reference to another game that is a port of this game.
Porting can mean conversion from one operating system to another,
from one interpreter to another, or from one hardware architecture to
another.
A reference to another game that is a translation or localization of this
game. Translation means changing the text output from one human
language to another human language. A similar concept is
localization, which means to not only translate the language but
also to adapt for cultural and colloquial differences. In the problem domain
addressed by this specification there is little reason to differentiate these
two concepts, therefore the same element is used to mean either.
A reference to another game of which this game is a port.
Porting can mean conversion from one operating system to another,
from one interpreter to another, or from one hardware architecture to
another.
A reference to another game of which this game is a translation or
localization. Translation means changing the text output from one
human language to another human language. A similar concept is
localization, which means to not only translate the language but
also to adapt for cultural and colloquial differences. In the problem domain
addressed by this specification there is little reason to differentiate these
two concepts, therefore the same element is used to mean either.
2.1.3 Game Categorization
These elements help to group games into manageable categories and
classifications.
Identifies a resource representing one of the artistic genres the game is
classified with. Whereas the basic IFMES genre
element merely gives the genre by name, the IFLink version can provide
additional information through the resource's metadata.
Identifies a series the game belongs to. Metadata for the series will
normally provide a collective name and allow other games in the same series
to be discovered.
2.1.4 Platforms and
Runtimes
Games require some form of lower-level runtime environment to operate
under. These elements are used in the description of these runtime
environments.
An implementation of a platform. This might be a particular version of an
operating system, an implementation of a VM, or even an emulator for running
the platform on a different platform. Implementations are not necessarily
interchangeable with one another; some may represent different and
incompatible versions of the platform, or may implement only a subset of the
platform's features.
Identifies the operating environment required to run the software. This
may be a virtual machine model, an operating system, or other low-level
computing environment. The RECOMMENDED best practice is to select from a
controlled vocabulary.
2.1.5 Other Elements
Additional elements that don't fit in other categories.
The documentation element references a resource from which a
game's documentation may be retrieved. This may be a website about the
game, a readme file, or other instructional document.
The icon element references an image which provides iconic
visual identification for the game. The image SHOULD have an aspect ratio of
one (horizontal) to one (vertical), and SHOULD be suitable for presentation
at a small size. Multiple icons in different formats MAY be specified, user
agents SHOULD choose the format most suitable for their purposes.
2.2 Other Recommended Elements
This document is not the normative definition of the
elements described in this subsection; however, this is the
Normative recommendation for the use and interpretation of these elements in
an Interactive Fiction context.
Relation
URI:
http://purl.org/dc/elements/1.1/relation
A catch-all generic relationship link, for any relationship that
doesn't have a more specific identifier. It is almost never appropriate
to use this property, a more specific relationship type is always preferable.
However, this may be used when there is simply no other appropriate link
element available.
Has Version
URI:
http://purl.org/dc/terms/hasVersion
Refines:
http://purl.org/dc/elements/1.1/relation
Inverse:
http://purl.org/dc/terms/isVersionOf
Connects a game with a later version of itself. User Agents may use this
element to find the most recent version of a game.
Is Version Of
URI:
http://purl.org/dc/terms/isVersionOf
Refines:
http://purl.org/dc/elements/1.1/relation
Inverse:
http://purl.org/dc/terms/hasVersion
Connects a game with a previous version of itself. User Agents may use
this element to locate older versions of a game.
License
URI:
http://purl.org/dc/terms/license
Refines:
http://purl.org/dc/elements/1.1/rights
While the IFMES
license element SHOULD be used for most licensing links, it
insists that the referenced resource be a human-readable (or at least
laywer-readable) document. The dcterms:license element is less
picky, and can be used for machine-readable licenses. Human-readable license
documents that are also described by machine-readable metadata SHOULD still
use the IFMES license element; fall back to dcterms:license
SHOULD occur only for purely machine-readable licenses with no human-readable
equivalent.
Made
URI:
http://xmlns.com/foaf/0.1/made
Inverse:
http://xmlns.com/foaf/0.1/maker
Domain:
http://xmlns.com/foaf/0.1/Agent
Range:
http://www.w3.org/2002/07/owl#Thing
Connects an agent to a resource that agent created. A
foaf:Person is a subclass of foaf:Agent. This can
be used to link an author to the games he or she has written.
Maker
URI:
http://xmlns.com/foaf/0.1/maker
Inverse:
http://xmlns.com/foaf/0.1/made
Domain:
http://www.w3.org/2002/07/owl#Thing
Range:
http://xmlns.com/foaf/0.1/Agent
Connects a resource to the person who created it. This link can be used to
supplement the IFMES author property by
linking to metadata about the author. In FOAF, Person resources are not identified by
URI, but by the
inverse functional property foaf:mbox_sha1sum, which contains
the hexadecimal-encoded SHA-1 checksum of one of the
person's email addresses, including the "mailto:" prefix.
Therefore this element SHOULD point to an anonymous foaf:Person
resource with at least one foaf:mbox_sha1sum property to
identify it. Other important properties may also be included in case the
actual FOAF profile is
unavailable. An rdfs:seeAlso property MAY be included to tell
the user agent where to find the file containing the full FOAF profile.
See
Also
URI:
http://www.w3.org/2000/01/rdf-schema#seeAlso
Domain:
http://www.w3.org/2000/01/rdf-schema#Resource
Range:
http://www.w3.org/2000/01/rdf-schema#Resource
Indicates another resource that may be of interest to entities interested
in the current resource. It may be used to reference additional sources of
metadata that should be examined for more information about the resource.
This allows large catalogs to be split up into smaller parts to conserve
bandwidth and/or distribute maintenance work.
Appendix A:
Schemas
The following RDF schemas are
normative parts of this specification.
A.1 Schema for
RDF
The latest version of the IF Link RDF Schema/OWL Ontology can be found at <http://purl.org/int-fiction/metadata/schemas/rdf/iflink10>.
Its contents at the time of writing are shown below, and are also embedded
within the source of this page.
<?xml version='1.0'?>
<?xml-stylesheet href="rdf.css" type="text/css" ?>
<!--
The namespace document for this RDF Schema is an XHTML document with this
schema embedded in a comment. User agents looking for a pure RDF/XML version
may instead load <http://purl.org/int-fiction/metadata/schemas/rdf/iflink10>,
which is a pure RDF/XML document.
-->
<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/">
<owl:Ontology rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/">
<dc:title>Interactive Fiction Relational Links version 1.0</dc:title>
<dc:description>Describes additional metadata fields to supplement the IF Metadata Element Set with links to related resources.</dc:description>
<dc:date>2006-02-16</dc:date>
<owl:versionInfo>1.0</owl:versionInfo>
<!--
<owl:imports rdf:resource="http://www.w3.org/2000/01/rdf-schema" />
<owl:imports rdf:resource="http://www.w3.org/2002/07/owl" />
-->
<!-- Reference complementary schemas -->
<rdfs:seeAlso rdf:resource="http://xmlns.com/foaf/0.1/" />
<rdfs:seeAlso rdf:resource="http://purl.org/dc/elements/1.1/" />
<!-- This schema in pure RDF/XML -->
<rdfs:seeAlso rdf:resource="http://purl.org/int-fiction/metadata/schemas/rdf/ifmes10" />
<!-- The IF Typology Schema -->
<owl:imports rdf:resource="http://purl.org/int-fiction/metadata/iftype/" />
<rdfs:seeAlso rdf:resource="http://purl.org/int-fiction/metadata/schemas/rdf/iftype" />
</owl:Ontology>
<!-- ::::::: IFLink Properties ::::::: -->
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/hasComponent">
<rdfs:label>Has Component</rdfs:label>
<rdfs:comment>An additional resource needed to run the game.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/requires" />
<owl:inverseOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/isComponentOf" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/documentation">
<rdfs:label>Documentation</rdfs:label>
<rdfs:comment>A link to documentation of the game, such as the manual, readme, etc.</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" />
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/relation" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/genre">
<rdfs:label>Genre</rdfs:label>
<rdfs:comment>The genre that the game falls under.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:range rdf:resource="http://purl.org/int-fiction/metadata/iftype/Genre" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/type" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/hasPort">
<rdfs:label>Has Port</rdfs:label>
<rdfs:comment>A port derived from this game.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:range rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/hasFormat" />
<owl:inverseOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/isPortOf" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/hasTranslation">
<rdfs:label>Has Translation</rdfs:label>
<rdfs:comment>A translation of this game into another human language.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:range rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/hasVersion" />
<owl:inverseOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/isTranslationOf" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/icon">
<rdfs:label>Icon</rdfs:label>
<rdfs:comment>An icon that represents the game.</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" />
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/relation" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/isComponentOf">
<rdfs:label>Is Component Of</rdfs:label>
<rdfs:comment>This resource is a component of the referenced game.</rdfs:comment>
<rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" />
<rdfs:range rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/isRequiredBy" />
<owl:inverseOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/hasComponent" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/isPortOf">
<rdfs:label>Is Port Of</rdfs:label>
<rdfs:comment>This game is a port of the referenced game.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:range rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/isFormatOf" />
<owl:inverseOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/hasPort" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/isTranslationOf">
<rdfs:label>Is Translation Of</rdfs:label>
<rdfs:comment>This game is a translation of the referenced game.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:range rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/isVersionOf" />
<owl:inverseOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/hasTranslation" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/masterComponent">
<rdfs:label>Master Component</rdfs:label>
<rdfs:comment>The primary file that should be executed or opened to begin the game.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/int-fiction/metadata/iftype/Game" />
<rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/hasComponent" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#FunctionalProperty" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#DatatypeProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/platform">
<rdfs:label>Platform</rdfs:label>
<rdfs:comment>The platform required to run the game.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/dc/dcmitype/Software" />
<rdfs:range rdf:resource="http://purl.org/int-fiction/metadata/iftype/Platform" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/terms/requires" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/hasImplementation">
<rdfs:label>Has Implementation</rdfs:label>
<rdfs:comment>The identified resource is an implementation of this platform.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/dc/dcmitype/Platform" />
<rdfs:range rdf:resource="http://purl.org/dc/dcmitype/Software" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/relation" />
<owl:inverseOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/isImplementationOf" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
<rdf:Property rdf:about="http://purl.org/int-fiction/metadata/iflink/1.0/isImplementationOf">
<rdfs:label>Is Implementation Of</rdfs:label>
<rdfs:comment>This software resource is an implementation of the identifed platform.</rdfs:comment>
<rdfs:domain rdf:resource="http://purl.org/dc/dcmitype/Software" />
<rdfs:range rdf:resource="http://purl.org/dc/dcmitype/Platform" />
<rdfs:subPropertyOf rdf:resource="http://purl.org/dc/elements/1.1/relation" />
<owl:inverseOf rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/hasImplementation" />
<rdfs:isDefinedBy rdf:resource="http://purl.org/int-fiction/metadata/iflink/1.0/" />
<rdf:type rdf:resource="http://www.w3.org/2002/07/owl#ObjectProperty" />
</rdf:Property>
</rdf:RDF>
A.2 Schema for
XML
The latest version of the IF Link XML Schema can be found at
<http://purl.org/int-fiction/metadata/schemas/xml/iflink10>.
Its contents at the time of writing are shown below. This schema is meant for
representing IFLink as plain XML;
RDF/XML documents are not expected to
validate against this schema.
[2006-02-16] Changed headers and TOC entries for third-party elements to
human-readable labels.
[2006-02-15] Removed the option of using rdfs:seeAlso as
anything other than a aggregation pointer. dc:relation should
be sufficient for everything else.
[2006-02-12] Removed dc:rights element from extra
elements, as the DCMI probably intended it for copyright statement
literals, not resource links.
[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. Removed section 3
and merged the information into IFTYPE specification.
[2005-10-29] Gave all elements human-language labels instead of just
using the last part of the URI.
[2005-09-30] Separated the IFLink Vocabulary from the
IFMES specification. IFMES now describes only the simple
constant elements that can be filled in by the author at the time of the
game's release, while IFLink adds nonconstant elements connecting games
together that must be continually checked and updated.
References
For dated references, subsequent amendments to or revisions of the
publication do not apply. However, implementors of IFType
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
[DCES]
Dublin Core Metadata Element Set, Version 1.1: Reference Description,
20 December 2004
This work
is licensed under a Creative Commons Attribution
2.5 License. This copyright applies to the IFLinkSpecification and accompanying documentation and
does not apply to IFLink data formats, vocabulary terms, or technology.
Regarding underlying technology, IFLink relies heavily on Dublin Core and
W3C's RDF
technology, both open Web standards that can be freely used by anyone.