AnnotationGraph.java
01 /*
02  *  AnnotationGraph.java
03  *
04  *  Copyright (c) 1995-2012, The University of Sheffield. See the file
05  *  COPYRIGHT.txt in the software or at http://gate.ac.uk/gate/COPYRIGHT.txt
06  *
07  *  This file is part of GATE (see http://gate.ac.uk/), and is free
08  *  software, licenced under the GNU Library General Public License,
09  *  Version 2, June1991.
10  *
11  *  A copy of this licence is included in the distribution in the file
12  *  licence.html, and is also available at http://gate.ac.uk/gate/licence.html.
13  *
14  *  Hamish Cunningham, 19/Jan/2000
15  *
16  *  $Id: AnnotationGraph.java 17530 2014-03-04 15:57:43Z markagreenwood $
17  */
18 
19 package gate;
20 
21 /** NOT IN USE AT PRESENT. <P>Annotation graphs are defined at
22   * <A HREF=http://www.ldc.upenn.edu/annotation/>the LDC's annotation site</A>
23   */
24 public interface AnnotationGraph {
25 
26   /** find a node by ID */
27   public Node getNode(Long id);
28 
29   //  /** Greatest lower bound on an annotation: the greatest anchor in the AG
30   //    * such that there is a node with this anchor which structurally precedes
31   //    * the start node of annotation a. */
32   //  public Long greatestLowerBound(Annotation a);
33   //
34   //  /** Least upper bound on an annotation: the smallest anchor in the AG
35   //    * such that there is a node with this anchor is structurally preceded
36   //    * by the end node of annotation a. */
37   //  public Long leastUpperBound(Annotation a);
38   //
39   //  /** The set of annotations overlapping a */
40   //  public AnnotationGraph getOverlappingAnnotations(Annotation a);
41   //
42   //  /** The set of annotations included by a */
43   //  public AnnotationGraph getIncludedAnnotations(Annotation a);*/
44 
45   /** Get annotations by type */
46   public AnnotationGraph getAnnotations(String type);
47 
48   /** Get annotations by type and features */
49   public AnnotationGraph getAnnotations(String type, FeatureMap features);
50 
51   /** Get annotations by type and position. This is the set of annotations of
52     * a particular type which share the smallest leastUpperBound that is >=
53     * offset
54     */
55   public AnnotationGraph getAnnotations(String type, Long offset);
56 
57   /** Get annotations by type, features and offset */
58   public AnnotationGraph getAnnotations(String type, FeatureMap features,
59           Long offset);
60 
61   /** Creates a new node with the offset offset
62     @param offset the offset in document where the node will point
63     */
64   public Node putNodeAt(Long id, long offset)
65     throws gate.util.InvalidOffsetException;
66 
67   /** Returns the Id of the annotation graph*/
68   public Long getId();
69 
70   public Annotation newAnnotation(Long id, Node start, Node end, String type);
71 
72   public Annotation newAnnotation(Long id,long start, long end, String type);
73 
74 // interface AnnotationGraph