| OntologyResource.java |
1 /*
2 * OntologyResource.java
3 *
4 * Copyright (c) 2005, The University of Sheffield.
5 *
6 * This file is part of GATE (see http://gate.ac.uk/), and is free
7 * software, licenced under the GNU Library General Public License,
8 * Version 2, June1991.
9 *
10 * A copy of this licence is included in the distribution in the file
11 * licence.html, and is also available at http://gate.ac.uk/gate/licence.html.
12 *
13 * Valentin Tablan 15-Sep-2005
14 *
15 *
16 * $Id$
17 */
18 package gate.creole.ontology;
19
20 import java.util.List;
21 import java.util.Set;
22
23 /**
24 * This is the top level interface for all ontology resources such as classes,
25 * instances and properties.
26 */
27 public interface OntologyResource {
28 /**
29 * Gets the URI of the resource.
30 *
31 * @return the URI.
32 */
33 public String getURI();
34
35 /**
36 * Sets the URI of the resource.
37 *
38 * @param theURI
39 * the new URI to be set
40 */
41 public void setURI(String theURI);
42
43 /**
44 * Gets the comment of the resource.
45 *
46 * @return the comment of the resource
47 */
48 public String getComment();
49
50 /**
51 * Sets the resource comment.
52 *
53 * @param aComment
54 * the comment to be set.
55 */
56 public void setComment(String aComment);
57
58 /**
59 * Gets resource name.
60 *
61 * @return the name of the resource.
62 */
63 public String getName();
64
65 /**
66 * Sets the resource name.
67 *
68 * @param aName
69 * the new name of the resource.
70 */
71 public void setName(String aName);
72
73 /**
74 * Gets the ontology to which the resource belongs.
75 *
76 * @return the ontology to which the resource belongs
77 */
78 public Ontology getOntology();
79
80 /**
81 * Gets the taxonomy to which the resource belongs.
82 *
83 * @return the taxonomy to which the resource belongs
84 */
85 public Taxonomy getTaxonomy();
86
87 /**
88 * Adds a new property with the given name and value.
89 *
90 * @param propertyName
91 * the name of the property
92 * @param theValue
93 * the value for the property
94 * @return <tt>true</tt> if the property name is valid for this type of
95 * instance and the new value has been added, <tt>false</tt>
96 * otherwise.
97 */
98 public boolean addPropertyValue(String propertyName, Object theValue);
99
100 /**
101 * Gets the list of values for a given property name.
102 *
103 * @param propertyName
104 * the name of the property
105 * @return a List of values.
106 */
107 public List getPropertyValues(String propertyName);
108
109 /**
110 * Removes one of the values for a given property.
111 *
112 * @param propertyName
113 * the name of the property
114 * @param theValue
115 * the value to be removed.
116 * @return <tt>true</tt> if the value was found and removed, <tt>false</tt>
117 * otherwise.
118 */
119 public boolean removePropertyValue(String propertyName, Object theValue);
120
121 /**
122 * Removes all values for a named property.
123 *
124 * @param propertyName
125 * the property name.
126 */
127 public void removePropertyValues(String propertyName);
128
129 /**
130 * Gets the names of the properties that have set values for this instance.
131 *
132 * @return a set of String values.
133 */
134 public Set getSetPropertiesNames();
135 }
136