View Javadoc

1   /*
2    * Licensed to the Apache Software Foundation (ASF) under one or more
3    * contributor license agreements.  See the NOTICE file distributed with
4    * this work for additional information regarding copyright ownership.
5    * The ASF licenses this file to You under the Apache License, Version 2.0
6    * (the "License"); you may not use this file except in compliance with
7    * the License.  You may obtain a copy of the License at
8    *
9    *  http://www.apache.org/licenses/LICENSE-2.0
10   *
11   * Unless required by applicable law or agreed to in writing, software
12   * distributed under the License is distributed on an "AS IS" BASIS,
13   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14   * See the License for the specific language governing permissions and
15   * limitations under the License.
16   */
17  
18  package org.apache.any23.vocab;
19  
20  import org.openrdf.model.URI;
21  
22  /**
23   * This class models the <a href="http://purl.org/ontology/wo/">BBC Wildlife Ontology</a>.
24   *
25   * @author Davide Palmisano (dpalmisano@gmail.com)
26   */
27  public class WO extends Vocabulary {
28  
29      /**
30       * The namespace of the vocabulary as a string.
31       */
32      public static final String NS = "http://purl.org/ontology/wo/";
33  
34      private static WO instance;
35  
36      public static WO getInstance() {
37          if(instance == null) {
38              instance = new WO();
39          }
40          return instance;
41      }
42  
43      /**
44       * The namespace of the vocabulary as a URI.
45       */
46      public final URI NAMESPACE = createURI(NS);
47  
48      /**
49       * Generic class defining a biological species
50       */
51      public final URI species = createProperty("species");
52  
53      public final URI kingdomClass = createClass("Kingdom");
54  
55      public final URI divisionClass = createClass("Division");
56  
57      public final URI phylumClass = createClass("Phylum");
58  
59      public final URI orderClass = createClass("Order");
60  
61      public final URI genusClass = createClass("Genus");
62  
63      public final URI classClass = createClass("Class");
64  
65      /**
66       * A family is a scientific grouping of closely related organisms.
67       * It has smaller groups, called genera and species, within it.
68       * A family can have a lot of members or only a few.
69       * Examples of families include the cats (Felidae), the gulls (Laridae) and the grasses (Poaceae).
70       */
71      public final URI family = createClass("Family");
72  
73      /**
74       * associates a taxon rank with a family 
75       */
76      public final URI familyProperty = createProperty("family");
77  
78      /**
79       * Used to specify the name of a family as part of a Taxon Name
80       */
81      public final URI familyName = createProperty("familyName");
82  
83      /**
84       * specifies the species part of a binomial name, allowing
85       * this portion of the name to be explicitly described.
86       * Therefore this property will typically only be used in TaxonNames
87       * associated with species. The property is largely provided as a 
88       * convenience to avoid applications having to parse the binomial name.
89       */
90      public final URI speciesName = createProperty("speciesName");
91  
92      /**
93       * specifies the scientific name of a species, allowing
94       * this portion of the name to be explicitly described.
95       * Therefore this property will typically only be used in TaxonNames
96       * associated with species. The property is largely provided as a
97       * convenience to avoid applications having to parse the binomial name.
98       */
99      public final URI scientificName = createProperty("scientificName");
100 
101     public final URI kingdom = createProperty("kingdom");
102 
103     public final URI phylum = createProperty("phylum");
104 
105     public final URI order = createProperty("order");
106 
107     public final URI genus = createProperty("genus");
108 
109     public final URI division = createProperty("division");
110 
111     public final URI clazz = createProperty("class");
112 
113     public final URI kingdomName = createProperty("kingdomName");
114 
115     public final URI phylumName = createProperty("phylumName");
116 
117     public final URI orderName = createProperty("orderName");
118 
119     public final URI genusName = createProperty("genusName");
120 
121     public final URI divisionName = createProperty("divisionName");
122 
123     public final URI clazzName = createProperty("className");
124 
125     private URI createClass(String name) {
126         return createClass(NS, name);
127     }
128 
129     private URI createProperty(String name) {
130         return createProperty(NS, name);
131     }
132 
133     private WO(){
134         super(NS);
135     }
136 
137 }