ObjectProperty.java
01 /*
02  *  ObjectProperty.java
03  *
04  *  Niraj Aswani, 09/March/07
05  *
06  *  $Id: ObjectProperty.java 17530 2014-03-04 15:57:43Z markagreenwood $
07  */
08 package gate.creole.ontology;
09 
10 import java.util.Set;
11 
12 /**
13  * ObjectProperty is a sub type of the RDFProperty. This property takes
14  * a set of OClasses as its domain and range. The property can be then
15  * assigned to an instance, where the subject instance must belongs to
16  * all the OClasses (Transitive closure) specified in the domain and the
17  * object instance must belongs to all the OClass (Transitive Closure)
18  * specified in the range.
19  
20  @author Niraj Aswani
21  @author Johann Petrak
22  
23  */
24 @SuppressWarnings("deprecation")
25 public interface ObjectProperty extends RDFProperty {
26   /**
27    * Returns the set of inverse properties for this property. 
28    
29    @return {@link Set} of {@link ObjectProperty} value.
30    */
31   public Set<ObjectProperty> getInverseProperties();
32 
33   /**
34    * Set theInverse as inverse property to this property.
35    
36    @param theInverse
37    */
38   public void setInverseOf(ObjectProperty theInverse);
39 
40   /**
41    * Returns the set of domain restrictions for this property.
42    */
43   @Override
44   public Set<OResource> getDomain();
45 
46   /**
47    * Gets the set of range restrictions for this property.
48    
49    @return a set of {@link OClass} or {@link Class} objects.
50    */
51   @Override
52   public Set<OResource> getRange();
53 
54   /**
55    * Checks whether the provided instance is compatible with the range
56    * restrictions on the property.
57    
58    @param anInstance the Instance
59    @return true if this instance is compatible with the range
60    *         restrictions on the property. False otherwise.
61    */
62   public boolean isValidRange(OInstance anInstance);
63 
64   /**
65    * Checks whether the provided instance is compatible with the domain
66    * restrictions on the property.
67    
68    @param anInstance the Instance
69    @return true if this instance is compatible with the domain
70    *         restrictions on the property. False otherwise.
71    */
72   public boolean isValidDomain(OInstance anInstance);
73 
74 }