1   /*
2    *  OntoLexLR.java
3    *
4    *  Copyright (c) 1998-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, June 1991 (in the distribution as file licence.html,
9    *  and also available at http://gate.ac.uk/gate/licence.html).
10   *
11   *  Kalina Bontcheva, 23/February/2003
12   *
13   *  $Id: OntoLexLR.java,v 1.5 2005/01/11 13:51:36 ian Exp $
14   */
15  
16  package gate.lexicon;
17  
18  import java.util.List;
19  import java.util.Set;
20  
21  import gate.LanguageResource;
22  
23  /**
24   *
25   * <p>Title: OntoLexLR interface, GATE2 </p>
26   * <p>Description: This interface describes the mapping between ontological
27   * concepts/instances and lexical entries. Such mapping is needed to
28   * support language generation and also understanding that uses both lexicons
29   * of synonyms and other lexical info and an ontology of the domain.
30   * </p>
31   * <P> Developed for the purpose of the
32   * <a href="http://www.aktors.org/miakt/">MIAKT project</a>, February 2003.</P>
33   * <p>Copyright: Copyright (c) 2000</p>
34   * <p>Company: University Of Sheffield</p>
35   * @author Kalina Bontcheva
36   * @version 1.0
37   */
38  
39  public interface OntoLexLR extends LanguageResource {
40  
41    /** Returns a list of objects which are the concept IDs corresponding to
42     * the given lexical Id. A list is returned because there might be more than
43     * one such concept IDs. Null is returned if there is no corresponding
44     * concept ID.
45     */
46    public List getConceptIds(Object lexId);
47  
48    /** Returns a list of objects which are the lexical IDs corresponding to
49     * the given concept Id. A list is returned because there might be more than
50     * one such lexical IDs. Null is returned if there is no corresponding
51     * lexical ID.
52     */
53    public List getLexIds(Object conceptId);
54  
55    /** Returns a list of objects which are all lexical IDs in this mapping.
56     */
57    public Set getAllLexIds();
58  
59    /** Returns a list of objects which are all concept IDs in this mapping.
60     */
61    public Set getAllConceptIds();
62  
63    /** Add a concept<->lexical ID pair
64     */
65    public void add(Object conceptId, Object lexId);
66  
67    /** Remove all mappings to lexical items for the given concept Id
68     */
69    public void removeByConcept(Object conceptId);
70  
71    /** Remove all mappings to concept items for the given lexical Id
72     */
73    public void removeByLexId(Object lexId);
74  
75    /** Remove the given mapping
76     */
77    public void remove(Object conceptId, Object lexId);
78  
79    /**
80     * True if the mapping is empty
81     */
82    public boolean isEmpty();
83  
84    /**
85     * Clear the mapping
86     */
87    public void clear();
88  
89    /**
90     * Accessor for the lexical Id property. It
91     * specifies which lexicon is this mapping for
92     */
93    public Object getLexKBIdentifier();
94  
95    /**
96     * Set method for the lexical Id property. It
97     * specifies which lexicon is this mapping for
98     */
99    public void setLexKBIdentifier(Object lexId);
100 
101   /** Accessor for the ontology Id property */
102   public Object getOntologyIdentifier();
103 
104   /**
105    * Set method for the ontology Id property. It
106    * specifies which ontology is this mapping for
107    */
108   public void setOntologyIdentifier(Object ontoId);
109 }