MCPcopy Index your code
hub / github.com/GateNLP/gate-core

github.com/GateNLP/gate-core @v9.0.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v9.0.1 ↗ · + Follow
8,279 symbols 27,548 edges 632 files 4,373 documented · 53%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GATE Developer (including GATE Embedded)

Javadocs

Note that this is our current development code, if you are looking for stable releases please visit https://gate.ac.uk/download/

See the user guide for more details

Building and Running from the Source Code

Requirements: * Java 8 or above * Maven 3.6.0 or above

To build the development version of gate-core: * clone this repository: git clone https://github.com/GateNLP/gate-core.git * change into the directory that has been created * compile the library and install into your local Maven cache: mvn install

After this you can run the GUI from the distro directory as appropriate to your platform (bin/gate.sh on Linux, open GATE.app on Mac, or run gate.exe on Windows). When you update (git pull), it's the same procedure.

Using Plugins

Plugins are no longer part of this gate-core repository - by default GATE will download its plugins from a Maven repository at runtime (the Central Repository for release versions of GATE, the GATE Maven repository for snapshots) so it is not necessary to build the plugins locally in order to use them.

Each plugin by the GATE team is in its own repository on GitHub (search https://github.com/GateNLP for "gateplugin"), to make changes to a plugin simply clone its repository, make your changes, then mvn install - GATE will prefer your locally built version over one from a remote repository with the same (SNAPSHOT) version number.

Setting up a classpath for a script or program

As GATE is distributed via Maven in most cases depending on the relevant release of GATE within your own Maven project should suffice. If, however, you need to depend, at compile time, on a SNAPSHOT version of GATE, or a plugin from the GATE team which has not yet been released to Maven central (either a SNAPSHOT or a release that can't be pushed to Central) then you will need to add the following to the pom.xml of your project.

<repositories>
   <repository>
      <id>gate-repo</id>
      <name>GATE Repo</name>
      <url>http://repo.gate.ac.uk/content/groups/public/</url>
      <layout>default</layout>
      <releases><enabled>true</enabled></releases>
      <snapshots><enabled>true</enabled></snapshots>
   </repository>
</repositories>

If you are not using Maven or need to provide the full classpath to a command line script then the ./distro directory inside the cloned source code repository contains a file gate.classpath after running mvn compile which contains the paths to all the JARs in the Maven cache that should be put on the classpath when using gate-core from a Java application that embeds GATE.

If GATE was installed using a pre-built distribution, then the distribution directory contains a ./lib directory with all the JAR files that should be included in the class path.

Extension points exported contracts — how you extend this code

LanguageAnalyser (Interface)
A special type of ProcessingResource that processes Documents [6 implementers]
src/main/java/gate/LanguageAnalyser.java
CorpusController (Interface)
Models the execution of groups of ProcessingResources on a given corpus. [7 implementers]
src/main/java/gate/CorpusController.java
TreeTableModel (Interface)
TreeTableModel is the model used by a JTreeTable. It extends TreeModel to add methods for getting information about the [11 …
src/main/java/gate/swing/TreeTableModel.java
CustomDuplication (Interface)
Interface which should be implemented by any Resource type which cannot be duplicated in the standard way (see {@link Fa [9 …
src/main/java/gate/creole/CustomDuplication.java
Weight (Interface)
Expert: Calculate query weights and build query scorers. A Weight is constructed by a query, given a Searcher ({@lin [6 …
src/main/java/gate/creole/annic/apache/lucene/search/Weight.java

Core symbols most depended-on inside this repo

add
called by 1789
src/main/java/gate/creole/annic/Indexer.java
get
called by 1439
src/main/java/gate/AnnotationSet.java
getInstance
called by 1119
src/main/java/gate/gui/MainFrame.java
equals
called by 819
src/main/java/gate/creole/ontology/OValue.java
size
called by 726
src/main/java/gate/creole/annic/apache/lucene/index/TermFreqVector.java
put
called by 654
src/main/java/gate/util/RBTreeMap.java
toString
called by 588
src/main/java/gate/creole/ontology/OValue.java
getName
called by 456
src/main/java/gate/util/NameBearer.java

Shape

Method 7,269
Class 870
Interface 134
Enum 6

Languages

Java100%

Modules by API surface

src/main/java/gate/gui/MainFrame.java256 symbols
src/main/java/gate/gui/LuceneDataStoreSearchGUI.java195 symbols
src/main/java/gate/gui/docview/AnnotationSetsView.java129 symbols
src/main/java/gate/gui/SerialControllerEditor.java98 symbols
src/main/java/gate/gui/NameBearerHandle.java89 symbols
src/main/java/gate/util/RBTreeMap.java88 symbols
src/main/java/gate/creole/ontology/Ontology.java88 symbols
src/main/java/gate/creole/ontology/DataType.java77 symbols
src/main/java/gate/corpora/DocumentImpl.java77 symbols
src/main/java/gate/annotation/CorpusAnnotationDiff.java76 symbols
src/main/java/gate/Gate.java69 symbols
src/main/java/gate/creole/Plugin.java67 symbols

For agents

$ claude mcp add gate-core \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact