Revision: 17195
          http://sourceforge.net/p/gate/code/17195
Author:   markagreenwood
Date:     2013-12-20 12:49:03 +0000 (Fri, 20 Dec 2013)
Log Message:
-----------
I seem to be seriously procrastinating in order to avoid deliverable writing, 
really must knuckle down and stop finding other things to do :(

Modified Paths:
--------------
    userguide/trunk/api.tex
    userguide/trunk/language-creole.tex
    userguide/trunk/recent-changes.tex

Modified: userguide/trunk/api.tex
===================================================================
--- userguide/trunk/api.tex     2013-12-20 11:25:05 UTC (rev 17194)
+++ userguide/trunk/api.tex     2013-12-20 12:49:03 UTC (rev 17195)
@@ -973,61 +973,63 @@
 said to be co-referring.
 
 Starting with version $7.1$, GATE Embedded supports the representation of
-relations between annotations. Similar to the annotations, the relations are
-associated with a document, and are grouped in relation sets. Relation sets are
-obtained using their name. By convention, the {\em default} relations set
-corresponding to an annotation set has the same name as the annotation set.
-Consequently, the relation set for the default annotation set uses the value
-\lstinline!null! as its name. The actual relations data is stored as a 
specially
-named document feature. The classes supporting relations can be found in the
-\lstinline!gate.relations! package.
+relations between annotations. A relation set is associated with, and accssed 
via,
+an annotation set. All members of a relation must be either annotations from 
the
+associated annotation set or other relations within the same set.
+The classes supporting relations can be found in the \lstinline!gate.relations!
+package.
 
 A relation, as described by the \lstinline!gate.relations.Relation! interface,
 is defined by the following values:
 \begin{description}
+\item[id] a unique ID that identifies the relation. IDs for both relations and
+  annotations are generated from the same source, guaranteeing that not only is
+  the ID unique among the relations, but also among all annotations from the
+  same document.
 \item[type] a String value describing the type of the relation (e.g. {\em
  'coref'} for co-reference relations).
 \item[members] an \lstinline!int[]! array, containing the annotation IDs for 
the
   annotations referred to by the relation. Note that relations are not
   guaranteed to be symmetric, so the ordering in the members array is
   relevant.
+\item[featureMap] a FeatureMap that, like with Annotations, allows the storing
+  of an arbitary set of features for the relation.
 \item[userData] an optional Serializable value, which can be used to associate
-  any arbitrary data with a relation. 
+  any arbitrary data with a relation.
 \end{description}
 
 Relation sets are modelled by the \lstinline!gate.relations.RelationSet! class.
 The principal API calls published by this class include:
 \begin{itemize}
-\item 
-\lstinline!public static RelationSet getRelations(Document document, String 
name)!\\
-  Static factory method. Gets a relation set for the given document and a given
-  name. An arbitrary number of relation sets can be associated with a document,
-  but they all must have different names. By convention, the default relation
-  set associated with an annotation set bears the same name as the annotation
-  set. This can be obtained by calling the method described below. 
-\item \lstinline!public static RelationSet getRelations(AnnotationSet 
annSet)!\\
-  Static factory method. Gets the default relation set associated with a given
-  annotation set.
 \item \lstinline!public Relation addRelation(String type, int... members)!\\
   Creates a new relation with the specified type and member annotations. 
Returns
   the newly created relation object.
 \item \lstinline!public void addRelation(Relation rel)!\\
   Adds to this relation set an externally-created relation. This method is
-  provided to support hte use of custom implementations of the 
+  provided to support the use of custom implementations of the 
   \lstinline!gate.relations.Relation! interface.
 \item \lstinline!public boolean deleteRelation(Relation relation)! \\
-  Deletes the specified relation from this relation set.
-\item \lstinline!public List<Relation> getRelations(String type)!\\
+  Deletes the specified relation from this relation set. Any relations which
+  include this relation as a member will also be deleted (recursively) to
+  ensure the set remains internally consistent.
+\item \lstinline!public Collection<Relation> get()!\\
+  Returns all the relations within this set.
+\item \lstinline!public Relation get(Integer id)!\\
+  Returns the relation with the given ID.
+\item \lstinline!public Collection<Relation> getRelations(String type)!\\
   Gets all relations with the specified type contained in this relation set.
-\item \lstinline!public List<Relation> getRelations(int... members)!\\
+\item \lstinline!public Collection<Relation> getRelations(int... members)!\\
   Gets relations by members. Gets all relations with have the specified members
   on the specified positions. The required members are represented as an
   \lstinline!int[]!, where each required annotation ID is placed on its 
required
   position. For unconstrained positions, the constant value
   \lstinline!gate.relations.RelationSet.ANY! should be used.
 \item 
-\lstinline!public List<Relation> getRelations(String type, int... members)!\\
+\lstinline!public Collection<Relation> getRelations(String type, int... 
members)!\\
   Gets all relations with the specified type and members.
+\item \lstinline!public Collection<Relation> getReferencing(int id)!\\
+  Gets all the relations which reference an annotation or relation with the
+  specified ID.
 \item \lstinline!public int getMaximumArity()!\\
   Gets the maximum arity (number of members) for all relations in this relation
   set.
@@ -1049,7 +1051,7 @@
 // get the annotation set
 AnnotationSet annSet = doc.getAnnotations();
 // get the relations set
-RelationSet relSet = RelationSet.getRelations(annSet);
+RelationSet relSet = annSet.getRelations();
 // get all sentences
 AnnotationSet sentences = annSet.get(
     ANNIEConstants.SENTENCE_ANNOTATION_TYPE);

Modified: userguide/trunk/language-creole.tex
===================================================================
--- userguide/trunk/language-creole.tex 2013-12-20 11:25:05 UTC (rev 17194)
+++ userguide/trunk/language-creole.tex 2013-12-20 12:49:03 UTC (rev 17195)
@@ -190,6 +190,7 @@
 (coreference\_eval.gapp) and converting the output to a different
 format (ace-to-muse.gapp).
 
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 \subsect[sec:misc-creole:chineseSeg]{Chinese Word Segmentation}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -318,3 +319,10 @@
 components for part-of-speech tagging, morphological analysis and gazetteer
 lookup. A number of ready-made applications are also available which combine
 these resources together in a number of ways.
+
+\sect[sec:misc-creole:language-plugins:bulgarian]{Bulgarian Plugin}
+The Bulgarian plugin (\verb|Lang_Bulgarian|) containts a GATE PR which 
+integrates the \htlink{http://lml.bas.bg/~nakov/bulstem/index.html}{BulStem 
stemmer}
+into GATE. Currently no other Bulgarian specific PRs are available so
+the stemmer should be used with the Unicode tokenizer and a sentence splitter
+to process Bulgarian language documents.

Modified: userguide/trunk/recent-changes.tex
===================================================================
--- userguide/trunk/recent-changes.tex  2013-12-20 11:25:05 UTC (rev 17194)
+++ userguide/trunk/recent-changes.tex  2013-12-20 12:49:03 UTC (rev 17195)
@@ -21,6 +21,31 @@
 
 \rcSect[next-release]{Next Release}
 
+\rcSubsect{December 2013}
+
+The Relations API (Section \ref{sec:api:relations}) has been updated as
+relations are now treated as ``first-class citizens'' in a similar way to
+annotations. The major changes are that relation sets are now directly
+associated with an annotation set and can only contain relations between
+members of that set or other relations within the same set, and that
+relations are now handled separately when stored in a GATE XML document
+rather than being serialized as a document feature. There is currently
+no support for directly editing relations within GATE Developer (a simple
+viewer is provided as a tab in the document viewer), so relations can only
+be created via the API.
+
+The GATE XML version number has been pushed up to 3 (it was previously 2) as
+the saving of relations into the GATE XML files mean they cannot be opened with
+previous versions of GATE. Documents without relations are still saved in a
+backwards compatible format, but the change in version number will help with
+diagnosing bug reports etc.
+
+A new plugin to support processing Bulgarian text has been added. Currently 
this
+consists of a PR that integrates the
+\htlink{http://lml.bas.bg/~nakov/bulstem/index.html}{BulStem stemmer} using
+code kindly donated by Ivelina Nikolova. See Section
+\ref{sec:misc-creole:language-plugins:bulgarian} for full details.
+
 \rcSubsect{November 2013}
 
 A new plugin, \verb!Format_CSV!, provides support for populating a corpus from
@@ -38,6 +63,11 @@
   \verb|resources/schemas/ANNIE-Schemas.xml| file from within the ANNIE plugin.
 \end{itemize}
 
+The GATE source code has been restructured slightly to make the separation of
+the main and test code explicit. This ensures that no code can ever end up
+relying upon test code accidentally. Changes have also been made to the Eclipse
+project files to separate the core code from the plugins.
+
 \rcSubsect{September 2013}
 
 A number of changes have been made to the Groovy plugin:

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Rapidly troubleshoot problems before they affect your business. Most IT 
organizations don't have a clear picture of how application performance 
affects their revenue. With AppDynamics, you get 100% visibility into your 
Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro!
http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk
_______________________________________________
GATE-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gate-cvs

Reply via email to