Biol Vocab

Biological Taxonomy Vocabulary 0.2 (Core) #

Buzzword.org.uk Namespace 6 October 2008

This version:
http://purl.org/NET/biol/ns-20081006
(RDF Schema)
Latest version:
http://purl.org/NET/biol/ns
(RDF Schema)
Previous version:
http://purl.org/NET/biol/ns-20080513
(RDF Schema)
Editor:
Toby Inkster, Homo sapiens.

Abstract #

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. Specific versions of this vocabulary can be referenced using versioned URIs such as http://purl.org/NET/biol/ns-20080513#, but future versions aim to be backwards compatible, so it is generally better to use the unversioned URI.

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.

Table of Contents #


1. Classes #

1.1. biol:Taxonomy #

Sub-class of:rdfs:Class

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.

1.2. biol:ZooTaxonomy #

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.

1.3. biol:BotTaxonomy #

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.

2. Properties #

2.1. biol:hasTaxonomy #

Sub-property of:rdf:type
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.

2.2. biol:name #

Domain:biol:Taxonomy
Range:rdfs:Literal

A scientific name; a binomial or trinomial. For example, Homo sapiens.

2.3. biol:commonName #

Sub-property of:rdfs:label
Domain:biol:Taxonomy
Range:rdfs:Literal

A non-scientific name. For example, "Human".

2.4. biol:rank #

Sub-property of:ubio:taxonomicGroup
Domain:biol:Taxonomy
Range:rdfs:Literal

An unspecified classification. This should not normally be used.

2.5. biol:kingdom #

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.

2.6. biol:secondLevelClassification #

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.

2.7. biol:phylum #

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.

2.8. biol:division #

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.

2.9. biol:class #

Sub-property of:biol:rank
Domain:biol:Taxonomy
Range:rdfs:Literal

The third highest level of classification. For example Mammalia.

2.10. biol:order #

Sub-property of:biol:rank
Domain:biol:Taxonomy
Range:rdfs:Literal

The fourth highest level of classification. For example "Primates".

2.11. biol:family #

Sub-property of:biol:rank
Domain:biol:Taxonomy
Range:rdfs:Literal

The fifth highest level of classification. For example Hominidae.

2.12. biol:genus #

Sub-property of:biol:rank
Domain:biol:Taxonomy
Range:rdfs:Literal

The sixth highest level of classification. For example Homo.

2.13. biol:species #

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.

2.14. biol:seeAlso #

Sub-property of:rdfs:seeAlso
Domain:biol:Taxonomy
Range:rdfs:Resource

A link to another resource further describing this form of life.

2.15. biol:authority #

Domain:biol:Taxonomy
Range:rdfs:Literal

The authority who classified this form of life. For example "Linnaeus, 1758".

2.16. biol:morePrecise #

Sub-property of:the inverse of rdfs:subClassOf
Domain:biol:Taxonomy
Range:biol:Taxonomy

Connects a taxonomy to a more precise taxonomy. For example, the taxonomy "Mammal" might have a "more precise" property linking to "Primate". A more complete example.

3. Examples #

3.1. Basic Example #

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/#i">
        <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>

3.2. Extended Example #

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/#i">
        <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>

3.3. Document Describing a Taxonomy #

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>

3.4. Document Describing a Life Form #

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>

3.5. Simple RDFa Example #

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>

3.6. Using URIs as Identifiers for Taxonomies #

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

3.7. Taxonomies as Classes #

Taxonomies may be used as RDF classes.

_:tobyink a ex:HumanBeing; 
	foaf:name "Toby Inkster" .

ex:HumanBeing a biol:Taxonomy ;
	biol:name "Homo sapiens" .

Similarly, using an anonymous blank node:

_:tobyink foaf:name "Toby Inkster" ;
	a [ biol:name "Homo sapiens" ] .

3.8. Hierarchies of Taxonomies #

Hierarchies of taxonomies can be easily established using the biol:morePrecise predicate.

<rdf:RDF xml:lang="zxx"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:biol="http://purl.org/NET/biol/ns#"
  xml:base="http://example.org/apes">
  
    <biol:Taxonomy rdf:about="#Hominidae">
    
        <biol:commonName xml:lang="en">Great Ape</biol:commonName>
    
        <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:morePrecise>
            <biol:Taxonomy rdf:about="#Orangutan">
                <biol:commonName xml:lang="en">Orangutan</biol:commonName>
                <biol:genus>Pongo</biol:genus>
                <biol:morePrecise>
                    <biol:Taxonomy rdf:about="#BorneanOrangutan">
                        <biol:commonName xml:lang="en">Bornean orangutan</biol:commonName>
                        <biol:name>Pongo pygmaeus</biol:name>
                    </biol:Taxonomy>
                </biol:morePrecise>
                <biol:morePrecise>
                    <biol:Taxonomy rdf:about="#SumatranOrangutan">
                        <biol:commonName xml:lang="en">Sumatran orangutan</biol:commonName>
                        <biol:name>Pongo abelii</biol:name>
                    </biol:Taxonomy>
                </biol:morePrecise>
            </biol:Taxonomy>
        </biol:morePrecise>
    
        <biol:morePrecise>
            <biol:Taxonomy rdf:about="#Gorilla">
                <biol:commonName xml:lang="en">Gorilla</biol:commonName>
                <biol:genus>Gorilla</biol:genus>
                <biol:morePrecise>
                    <biol:Taxonomy rdf:about="#GorillaGorilla">
                        <biol:commonName xml:lang="en">Western gorilla</biol:commonName>
                        <biol:name>Gorilla gorilla</biol:name>
                    </biol:Taxonomy>
                </biol:morePrecise>
                <biol:morePrecise>
                    <biol:Taxonomy rdf:about="#GorillaGraueri">
                        <biol:commonName xml:lang="en">Eastern gorilla</biol:commonName>
                        <biol:name>Gorilla graueri</biol:name>
                    </biol:Taxonomy>
                </biol:morePrecise>
            </biol:Taxonomy>
        </biol:morePrecise>
    
        <biol:morePrecise>
            <biol:Taxonomy rdf:about="#Chimpanzee">
                <biol:commonName xml:lang="en">Chimpanzee</biol:commonName>
                <biol:genus>Pan</biol:genus>
                <biol:morePrecise>
                    <biol:Taxonomy rdf:about="#Chimp">
                        <biol:commonName xml:lang="en">Common chimpanzee</biol:commonName>
                        <biol:name>Pan troglodytes</biol:name>
                    </biol:Taxonomy>
                </biol:morePrecise>
                <biol:morePrecise>
                    <biol:Taxonomy rdf:about="#Bonobo">
                        <biol:commonName xml:lang="en">Bonobo</biol:commonName>
                        <biol:name>Pan paniscus</biol:name>
                    </biol:Taxonomy>
                </biol:morePrecise>
            </biol:Taxonomy>
        </biol:morePrecise>
        
        <biol:morePrecise>
            <biol:Taxonomy rdf:about="#Human">
                <biol:commonName xml:lang="en">Human</biol:commonName>
                <biol:name>Homo sapiens</biol:name>
            </biol:Taxonomy>
        </biol:morePrecise>
    
    </biol:Taxonomy>

</rdf:RDF>

These might then be used as:

<rdf:RDF xml:lang="en"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:biol="http://purl.org/NET/biol/ns#"
  xmlns:foaf="http://xmlns.com/foaf/0.1/"
  xmlns:ape="http://example.org/apes#">

    <ape:Human>
        <foaf:name>Alice Jones</foaf:name>
    </ape:Human>

    <foaf:Person>
        <foaf:name>Bob Smith</foaf:name>
        <biol:hasTaxonomy rdf:resource="http://example.org/apes#Human" />
    </foaf:Person>

    <ape:Bonobo>
        <foaf:name>Bobo</foaf:name>
    </ape:Bonobo>

</rdf:RDF>

A. References #

A.1. Informative References #

B. Changes #

C. Acknowledgments #

Thanks to the members of W3C Semantic Web Interest Group and RDF in XHTML Taskforce for their feedback and suggestions, especially to Richard Cyganiak.


Valid XHTML + RDFa Creative Commons Licence