Copyright © 2008 Toby Inkster, some rights reserved.
An RDF vocabulary for the taxonomy of all forms of life. The namespace URI for this vocabulary is http://purl.org/NET/biol/ns#; it is usually given the prefix biol.
This vocabulary should cover most people's taxonomic needs, but for those with more specialist needs, there are detailed vocabularies for botany and zoology. The namespaces and links to RDF schema are below, but no detailed specification document is available yet.
The vocabulary can be easily used in conjunction with FOAF and other RDF vocabularies. Examples are given below.
A taxonomy is a classification for something. An animal or plant has a taxonomy; an animal or plant is not a taxonomy. For those familiar with object-oriented programming, think of a taxonomy as being analogous to a class, not an object.
| Sub-class of: | biol:Taxonomy |
|---|
A ZooTaxonomy is a subclass of Taxonomy. It is not necessarily used to describe an animal, but it indicates that certain ambiguous terms, such as "division" should be interpreted the way zoologists use them. Most of the time, it is more appropriate to use Taxonomy instead.
| Sub-class of: | biol:Taxonomy |
|---|
A BotTaxonomy is a subclass of Taxonomy. It is not necessarily used to describe a plant. Most of the time, it is more appropriate to use Taxonomy instead.
| Range: | biol:Taxonomy |
|---|
This property provides a relationship between an entity (such as a foaf:Person) and a taxonomy. Because biologists don't always agree on how to classify life, a single entity may have multiple taxonomies, each of which may be differentiated between using biol:authority or dc:date.
| Domain: | biol:Taxonomy |
|---|---|
| Range: | rdfs:Literal |
A scientific name; a binomial or trinomial. For example, Homo sapiens.
| Sub-property of: | rdfs:label |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
A non-scientific name. For example, "Human".
| Domain: | biol:Taxonomy |
|---|---|
| Range: | rdfs:Literal |
An unspecified classification. This should not normally be used.
| Sub-property of: | biol:rank |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The highest-level and least specific level of classification. Example kingdoms are Animalia and Plantae.
| Sub-property of: | biol:rank |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The second highest level of classification. Zoologists call these phyla and botanists call them "divisions". In general, you should pick one of those terms and use it instead.
| Sub-property of: | biol:secondLevelClassification |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The second highest level of classification, as used by zoologists. Note that phylum may be used to describe any form of life — the use of phylum is not meant to imply that the entity being described is an animal, merely that zoological names of ranks are being used.
| Sub-property of: | biol:secondLevelClassification |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The second highest level of classification, as used by botanists. Note that division may be used to describe any form of life — the use of division is not meant to imply that the entity being described is a plant, merely that botanical names of ranks are being used. Zoologists use the term "division" to describe a rank between an "infraclass" and a "cohort". biol:division should not be used for this purpose — use biol:rank instead.
| Sub-property of: | biol:rank |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The third highest level of classification. For example Mammalia.
| Sub-property of: | biol:rank |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The fourth highest level of classification. For example "Primates".
| Sub-property of: | biol:rank |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The fifth highest level of classification. For example Hominidae.
| Sub-property of: | biol:rank |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The sixth highest level of classification. For example Homo.
| Sub-property of: | biol:rank |
|---|---|
| Domain: | biol:Taxonomy |
| Range: | rdfs:Literal |
The lowest level of classification supported by this vocabulary. For example Sapiens. To include information more specific than species, use biol:rank or a more specialist vocabulary.
| Domain: | biol:Taxonomy |
|---|---|
| Range: | rdfs:Resource |
A link to another resource further describing this form of life.
A very basic example:
<rdf:RDF xml:lang="en-GB"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:biol="http://purl.org/NET/biol/ns#">
<foaf:Person rdf:about="http://tobyinkster.co.uk/~tobyink/#">
<foaf:name>Toby Inkster</foaf:name>
<biol:hasTaxonomy rdf:parseType="Resource">
<biol:name>Homo sapiens sapiens</biol:name>
<biol:commonName>human</biol:commonName>
</biol:hasTaxonomy>
</foaf:Person>
</rdf:RDF>
A more complicated example, using most of the properties:
<rdf:RDF xml:lang="en-GB"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:biol="http://purl.org/NET/biol/ns#">
<foaf:Person rdf:about="http://tobyinkster.co.uk/~tobyink/#">
<foaf:name>Toby Inkster</foaf:name>
<biol:hasTaxonomy>
<biol:Taxonomy>
<!-- Scientific (binomial or trinomial) name -->
<biol:name>Homo sapiens sapiens</biol:name>
<!-- Common name, in whatever language you like -->
<biol:commonName>human</biol:commonName>
<biol:commonName xml:lang="la">homo</biol:commonName>
<biol:commonName xml:lang="eu">Gizakia</biol:commonName>
<!-- Detailed classification -->
<biol:kingdom>Animalia</biol:kingdom>
<biol:phylum>Chordata</biol:phylum>
<biol:class>Mammalia</biol:class>
<biol:order>Primates</biol:order>
<biol:family>Hominidae</biol:family>
<biol:genus>Homo</biol:genus>
<biol:species>Sapiens</biol:species>
<!-- Further information on this classification -->
<biol:seeAlso
rdf:resource="http://species.wikimedia.org/wiki/Homo_sapiens" />
<!-- The classifier -->
<biol:authority>Linnaeus, 1758</biol:authority>
<!-- A date when this taxonomy was thought to be correct. -->
<dc:date>2008-05-01</dc:date>
</biol:Taxonomy>
</biol:hasTaxonomy>
</foaf:Person>
</rdf:RDF>
Here is an RDF description for a document that discusses the biological classification of cats. This should be contrasted against the next example, of a description for a document that discusses cats (i.e. the creatures, not the classification of them).
<rdf:RDF xml:lang="en-GB"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:biol="http://purl.org/NET/biol/ns#">
<foaf:Document rdf:about="http://example.org/taxonomy/cats">
<dc:title>The Taxonomy of Domestic Cats</dc:title>
<dc:subject>
<biol:Taxonomy>
<biol:name>Felis silvestris catus</biol:name>
<biol:commonName>domestic shorthair</biol:commonName>
</biol:Taxonomy>
</dc:subject>
<dc:abstract>Should domestic cats be classified as a subspecies
of the European wildcat, or as a separate species?</dc:abstract>
</foaf:Document>
</rdf:RDF>
Here is an RDF description for a document that discusses cats.
<rdf:RDF xml:lang="en-GB"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:biol="http://purl.org/NET/biol/ns#">
<foaf:Document rdf:about="http://example.org/animals/cats">
<dc:title>The Behaviour of Domestic Cats</dc:title>
<dc:subject rdf:parseType="Resource">
<biol:hasTaxonomy>
<biol:Taxonomy>
<biol:name>Felis silvestris catus</biol:name>
<biol:commonName>domestic shorthair</biol:commonName>
</biol:Taxonomy>
</biol:hasTaxonomy>
</dc:subject>
<dc:abstract>The cat is a small carnivorous species of crepuscular
mammal that is often valued by humans for its companionship and its
ability to hunt vermin.</dc:abstract>
</foaf:Document>
</rdf:RDF>
Here is a simple example in RDFa using the vocabulary to describe a relationship with a pet cat.
<p typeof="foaf:Person"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:biol="http://purl.org/NET/biol/ns#">
<span property="foaf:name">Toby Inkster</span> has a
<span rel="foaf:knows">
<span rel="biol:hasTaxonomy">
<span property="biol:commonName">cat</span>
</span>
called <span property="foaf:name">Mr d'Silva</span>
</span>.
</p>
Well-known URIs may be used to represent taxonomies. The following Turtle provides similar information to the example above but uses URIs.
_:tobyink foaf:name "Toby Inkster" ;
biol:hasTaxonomy <http://dbpedia.org/resource/Human> ;
foaf:knows _:mrdsilva .
_:mrdsilva foaf:name "Mr d'Silva" ;
biol:hasTaxonomy <http://dbpedia.org/resource/Cat> .
Thanks to the members of W3C Semantic Web Interest Group and RDF in XHTML Taskforce for their feedback and suggestions, especially to Richard Cyganiak.
![]() |