Code samples for module 5
Code samples from module 5, in a form that can be copied and pasted more easily than from the PDFs.
1. Introduction to GATE Embedded
Exercise 2 (slide 8/9)
package module5; import gate.*; import gate.gui.*; import javax.swing.SwingUtilities; public class Main { public static void main(String... args) throws Exception { Gate.init(); SwingUtilities.invokeAndWait(() -> MainFrame.getInstance().setVisible(true)); Factory.newDocument("This is a document"); } }
Slide 22 - creating a doc (take 3)
FeatureMap params = Factory.newFeatureMap(); params.put( Document.DOCUMENT_STRING_CONTENT_PARAMETER_NAME, "This is a document!"); FeatureMap feats = Factory.newFeatureMap(); feats.put("createdBy", "me!"); Factory.createResource("gate.corpora.DocumentImpl", params, feats, "My first document");
Slide 25 - Exercise 2
import gate.*; import java.net.URL; import java.util.Date; import javax.swing.SwingUtilities; public class Main { public static void main(String[] args) throws Exception{ // prepare the library Gate.init(); // show the main window SwingUtilities.invokeAndWait(() -> MainFrame.getInstance().setVisible(true)); // init-time parameter for document FeatureMap params = Factory.newFeatureMap(); params.put(Document.DOCUMENT_URL_PARAMETER_NAME, new URL("https://www.gate.ac.uk")); params.put(Document.DOCUMENT_ENCODING_PARAMETER_NAME, "UTF-8"); // document features FeatureMap feats = Factory.newFeatureMap(); feats.put("date", new Date()); Factory.createResource("gate.corpora.DocumentImpl", params, feats, "This is home"); } }
Slide 34 - Exercise 3
Follows on from Exercise 2 - save the return value of createResource
Document doc = (Document)Factory.createResource(....); // obtain a map of all named annotation sets Map<String, AnnotationSet> namedASes = doc.getNamedAnnotationSets(); System.out.println("No. of named Annotation Sets:" + namedASes.size()); // no of annotations each set contains for (String setName : namedASes.keySet()) { // annotation set AnnotationSet aSet = namedASes.get(setName); // no of annotations System.out.println("No. of Annotations for " + setName + ":" + aSet.size()); // all annotation types Set<String> annotTypes = aSet.getAllTypes(); for(String aType : annotTypes) { System.out.println(" " + aType + ": " + aSet.get(aType).size()); } }
Slide 37 - Exercise 4
// obtain the Original markups annotation set AnnotationSet origMarkupsSet = doc.getAnnotations("Original markups"); // obtain annotations of type 'a' AnnotationSet anchorSet = origMarkupsSet.get("a"); // iterate over each annotation // obtain its features and print the value of href feature for (Annotation anchor : anchorSet) { String href = (String) anchor.getFeatures().get("href"); if(href != null) { // resolving href value against the document's url System.out.println(new URL(doc.getSourceUrl(), href)); } }