DatatypeProperty.java
01 /*
02  *  DatatypeProperty.java
03  *
04  *  Niraj Aswani, 09/March/07
05  *
06  *  $Id: DatatypeProperty.java 17530 2014-03-04 15:57:43Z markagreenwood $
07  */
08 package gate.creole.ontology;
09 
10 import java.util.Set;
11 
12 /**
13  * Interface for datatype properties. Datatype properties have as range values
14  * datatype values (different from object properties which have instances as
15  * values). Values are Java objects.
16  *
17  @author Niraj Aswani
18  
19  */
20 @SuppressWarnings("deprecation")
21 public interface DatatypeProperty extends RDFProperty {
22 
23   /**
24    * Returns the set of domain restrictions for this property.
25    */
26   @Override
27   public Set<OResource> getDomain();
28 
29     
30   /**
31    * This method returns the DataType set for this property
32    */
33   public DataType getDataType();
34 
35   /**
36    * Checks whether the provided datatype value is compatible with the DataType
37    * restrictions on the property.
38    
39    @param value
40    *          the Value
41    @return true if this datatype value is compatible with the DataType restrictions on
42    *         the property. False otherwise.
43    */
44   public boolean isValidDataTypeValue(String value);
45 
46   /**
47    * Checks whether the provided instance is compatible with the domain
48    * restrictions on the property.
49    
50    @param anInstance
51    *          the Instance
52    @return true if this instance is compatible with the domain restrictions on
53    *         the property. False otherwise.
54    */
55   public boolean isValidDomain(OInstance anInstance);
56 
57 }