1   /*
2    * ObjectProperty.java
3    *
4    * Copyright (c) 2002, 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   * Kalina Bontcheva 11/2003
14   *
15   *
16   *  $Id: ObjectProperty.java,v 1.5 2005/12/14 14:28:58 julien_nioche Exp $
17   */
18  package gate.creole.ontology;
19  
20  import java.util.Set;
21  
22  public interface ObjectProperty extends Property {
23    /**
24     * Returns the set of inverse properties for this property. Null if no such
25     * properties. The set contains objects of KBProperty instances.
26     * 
27     * @return a {@link Set} value.
28     */
29    public Set getInverseProperties();
30  
31    /**
32     * Set theInverse as inverse property to this property.
33     * 
34     * @param theInverse
35     */
36    public void setInverseOf(Property theInverse);
37  
38    /**
39     * @param instance
40     * @return true if this value is compatible with the range restrictions on the
41     *         property. False otherwise.
42     */
43    public boolean isValidRange(OInstance instance);
44  }