Repository: any23
Updated Branches:
  refs/heads/master 6c7880825 -> d66e7dbb9


ANY23-148 Programmes Ontology and updated WO vocab


Project: http://git-wip-us.apache.org/repos/asf/any23/repo
Commit: http://git-wip-us.apache.org/repos/asf/any23/commit/d66e7dbb
Tree: http://git-wip-us.apache.org/repos/asf/any23/tree/d66e7dbb
Diff: http://git-wip-us.apache.org/repos/asf/any23/diff/d66e7dbb

Branch: refs/heads/master
Commit: d66e7dbb9da12416e526eb9b969641632c14f069
Parents: 6c78808
Author: Lewis John McGibbney <[email protected]>
Authored: Wed Apr 2 13:07:38 2014 +0100
Committer: Lewis John McGibbney <[email protected]>
Committed: Wed Apr 2 13:07:38 2014 +0100

----------------------------------------------------------------------
 .../java/org/apache/any23/vocab/Programme.java  | 372 ++++++++++++++
 .../main/java/org/apache/any23/vocab/WO.java    | 493 +++++++++++++++++--
 2 files changed, 812 insertions(+), 53 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/any23/blob/d66e7dbb/api/src/main/java/org/apache/any23/vocab/Programme.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/any23/vocab/Programme.java 
b/api/src/main/java/org/apache/any23/vocab/Programme.java
new file mode 100644
index 0000000..9e2a200
--- /dev/null
+++ b/api/src/main/java/org/apache/any23/vocab/Programme.java
@@ -0,0 +1,372 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.any23.vocab;
+
+import org.openrdf.model.URI;
+
+/**
+ * The <a href="http://purl.org/ontology/po/ ">Programmes Ontology</a> is aimed
+ * at providing a simple vocabulary for describing programmes.</p> 
+ * It covers brands, series (seasons), episodes, broadcast events, broadcast 
+ * services, etc. Its development was funded by the BBC, and is heavily 
grounded 
+ * on previous programmes data modeling work done there.</p>
+ * 
+ * @author lewismc
+ */
+public class Programme extends Vocabulary {
+
+  public static final String NS = "http://purl.org/ontology/po/";;
+
+  private static Programme instance;
+
+  public static Programme getInstance() {
+    if(instance == null) {
+      instance = new Programme();
+    }
+    return instance;
+  }
+
+  //Resources
+  /** A version holding an audio description. */
+  public final URI AudioDescribedVersion  = createClass(NS, 
"AudioDescribedVersion");
+
+  /** A brand, e.g. `Top Gea`r*/
+  public final URI Brand                = createClass(NS, "Brand");
+
+  /** 
+   * A broadcast event. Subsumes the event concept defined in the Event 
ontology.
+   * A broadcast is associated with a service, and with a particular version 
of an episode.
+   */
+  public final URI Broadcast          = createClass(NS, "Broadcast");
+
+  /**   An organization responsible of some broadcasting services.
+   * It can hold a set of services and outlets.
+   */
+  public final URI Broadcaster             = createClass(NS, "Broadcaster");
+
+  /** A category provides a way of classifying a set of programmes. 
+   * Such classifications can be performed according to multiple 
+   * dimensions and taxonomies, e.g. genre, format, places, people, subjects...
+   */
+  public final URI Category          = createClass(NS, "Category");
+
+  /** A physical channel on which a broadcast occurs.
+   * A single outlet or service can be associated with multiple channels.
+   * For example, Radio 4 LW broadcasts on Analogue Long Wave and on Digital
+   * Satellite.
+   */
+  public final URI Channel           = createClass(NS, "Channel");
+
+  /** A particular clip, e.g. `Clip of Top Gear, first series' */
+  public final URI Clip          = createClass(NS, "Clip");
+
+  /** 
+   * Digital Audio Broadcasting */
+  public final URI DAB         = createClass(NS, "DAB");
+
+  /** Digital Video Broadcasting*/
+  public final URI DVB           = createClass(NS, "DVB");
+
+  /** 
+   * A particular episode, e.g. `Top Gear, first episode of the first series' 
+   * or the film 'A Walk in the Sun' (http://www.bbc.co.uk/programmes/b00gfzdt)
+   */
+  public final URI Episode          = createClass(NS, "Episode");
+
+  /** The FM broadcast band */
+  public final URI FM           = createClass(NS, "FM");
+
+  /** Specifies a broadcast as being the first one of a particular version.*/
+  public final URI FirstBroadcast        = createClass(NS, "FirstBroadcast");
+  
+  /**  
+   * Anchor point for format taxonomies, similar to po:Genre for genre 
taxonomies.
+   * Instances of this concept include documentaries, talk shows, animation, 
etc.
+   */
+  public final URI Format        = createClass(NS, "Format");
+  
+  /**  
+   * An anchor point for a programmes' genre taxonomy, #
+   * e.g. 'Drama'/'Biographical'.*/
+  public final URI Genre        = createClass(NS, "Genre");
+  
+  /** IP Stream*/
+  public final URI IPStream        = createClass(NS, "IPStream");
+  
+  /** The AM broadcast band.*/
+  public final URI LW        = createClass(NS, "LW");
+  
+  /** Radio services aiming at a local coverage.*/
+  public final URI LocalRadio        = createClass(NS, "LocalRadio");
+  
+  /** Classification of an episode version's region corresponding to a 
+   * musical track being played..*/
+  public final URI MusicSegment        = createClass(NS, "MusicSegment");
+  
+  /** Radio services aiming at a national coverage.*/
+  public final URI NationalRadio        = createClass(NS, "NationalRadio");
+  
+  /** An `original' version, the legacy version of a particular episode.*/
+  public final URI OriginalVersion        = createClass(NS, "OriginalVersion");
+  
+  /** Outlet of a particular service, e.g. Radio 4 LW and FM for Radio 4.
+   * Outlets are services which do not have variations. The identity criteria 
+   * for an outlet is its timeline. For example, Radio 4 LW broadcasts on 
+   * Analogue Long Wave, but also on Digital Satellite. It corresponds to just 
+   * one outlet, as they are simulcasts. The two physical channels for 
+   * broadcasts correspond to po:Channel.*/
+  public final URI Outlet        = createClass(NS, "Outlet");
+  
+  /** A Person.*/
+  public final URI Person        = createClass(NS, "Person");
+  
+  /** A physical place.*/
+  public final URI Place        = createClass(NS, "Place");
+  
+  /** A programme, can either be a brand, a series or an episode.*/
+  public final URI Programme        = createClass(NS, "Programme");
+  
+  /** A programme that can have versions, and as such can be broadcast or 
+   * made available on-demand, e.g. a clip or an episode.*/
+  public final URI ProgrammeItem        = createClass(NS, "ProgrammeItem");
+  
+  /** Services that use a radio medium.*/
+  public final URI Radio        = createClass(NS, "Radio");
+  
+  /** Radio services aiming at a regional coverage.*/
+  public final URI RegionalRadio        = createClass(NS, "RegionalRadio");
+  
+  /** Specifies a broadcast as being a repeat.*/
+  public final URI RepeatBroadcast        = createClass(NS, "RepeatBroadcast");
+  
+  /** A season is a group of broadcasts.*/
+  public final URI Season        = createClass(NS, "Season");
+  
+  /** Classification of an episode version's region, e.g. 
+   * 'this track was played at that time'.*/
+  public final URI Segment        = createClass(NS, "Segment");
+  
+  /** A series, e.g. `Top Gear, first season'*/
+  public final URI Series        = createClass(NS, "Series");
+  
+  /** A broadcasting service. Instances of this concept include BBC Radio 
Wales, 
+   * BBC Radio 4, BBC News, etc. A service is a collection of outlets which 
+   * contain common material, but with some variations, e.g. by region.
+   * Hence, a service may have multiple outlets (po:Outlet), e.g. BBC Radio 4 
+   * has BBC Radio 4 LW and BBC Radio 4 FM. A hierarchy of services types is 
+   * defined within this ontology, e.g. radio and TV. A service that is a 
master 
+   * brand only (a service that only commissions programmes, e.g. BBC Switch) 
should
+   * be an instance of the top-level po:Service.*/
+  public final URI Service        = createClass(NS, "Service");
+  
+  /** A shortened version.*/
+  public final URI ShortenedVersion        = createClass(NS, 
"ShortenedVersion");
+  
+  /** Classification of an episode version's region holding speech content.*/
+  public final URI SpeechSegment        = createClass(NS, "SpeechSegment");
+  
+  /** Anchor point for subject taxonomies.*/
+  public final URI SignedVersion        = createClass(NS, "SignedVersion");
+  
+  /** A version holding sign language.*/
+  public final URI Subject        = createClass(NS, "Subject");
+  
+  /** Classification of an episode version's region corresponding to a 
subtitle being shown. */
+  public final URI Subtitle        = createClass(NS, "Subtitle");
+  
+  /** Services that use a television medium.*/
+  public final URI TV        = createClass(NS, "TV");
+  
+  /** A particular version of an episode.
+   * Such versions include shortened ones, audio described ones
+   * or ones that holds sign language.
+   * The version is associated to a timeline.*/
+  public final URI Version        = createClass(NS, "Version");
+  
+  /** Services that use a Web medium.*/
+  public final URI Web        = createClass(NS, "Web");
+
+  //Properties
+  /** Relates a programmes to one of its actors - a person who plays the 
+   * role of a character. */
+  public final URI actor                   = createProperty(NS, "actor");
+
+  /** A television reporter who coordinates a programme. */
+  public final URI anchor               = createProperty(NS, "anchor");
+
+  /** The aspect ration of a particular version.*/
+  public final URI aspect_ratio           = createProperty(NS, 
"aspect_ratio"); 
+
+  /** Relates a programme to its author - the person who created the content */
+  public final URI author                = createProperty(NS, "author");
+
+  /** Relates a particular broadcast to the version being broadcasted.
+   * Sub-property of the event:factor one.*/
+  public final URI broadcast_of              = createProperty(NS, 
"broadcast_of");
+
+  /** Relates a particular broadcast to the service or outlet on which it was 
on.
+   * Sub-property of the event:factor one. */
+  public final URI broadcast_on            = createProperty(NS, 
"broadcast_on");
+
+  /** Associates a service to a broadcaster. */
+  public final URI broadcaster                = createProperty(NS, 
"broadcaster");
+
+  /** Relates a programme to a particular category, e.g. genre, format, 
place...*/
+  public final URI category           = createProperty(NS, "category"); 
+
+  /**  Associates a service to a channel, e.g. Radio 4 LW to Radio 4 LW on
+   *  Analogue Long Wave.*/
+  public final URI channel               = createProperty(NS, "channel");
+
+  /** Associates a brand, a series or an episode to a clip.*/
+  public final URI clip                = createProperty(NS, "clip");
+
+  /** Relates a programme to one of its commentators */
+  public final URI commentator             = createProperty(NS, "commentator");
+
+  /** Relates a programmes to a person who is credited in it */
+  public final URI credit              = createProperty(NS, "credit");
+
+  /** Relates a programme to its supervisor. Generally refers to the person 
+   * responsible for all audience-visible components of a program, film, or 
show, 
+   * whereas the producer is responsible for the financial and other 
+   * behind-the-scenes aspects. A director's duties might also include 
casting, 
+   * script editing, shot selection, shot composition, and editing */
+  public final URI director                 = createProperty(NS, "director");
+
+  /** The duration of a version, in seconds. */
+  public final URI duration                 = createProperty(NS, "duration");
+
+  /** Associates a brand or a series to an episode constituting it.*/
+  public final URI episode               = createProperty(NS, "episode");
+
+  /** Relates a programme to its executive producer - a producer who is not 
involved 
+   * in any technical aspects of the making process, but who is still 
responsible 
+   * for the overall production. Typically an executive producer handles 
business and 
+   * legal issues */
+  public final URI executive_producer          = createProperty(NS, 
"executive_producer");
+
+  /** Relates a programme to a particular format (eg. `Animation', 
`Documentary', etc.).*/
+  public final URI format        = createProperty(NS, "format"); 
+
+  /** Associates a channel to its frequency */
+  public final URI frequency               = createProperty(NS, "frequency");
+
+  /** Relates a programme to a particular genre.*/
+  public final URI genre           = createProperty(NS, "genre"); 
+
+  /** Associates a service to a geographic location, aiming at capturing what 
+   * this service aims at covering.*/
+  public final URI location                   = createProperty(NS, "location");
+
+  /** A long synopsis of a serie, brand or episode. Sub-property of 
po:synopsis.*/
+  public final URI long_synopsis           = createProperty(NS, 
"long_synopsis"); 
+
+  /** Associates a programme with its masterbrand (its commissionner) */
+  public final URI masterbrand            = createProperty(NS, "masterbrand");
+
+  /** A medium synopsis of a serie, brand or episode. Sub-property of 
po:synopsis.*/
+  public final URI medium_synopsis             = createProperty(NS, 
"medium_synopsis");
+
+  /** Associates a programme to its microsite. For example 
+   * http://www.bbc.co.uk/programmes/b00fm04s and 
http://www.bbc.co.uk/eastenders/ */
+  public final URI microsite              = createProperty(NS, "microsite");
+
+  /** Relates a programme to its news reader */
+  public final URI news_reader             = createProperty(NS, "news_reader");
+
+  /** Associates a service to an outlet, e.g. Radio 4 to Radio 4 LW.*/
+  public final URI outlet             = createProperty(NS, "outlet");
+
+  /** Relates a series to a series constituting it (eg. `Waking the dead').*/
+  public final URI parent_series                 = createProperty(NS, 
"parent_series");
+
+  /** Relates a service to another service encapsulating it (eg. `BBC One' and 
`BBC One South')*/
+  public final URI parent_service                 = createProperty(NS, 
"parent_service");
+
+  /** Relates a programme to one of its participants */
+  public final URI participant   = createProperty(NS, "participant"); 
+
+  /** Relates a programme to an entertainer who performs a dramatic or musical 
work for audience */
+  public final URI performer                     = createProperty(NS, 
"performer");
+
+  /** Relates a programme to a person*/
+  public final URI person              = createProperty(NS, "person");
+
+  /** Relates a programme to a place (e.g. `London')*/
+  public final URI place       = createProperty(NS, "place"); 
+
+  /** The position of a particular series or episode within its containing 
programme. 
+   * This property can also be used to give the position of an interval 
+   * within the containing timeline. */
+  public final URI position               = createProperty(NS, "position");
+
+  /** Relates a programme to its producer - the manager of an event, show, 
+   * or other work, usually the individual in charge of finance, personnel, 
+   * and other non-artistic aspects in the development of commercials, 
+   * plays, movies, and other works */
+  public final URI producer                 = createProperty(NS, "producer");
+
+  /** The schedule date of a broadcast event.*/
+  public final URI schedule_date               = createProperty(NS, 
"schedule_date");
+
+  /** Associates a season to its constituent broadcasts */
+  public final URI season_broadcast               = createProperty(NS, 
"season_broadcast");
+
+  /** Associates a brand or a series to a series constituting it.*/
+  public final URI series                   = createProperty(NS, "series");
+  
+  /** Associate a brand, series or episode to the master brand service.*/
+  public final URI service                   = createProperty(NS, "service");
+  
+  /**   A short synopsis of a serie, brand or episode. Sub-property of 
po:synopsis.*/
+  public final URI short_synopsis                   = createProperty(NS, 
"short_synopsis");
+  
+  /** The sound format of a particular version.*/
+  public final URI sound_format                   = createProperty(NS, 
"sound_format");
+  
+  /** Relates a programme to a subject (e.g. `easter').*/
+  public final URI subject                   = createProperty(NS, "subject");
+  
+  /** Language of the subtitles emebedded in a particular version.*/
+  public final URI subtitle_language                   = createProperty(NS, 
"subtitle_language");
+  
+  /** The synopsis of a serie, brand or episode.*/
+  public final URI synopsis                   = createProperty(NS, "synopsis");
+  
+  /** Associates an episode to a particular tag. */
+  public final URI tag                   = createProperty(NS, "tag");
+  
+  /** Associates a subtitle event to the corresponding text. */
+  public final URI text                   = createProperty(NS, "text");
+  
+  /** Associates an episode's version or a version's segment with a temporal 
interval. 
+   * This interval can be associated with a timeline, serving as an anchor for 
+   * further temporal annotations, e.g. subtitles or played track.*/
+  public final URI time                   = createProperty(NS, "time");
+  
+  /** Associates a music segment with a track, as defined in MO. */
+  public final URI track                   = createProperty(NS, "track");
+  
+  /** Associate an episode to a version of it. Different versions of a same 
+   * episode can exist (shortened version, version designed for the hearing 
impaired, etc.). */
+  public final URI version                   = createProperty(NS, "version");
+
+  private Programme(){
+    super(NS);
+  }
+}

http://git-wip-us.apache.org/repos/asf/any23/blob/d66e7dbb/api/src/main/java/org/apache/any23/vocab/WO.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/org/apache/any23/vocab/WO.java 
b/api/src/main/java/org/apache/any23/vocab/WO.java
index 19cf79a..9f6f1ec 100644
--- a/api/src/main/java/org/apache/any23/vocab/WO.java
+++ b/api/src/main/java/org/apache/any23/vocab/WO.java
@@ -20,8 +20,13 @@ package org.apache.any23.vocab;
 import org.openrdf.model.URI;
 
 /**
- * This class models the <a href="http://purl.org/ontology/wo/";>BBC Wildlife 
Ontology</a>.
- *
+ * The <a href="http://purl.org/ontology/wo/";>Wildlife Ontology</a> 
vocabulary.</p>
+ * A simple vocabulary for describing biological species and related taxa. 
+ * The vocabulary defines terms for describing the names and ranking of taxa, 
+ * as well as providing support for describing their habitats, conservation 
status, 
+ * and behavioural characteristics, etc 
+ * 
+ * @author lewismc
  * @author Davide Palmisano ([email protected])
  */
 public class WO extends Vocabulary {
@@ -45,83 +50,465 @@ public class WO extends Vocabulary {
      */
     public final URI NAMESPACE = createURI(NS);
 
-    /**
-     * Generic class defining a biological species
+    ////////////////////////////////////////////////////////////////////
+    //CLASSES
+    ////////////////////////////////////////////////////////////////////
+    
+    /** An adaptation is any feature of an animal or plant which makes 
+     * it better suited for a particular habitat or to do a particular 
+     * task. For instance, being streamlined is an adaptation to swimming 
+     * fast and being able to survive on very little water is an 
+     * adaptation to life in the desert.*/
+    public final URI Adaption = createClass("Adaption");
+
+    /** Animal Intelligence or animal cognition is the title 
+     * given to a modern approach to the mental capacities of 
+     * non-human animals. It has developed out of comparative 
+     * psychology, but has also been strongly influenced by 
+     * the approach of ethology, behavioral ecology, and 
+     * evolutionary psychology.*/
+    public final URI Animal_Intelligence = createClass("AnimalIntelligence");
+    
+    /** Behavioural pattern describes an animal's dominant way of 
+     * life. Arboreal animals, for example, live in trees and 
+     * nocturnal animals are active at night.*/
+    public final URI BehaviouralPattern = createClass("BehaviouralPattern");
+    
+    /** A class is a scientific way to group related organisms 
+     * together, some examples of classes being jellyfish, 
+     * reptiles and sea urchins. Classes are big groups and 
+     * contain within them smaller groupings called orders, 
+     * families, genera and species.*/
+    public final URI Class = createClass("Class");
+    
+    /** A collection of resources, including documents, 
+     * multimedia files, programme clips and their associated .
+     * taxa, which aims to showcase a particular aspect of 
+     * natural history film-making, or illustrate aspects of 
+     * the natural world. A collection provides an alternate 
+     * way to organize content over and above the basic 
+     * taxonomic hierarchy.*/
+    public final URI Collection = createClass("Collection");
+    
+    /** Communication and senses are how an organism perceives 
+     * the world - for instance through scent or sight - and 
+     * how it sends messages or warnings to others.*/
+    public final URI CommunicationAdaption = 
createClass("CommunicationAdaption");
+    
+    /** Conservation status as described by the IUCN Red List. 
+     * Will typically have a number of properties including an 
+     * official IUCN status, population trend, and a year of assessment.*/
+    public final URI ConservationStatus = createClass("ConservationStatus");
+    
+    /** Ecosystem roles are about the part an animal or plant 
+     * plays in sustaining or maintaining the habitat around them. 
+     * Bees, for example, pollinate flowers, without which those 
+     * plants would not produce fruits or seeds. Other species, 
+     * such as dung beetles, play a vital role in keeping grasslands 
+     * clear of animal waste and recycling valuable resources.*/
+    public final URI EcosystemRole = createClass("EcosystemRole");
+    
+    /** Ecozones are a method of dividing up the Earth's surface. 
+     * Each ecozone is a large area that contains a number of 
+     * habitats, which are linked by the evolutionary history 
+     * of the animals and plants within them. For instance one 
+     * ecozone is Australasia, because its marsupials evolved 
+     * in isolation to mammals in the rest of the world.*/
+    public final URI Ecozone = createClass("Ecozone");
+    
+    /** Organisms that are adapted to extremes (known as Extremophiles) 
+     * are organisms that thrives in and even may require physically 
+     * or geochemically extreme conditions that are detrimental 
+     * to the majority of life on Earth.*/
+    public final URI ExtremesAdaptiation = createClass("ExtremesAdaptiation");
+    
+    /** A family is a scientific grouping of closely related organisms. 
+     * It has smaller groups, called genera and species, within it. A 
+     * family can have a lot of members or only a few. Examples of 
+     * families include the cats (Felidae), the gulls (Laridae) and 
+     * the grasses (Poaceae). Further Reading: 
+     * http://en.wikipedia.org/wiki/Family_%28biology%29
+     * http://www.bbc.co.uk/nature/family*/
+    public final URI Family = createClass("Family");
+    
+    /** Feeding habits describe the dominant diet of a particular 
+     * species or group of species, and how they go about obtaining it.*/
+    public final URI FeedingHabit = createClass("FeedingHabit");
+    
+    /** Freshwater habitats include bogs, ponds, lakes, rivers and streams. 
+     * About 3% of Earth's water is freshwater, but this includes the water 
+     * locked up in the ice caps and trapped in rocks and soil as groundwater. 
+     * Only a tiny fraction (0.014%) is surface water in the form of rivers, 
+     * lakes and swamps.*/
+    public final URI FreshwaterHabitat = createClass("FreshwaterHabitat");
+    
+    /** A genus is a scientific way of showing that species are very closed 
+     * related to each other. In fact the first word of the species' 
+     * scientific name is its genus. So for lions (Panthera leo), Panthera 
+     * is the genus and tells us that they are closely related to tigers 
+     * (Panthera tigris), because they share the name. Further Reading:
+     * http://en.wikipedia.org/wiki/Genus
+     * http://www.bbc.co.uk/nature/genus
+     * */
+    public final URI Genus = createClass("Genus");
+    
+    /** A habitat, or biome, is the type of environment in which plant 
+     * and animals live. Habitat is dictated by what kinds of plants 
+     * grow there, the climate and the geography. Rainforest, coral 
+     * reefs and the tundra are all habitats where particular kinds 
+     * of plants and animals might be found. Further Reading:
+     * http://en.wikipedia.org/wiki/Habitat
+     * http://www.bbc.co.uk/nature/habitats */
+    public final URI Habitat = createClass("Habitat");
+    
+    /** Infraorders are a subdivision of suborders - thus infraorders 
+     * are an intermediate rank of classification, that group together 
+     * related superfamilies and families. The tarsiers are a infraorder 
+     * of primates, containing a single extant family, whilst 
+     * shrimps (Caridea) are an example of an infraorder which 
+     * encompases many related superfamiles. Ceratopsia is the 
+     * infraorder that contains all the horned dinosaurs. Further Reading:
+     * http://en.wikipedia.org/wiki/Infraorder
+     * http://www.bbc.co.uk/nature/infraorder*/
+    public final URI Infraorder = createClass("Infraorder");
+    
+    /** Kingdoms are the major categories into which scientists 
+     * divide up all living things. The main kingdoms are animals, 
+     * plants, fungi and bacteria, although there are others. 
+     * Each kingdom has its own suite of defining characteristics - 
+     * for instance plants have rigid cell walls, whilst animals 
+     * do not. Further Reading: 
+     * http://en.wikipedia.org/wiki/Kingdom_%28biology%29
+     * http://www.bbc.co.uk/nature/kingdom*/
+    public final URI Kingdom = createClass("Kingdom");
+    
+    /** An organism's Life Cycle describes the stages in an 
+     * organisms development including metamorphosis, courtship 
+     * displays and parental care.*/
+    public final URI Lifecycle = createClass("Lifecycle");
+    
+    /** Locomotion is how an animal gets around - for instance by swimming, 
+     * flying or climbing.*/
+    public final URI LocomotionAdaption = createClass("LocomotionAdaption");
+    
+    /** Approximately 71% of the Earth's surface is covered by the oceans, 
+     * an area of some 223698816km/sq. Although marine life evolved around 
+     * three billion years before life on land, marine habitats are relatively 
+     * poorly studied and much of the ocean's depths remains unexplored.*/
+    public final URI MarineHabitat = createClass("MarineHabitat");
+    
+    /** Morphology is anything to do with what a plant or animal looks like - 
+     * its size, shape, colour or structure.*/
+    public final URI Morphology = createClass("Morphology");
+    
+    /** An order is a scientific way to categorise related organisms. 
+     * An order is a smaller grouping than a class, but bigger than 
+     * a family or genus. Examples of orders are willows, cockroaches 
+     * and primates. Further Reading: 
+     * http://en.wikipedia.org/wiki/Order_%28biology%29
+     * http://www.bbc.co.uk/nature/order*/
+    public final URI Order = createClass("Order");
+    
+    /** A phylum - also known as a division when referring to plants - 
+     * is a scientfic way of grouping together related organisms. 
+     * All the members of a phylum have a common ancestor and 
+     * anatomical similarities. For instance, all the arthropods 
+     * have external skeletons. Phlya are large groups and are 
+     * further subdivided into classes, orders, families and so on. 
+     * Further Reading: http://en.wikipedia.org/wiki/Phylum
+     * http://www.bbc.co.uk/nature/phylum*/
+    public final URI Phylum = createClass("Phylum");
+
+    /** Predation is catching and killing an animal in order to eat it. 
+     * The prey can be chased, ambushed or caught in a trap such as a 
+     * spider's web.*/
+    public final URI PredationStrategy = createClass("PredationStrategy");
+    
+    /** A category in the IUCN red list, 2001. Further Reading:
+     * 
http://www.iucnredlist.org/technical-documents/categories-and-criteria/2001-categories-criteria
      */
-    public final URI species = createProperty("species");
-
-    public final URI kingdomClass = createClass("Kingdom");
-
-    public final URI divisionClass = createClass("Division");
-
-    public final URI phylumClass = createClass("Phylum");
-
-    public final URI orderClass = createClass("Order");
-
-    public final URI genusClass = createClass("Genus");
-
-    public final URI classClass = createClass("Class");
-
+    public final URI RedListStatus = createClass("RedListStatus");
+    
+    /** Reproduction covers all the tactics and behaviours involved in 
obtaining 
+     * a mate, conceiving the next generation and successfully raising them. 
+     * It includes everything from plants being pollinated, to stags 
+     * fighting over hinds, to lionesses babysitting their sisters' cubs.*/
+    public final URI ReproductionStrategy = 
createClass("ReproductionStrategy");
+    
+    /** Social behaviour is all about how an animal interacts with members 
+     * of its own species. For instance, does it live in a colony or on 
+     * its own, does it fight to be top of the pecking order, or does 
+     * it try to keep strangers away from its home?*/
+    public final URI SocialBehaviour = createClass("SocialBehaviour");
+    
+    /** Generic class defining a biological species. Further Reading:
+     * http://en.wikipedia.org/wiki/Species
+     * http://www.bbc.co.uk/nature/species*/
+    public final URI Species = createClass("Species");
+    
+    /** Suborders are an intermediate classification rank - 
+     * an order can be split into many closely related suborders. 
+     * Suborders are therefore of lower rank than a order, but 
+     * higher than a infraorder or a family. All modern 
+     * snakes are placed within a suborder (Serpentes). 
+     * Theropoda is another suborder to which many 
+     * famous carnivorous dinosaurs belong. Further Reading:
+     * http://en.wikipedia.org/wiki/Suborder
+     * http://www.bbc.co.uk/nature/suborder*/
+    public final URI Suborder = createClass("Suborder");
+    
+    /** Subspecies are a rank of classification that is lower 
+     * than a species. The differences between subspecies are 
+     * less distinct than between species. Generally speaking 
+     * two subspecies can successfully interbreed but two species 
+     * cannot. If a subspecies can be shown to be different 
+     * enough, then it can be elevated to the status of species. 
+     * There are several subspecies of tiger (Panthera tigris) 
+     * including the Bengal tiger (Panthera tigris tigris), 
+     * Sumatran tiger (Panthera tigris sumatrae) and Siberian 
+     * tiger (Panthera tigris altaica). Further Reading:
+     * http://en.wikipedia.org/wiki/Subspecies
+     * http://www.bbc.co.uk/nature/subspecies*/
+    public final URI Subspecies = createClass("Subspecies");
+    
+    /** Superclass is an intermediate classification rank, or 
+     * grouping, that sits directly above a class, ranking 
+     * below a phylum or subphylum and containing one or more 
+     * classes. The tetrapods are a superclass encompasing the 
+     * amphibian, reptile, bird, mammal and dinosaur classes. 
+     * Further Reading: http://en.wikipedia.org/wiki/Superclass_(biology)
+     * http://www.bbc.co.uk/nature/superclass*/
+    public final URI Superclass = createClass("Superclass");
+    
+    /** Superfamilies are an intermediate classification rank, 
+     * or grouping, that is directly above a family. A 
+     * superfamily may contain one or more related families. 
+     * Dung beetles are a superfamily containing the stag, 
+     * bess and scarab beetle families. There is also a 
+     * superfamily of rodents (muroidea) containing six families 
+     * of rats, mice, hamsters and gerbils. Further Reading:
+     * http://en.wikipedia.org/wiki/Taxonomic_rank
+     * http://www.bbc.co.uk/nature/superfamily*/
+    public final URI Superfamily = createClass("Superfamily");
+    
+    /** Superorders are an intermediate classification rank or 
+     * grouping that sit directly above an order. A superorder 
+     * may contain several orders. Sharks are a good example of 
+     * a superorder, grouping together eight living orders of shark, 
+     * as well as, five extinct orders. Perhaps the most famous 
+     * superorder of them all is Dinosauria - the dinosaurs!
+     * Further Reading: http://en.wikipedia.org/wiki/Superorder
+     * http://www.bbc.co.uk/nature/superorder*/
+    public final URI Superorder = createClass("Superorder");
+    
+    /** Survival strategies include adaptations to changes in .
+     * the organisms environment, including: hibernation, abscission and 
migration.*/
+    public final URI SurvivalStrategy = createClass("SurvivalStrategy");
+    
+    /** A taxonomic name, describing the structure and provenance of a 
taxonomic name.*/
+    public final URI TaxonName = createClass("TaxonName");
+    
+    /** Generic concept for a taxonomic rank such as a Genus or Species.
+     * Further Reading: http://en.wikipedia.org/wiki/Taxonomic_rank
+*/
+    public final URI TaxonRank= createClass("TaxonRank");
+    
+    /** Terrestrial habitats include forests, grasslands, deserts 
+     * and rainforests. They are typically defined by factors such 
+     * as plant structure (trees and grasses), leaf types (eg broadleaf 
+     * and needleleaf), plant spacing (forest, woodland, savanna) and 
climate.*/
+    public final URI TerrestrialHabitat = createClass("TerrestrialHabitat");
+    
+    /** Tribes are a taxonomic rank that fall between family and genus. 
+     * Tribes can also be split in to smaller related groups called subtribes. 
+     * Tribes are mainly, but not always, used in botany to classify plants. 
+     * The true grass family is divided up into many subfamiles and then into 
+     * tribes, one of which is bamboo. The insect world also uses tribes 
+     * as a classification rank, for example, bombini is the tribe of 
bumblebees.
+     * Further Reading: http://en.wikipedia.org/wiki/Tribe_(biology)
+     * http://www.bbc.co.uk/nature/tribe*/
+    public final URI Tribe = createClass("Tribe");
+
+    //////////////////////////////////////////////////////////
+    //PROPERTIES
+    //////////////////////////////////////////////////////////
     /**
-     * A family is a scientific grouping of closely related organisms.
-     * It has smaller groups, called genera and species, within it.
-     * A family can have a lot of members or only a few.
-     * Examples of families include the cats (Felidae), the gulls (Laridae) 
and the grasses (Poaceae).
+     * associates a taxon rank with an adaptation which it displays 
      */
-    public final URI family = createClass("Family");
+    public final URI adaptation = createProperty("adaptation");
 
     /**
-     * associates a taxon rank with a family 
+     * associates a taxon rank with a class
      */
-    public final URI familyProperty = createProperty("family");
-
+    public final URI clazz = createProperty("class");
+    
     /**
-     * Used to specify the name of a family as part of a Taxon Name
+     * associates a taxon rank, habitat, species, clip with a collection of 
which it is a member
      */
-    public final URI familyName = createProperty("familyName");
+    public final URI collection = createProperty("collection");
 
     /**
-     * specifies the species part of a binomial name, allowing
-     * this portion of the name to be explicitly described.
-     * Therefore this property will typically only be used in TaxonNames
-     * associated with species. The property is largely provided as a 
-     * convenience to avoid applications having to parse the binomial name.
+     * associates a taxon rank with a description of a recent assessment of 
its conservation status
      */
-    public final URI speciesName = createProperty("speciesName");
+    public final URI conservationStatus = createProperty("conservationStatus");
 
     /**
-     * specifies the scientific name of a species, allowing
-     * this portion of the name to be explicitly described.
-     * Therefore this property will typically only be used in TaxonNames
-     * associated with species. The property is largely provided as a
-     * convenience to avoid applications having to parse the binomial name.
+     * associates a habitat, ecozone, or taxon rank with a map depicting its 
distribution or location
      */
-    public final URI scientificName = createProperty("scientificName");
+    public final URI distributionMap = createProperty("distributionMap");
 
-    public final URI kingdom = createProperty("kingdom");
-
-    public final URI phylum = createProperty("phylum");
+    /** indicates that a habitat or a taxon rank can be found within an 
ecozone */
+    public final URI ecozone = createProperty("ecozone");
 
-    public final URI order = createProperty("order");
+    /** associates a taxon rank with a family */
+    public final URI family = createProperty("family");
 
+    /** associates a taxon rank with a genus */
     public final URI genus = createProperty("genus");
+    
+    /** associates a taxon rank with a habitat in which it grows. 
+     * Sub-property of wo:habitat to be used for plants, fungi, etc */
+    public final URI growsIn = createProperty("growsIn");
 
-    public final URI division = createProperty("division");
+    /** associates a taxon rank with a habitat in which it may typically be 
found */
+    public final URI habitat = createProperty("habitat");
 
-    public final URI clazz = createProperty("class");
+    /** associates a taxon rank with a infraorder */
+    public final URI infraorder = createProperty("infraorder");
 
-    public final URI kingdomName = createProperty("kingdomName");
+    /** associates a taxon rank with a kingdom*/
+    public final URI kingdom = createProperty("kingdom");
 
-    public final URI phylumName = createProperty("phylumName");
+    /** associates a taxon rank with a habitat in which it lives. 
+     * Sub-property of wo:habitat to be used for members of the animal kingdom 
*/
+    public final URI livesIn = createProperty("livesIn");
 
-    public final URI orderName = createProperty("orderName");
+    /** associates a taxon rank with a taxon name */
+    public final URI name = createProperty("name");
 
-    public final URI genusName = createProperty("genusName");
-
-    public final URI divisionName = createProperty("divisionName");
+    /** associates a taxon rank with an order */
+    public final URI order = createProperty("order");
 
+    /** associates a taxon rank with a phylum */
+    public final URI phylum = createProperty("phylum");
+    
+    /** associates a Conservation Status with a category in the IUCN Red List*/
+    public final URI redListStatus = createProperty("redListStatus");
+    
+    /** associates a taxon rank with a species*/
+    public final URI species = createProperty("species");
+    
+    /** associates a taxon rank with a subspecies*/
+    public final URI subspecies = createProperty("subspecies");
+    
+    /** associates a taxon rank with a suborder*/
+    public final URI suborder = createProperty("suborder");
+    
+    /** associates a taxon rank with a superclass*/
+    public final URI superclass = createProperty("superclass");
+    
+    /** associates a taxon rank with a superfamily*/
+    public final URI superfamily = createProperty("superfamily");
+    
+    /** associates a taxon rank with a superorder*/
+    public final URI superorder = createProperty("superorder");
+    
+    /** associates a taxon rank with a tribe*/
+    public final URI tribe = createProperty("tribe");
+    
+    //////////////////////////////////////////////////////////////
+    //DATATYPE PROPERTIES
+    //////////////////////////////////////////////////////////////
+    
+    /** Used to specify the name of a class as part of a Taxon Name*/
     public final URI clazzName = createProperty("className");
-
+    
+    /** associates a formal taxon name with a common version. E.g. 
+     * Panthera leo might be associated with a common name of 'Lion'. 
+     * A given taxon name may have several common names*/
+    public final URI commonName = createProperty("commonName");
+    
+    /** Used to specify the name of a family as part of a Taxon Name*/
+    public final URI familyName = createProperty("familyName");
+    
+    /** specifies the genus part of a binomial name, allowing this 
+     * portion of the name to be explicitly described. Therefore this 
+     * property will typically only be used in TaxonNames associated 
+     * with species. The property is largely provided as a convenience 
+     * to avoid applications having to parse the binomial name.*/
+    public final URI genusName = createProperty("genusName");
+    
+    /** Used to specify the name of a infraorder as part of a Taxon Name*/
+    public final URI infraorderName = createProperty("infraorderName");
+    
+    /** Used to specify the name of a kingdom as part of a Taxon Name */
+    public final URI kingdomName = createProperty("kingdomName");
+    
+    /** Used to specify the name of an order as part of a Taxon Name */
+    public final URI orderName = createProperty("orderName");
+    
+    /** Used to specify the name of a phylum as part of a Taxon Name */
+    public final URI phylumName = createProperty("phylumName");
+    
+    /** provides some indication of the population trend associated with an 
+     * assessment of a taxon's conversation status. The value of this 
+     * property is a simple literal, and is recommended to be one of: 
+     * Decreasing, Increasing, Stable, Unknown.*/
+    public final URI populationTrend = createProperty("populationTrend");
+    
+    /** associates a taxon name with its formal scientific name. This 
+     * may be a binomial name (e.g. Panthera leo) in the case of a 
+     * species name, or a uninomial (e.g. Panthera) name in the case 
+     * of a name associated with another taxon rank. In formal 
+     * taxonomic naming conventions, the scientific name is often 
+     * qualified with the source of the name, e.g. Panthera leo (Linnaeus, 
1758).*/
+    public final URI scientificName = createProperty("scientificName");
+    
+    /** associates a short description with a Collection.*/
+    public final URI shortDescription = createProperty("shortDescription");
+    
+    /** specifies the species part of a binomial name, allowing this 
+     * portion of the name to be explicitly described. Therefore 
+     * this property will typically only be used in TaxonNames 
+     * associated with species. The property is largely provided 
+     * as a convenience to avoid applications having to parse the 
+     * binomial name.*/
+    public final URI speciesName = createProperty("speciesName");
+    
+    /** Used to specify the name of a suborder as part of a Taxon Name*/
+    public final URI suborderName = createProperty("suborderName");
+    
+    /** Used to specify the name of a subspecies as part of a Taxon Name*/
+    public final URI subspeciesName = createProperty("subspeciesName");
+    
+    /** Used to specify the name of a superspecies as part of a Taxon Name*/
+    public final URI superspeciesName = createProperty("superspeciesName");
+    
+    /** Used to specify the name of a superclass as part of a Taxon Name*/
+    public final URI superclassName = createProperty("superclassName");
+    
+    /** Used to specify the name of a superfamily as part of a Taxon Name*/
+    public final URI superfamilyName = createProperty("superfamilyName");
+    
+    /** Used to specify the name of a superorder as part of a Taxon Name*/
+    public final URI superorderName = createProperty("superorderName");
+    
+    /** a naming property, associating a formal taxonomic name with a Taxon 
+     * Name instance. This property is a parent of a number of sub-properties 
+     * that provide more specific terms for denoting names of families, phyla, 
+     * species, etc.*/
+    public final URI taxonomicName = createProperty("taxonomicName");
+    
+    /** description of the threat(s) that have been identified as part of 
+     * the assessment of the Conservation Status of a taxon*/
+    public final URI threatDescription = createProperty("threatDescription");
+    
+    /** Used to specify the name of a tribe as part of a Taxon Name*/
+    public final URI tribeName = createProperty("tribeName");
+    
+    /** the year in which the conservation status was assessed.*/
+    public final URI yearAssessed = createProperty("yearAssessed");
+    
     private URI createClass(String name) {
         return createClass(NS, name);
     }

Reply via email to