1   /*
2    *  Relation.java
3    *
4    *  Copyright (c) 1998-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, June 1991 (in the distribution as file licence.html,
9    *  and also available at http://gate.ac.uk/gate/licence.html).
10   *
11   *  Marin Dimitrov, 16/May/2002
12   *
13   *  $Id: Relation.java,v 1.5 2002/05/30 09:54:17 marin Exp $
14   */
15  
16  package gate.wordnet;
17  
18  import java.util.*;
19  
20  import gate.*;
21  import gate.event.*;
22  
23  
24  /** Represents WordNet relation.
25   */
26  public interface Relation {
27  
28    /** !    Antonym (noun,verb,adjective,adverb) */
29    public static final int REL_ANTONYM = 10001;
30  
31    /** @    Hypernym (noun,verb)*/
32    public static final int REL_HYPERNYM = 10002;
33  
34    /** ~    Hyponym (noun,verb)*/
35    public static final int REL_HYPONYM = 10003;
36  
37    /** #m    Member holonym (noun)*/
38    public static final int REL_MEMBER_HOLONYM = 10004;
39  
40    /** #s    Substance holonym (noun)*/
41    public static final int REL_SUBSTANCE_HOLONYM = 10005;
42  
43    /** #p    Part holonym (noun)*/
44    public static final int REL_PART_HOLONYM = 10006;
45  
46    /** %m    Member meronym (noun)*/
47    public static final int REL_MEMBER_MERONYM = 10007;
48  
49    /** %s    Substance meronym (noun)*/
50    public static final int REL_SUBSTANCE_MERONYM = 10008;
51  
52    /** %p    Part meronym (noun)*/
53    public static final int REL_PART_MERONYM = 10009;
54  
55    /** =    Attribute (noun,adjective)*/
56    public static final int REL_ATTRIBUTE = 10010;
57  
58    /** *    Entailment (verb) */
59    public static final int REL_ENTAILMENT = 10011;
60  
61    /** >    Cause (verb)*/
62    public static final int REL_CAUSE = 10012;
63  
64    /** ^    Also see (verb,adjective)*/
65    public static final int REL_SEE_ALSO = 10013;
66  
67    /** $    Verb Group (verb)*/
68    public static final int REL_VERB_GROUP = 10014;
69  
70    /** <    Participle of verb (adjective)*/
71    public static final int REL_PARTICIPLE_OF_VERB = 10015;
72  
73    /** &    Similar to (adjective)*/
74    public static final int REL_SIMILAR_TO = 10016;
75  
76    /** \    Pertainym - pertains to noun (adjective)*/
77    public static final int REL_PERTAINYM = 10017;
78  
79    /** \    Derived from adjective (adverb)*/
80    public static final int REL_DERIVED_FROM_ADJECTIVE = 10018;
81  
82    /** returns the type of the relation - one of REL_XXX*/
83    public int getType();
84  
85    /** returns the inverse relation (Hyponym  <-> Hypernym, etc)*/
86    public int getInverseType();
87  
88    /** returns a label for the relation, e.g. "HYPERNYM" */
89    public String getLabel();
90  
91    /** returns a symbol for the relation, e.g. "@" */
92    public String getSymbol();
93  
94    /** checks if the relation is applicab;le to specific POS - see REL_XXX comments */
95    public boolean isApplicableTo(int pos);
96  
97  }
98  
99