Scaling a list of controlled values to define a taxonomy
Optional classification elements make it possible to create a taxonomy from a list of controlled values.
A taxonomy differs from a controlled values list primarily in the degree of precision with which the metadata values are defined. A controlled values list sometimes is regarded as the simplest form of taxonomy. Regardless of whether the goal is a simple list of controlled values or a taxonomy:
- The same core elements are used:
<subjectScheme>
and<subjectdef>
. - A category and its subjects can have a binding that enumerates the values of an attribute.
Beyond the core elements and the attribute binding elements, sophisticated taxonomies can
take advantage of some optional elements. These optional elements make it possible to
specify more precise relationships among subjects. The
<hasNarrower>
, <hasPart>
,
<hasKind>
, <hasInstance>
, and
<hasRelated>
elements specify the kind of relationship in a
hierarchy between a container subject and its contained subjects.
While users who have access to sophisticated processing tools benefit from defining
taxonomies with this level of precision, other users can safely ignore this advanced
markup and define taxonomies with hierarchies of <subjectdef>
elements that are not precise about the kind of relationship between the subjects.
Example: A taxonomy defined using subject scheme elements
The following example defines San Francisco as both an instance of a city and a geographic part of California.
<subjectScheme>
<hasInstance>
<subjectdef keys="city" navtitle="City">
<subjectdef keys="la" navtitle="Los Angeles"/>
<subjectdef keys="nyc" navtitle="New York City"/>
<subjectdef keys="sf" navtitle="San Francisco"/>
</subjectdef>
<subjectdef keys="state" navtitle="State">
<subjectdef keys="ca" navtitle="California"/>
<subjectdef keys="ny" navtitle="New York"/>
</subjectdef>
</hasInstance>
<hasPart>
<subjectdef keys="place" navtitle="Place">
<subjectdef keyref="ca">
<subjectdef keyref="la"/>
<subjectdef keyref="sf"/>
</subjectdef>
<subjectdef keyref="ny">
<subjectdef keyref="nyc"/>
</subjectdef>
</subjectdef>
</hasPart>
</subjectScheme>
Sophisticated tools can use this subject scheme map to associate content about San Francisco with related content about other California places or with related content about other cities (depending on the interests of the current user).
The subject scheme map also can define relationships between subjects that are not
hierarchical. For instance, cities sometimes have "sister city" relationships. An
information architect could add a <subjectRelTable>
element
to define these associative relationships, with a row for each sister-city pair and
the two cities in different columns in the row.