Armin.Wegner | 29 Jun 13:25 2015



How to use log4j with UIMA? Specifying -Dlog4j.configuration=file:<path> and
-Dorg.apache.uima.logger.class=org.apache.uima.util.impl.Log4jLogger_impl on the VM command
line yields a lot of INFO message from a lot of *_impl classes I do not want to see. These messages are not
logged with java.util.logging.

Renaud Richardet | 26 Jun 10:23 2015

Ruta: delete some annotation whose text length is smaller than n?

How can I delete some annotation whose text length is smaller than n? I

MyAnnotation{IF((end-begin) < 2)->DEL};

but no luck so far. Thanks!
Richard Eckart de Castilho | 26 Jun 12:18 2015

UIMA twitter account owner?

Hi all,

I just found out there is a Apache UIMA twitter account:

But it looks abandoned. The Apache UIMA team is interested
in taking over the account.

Is the owner here?


-- Richard

Peter Klügl | 18 Jun 20:10 2015

Re: Marking cosnecutive tokens with RUTA


the Ruta descriptors are built twice in your project. Once in the normal 
phase and once during testing (don't know why).
The classpath of the two builds is different. In the second one, the 
imported type system can be found in the classpath, but not in the first 
one. In a normal mvn clean install, the descriptors are not yet built 
when they should be added to the jar. That's the reason why it works in 
Eclipse (no clean?), but not for a mvn clean install.

The simplest solution is to extend the descriptor paths so that the 
imported type system is found without the classpath:


btw, there are several duplicated files in the project, which 
potentially hide problems in the build process.



Am 18.06.2015 um 17:30 schrieb Diego Buoro:
> Hi Peter, thanks for the support.
> We are now using Java 7, but we are still facing problems. In Eclipse, 
> we've set manually the path where descriptor files are located 
(Continue reading)

Mario Gazzo | 14 Jun 14:37 2015

UIMAfit analysis descriptions appear to trim String configuration parameters

Using the new gapText parameter in UIMA Ruta HTMLConverter I noticed that the string is trimmed in the
pipeline aggregation process e.g. “   .   “ ends up as “.” in the pipeline and when writing the
pipeline to XML. I don’t think it has anything to do with the HTMLConverter in particular. We use UIMAfit
to construct the aggregated analysis engine description but I don’t know where this trimming exactly
occurs. I was also able to run a small example pipeline where the trim did not happen, which was a bit of a
surprise. Does anyone have an idea what could be the cause and whether its somehow controllable?

We use a branch of UIMAfit that fixed some resource binding issue and we are currently on commit
e9b32e30895443b9f93fef65453593dd1533c7d0 with UIMA 2.7.


Peter Klügl | 8 Jun 12:16 2015

[ANNOUNCE] Apache UIMA Ruta 2.3.0 released

The Apache UIMA team is pleased to announce the release of
Apache UIMA Ruta (Rule-based Text Annotation), version 2.3.0.

Apache UIMA Ruta is a rule-based script language supported by
Eclipse-based tooling. The language is designed to enable rapid
development of text processing applications within UIMA. A special focus
lies on the intuitive and flexible domain specific language for defining
patterns of annotations. The Eclipse-based tooling,
called the Apache UIMA Ruta Workbench, was created to support the
user and to facilitate every step when writing rules. Both
the rule language and the workbench integrate
smoothly with Apache UIMA.

Major Changes in this Release

This release requires an update of script projects and its descriptors
in the UIMA Ruta Workbench, e.g, by deleting all descriptors and
updating the script project. Right-click on a project and select "UIMA
Ruta -> Convert to UIMA Ruta project"

UIMA Ruta Language and Analysis Engine:
Requires Java 7
Maven Plugin for UIMA Ruta
Extensions and simplifications of the language (external resources,
null values, more syntactic sugar)
Improvements to Analysis Engines (RutaEngine, HtmlConverter)
More exemplary script projects
Many, many bug fixes

(Continue reading)

Diego Buoro | 26 May 19:49 2015

Marking cosnecutive tokens with RUTA

Hello guys,how are you doing?

I would like to know once i have called RUTA from a Java project, how can i
mark consecutive tokens as a "Problem" (the name of my annotation, in this

Thanks in advice!
Petr Baudis | 23 May 00:21 2015

CasCopier breakages in uimaj-2.7.0


  I'm trying to bring uimaj-2.7.0 to my code, but I'm hitting some
trouble with my CasCopier code:

  * alreadyCopied(FeatureStructure fs) is gone without an obvious
    replacement; it seems to me that

	alreadyCopied(((FeatureStructureImpl) fs).getAddress())

    is the correct replacement after digging somewhat at CasCopier
    source code, but is that even really right?  I guess this
    is a bug as that interface was public...

  * Even with the fix above, my code, e.g.

crashes with

	Caused by: java.util.ConcurrentModificationException
		at org.apache.uima.cas.impl.FSIndexRepositoryImpl$LeafPointerIterator.checkConcurrentModification(
		at org.apache.uima.cas.impl.FSIndexRepositoryImpl$LeafPointerIterator.ll_get(
		at org.apache.uima.cas.impl.FSIndexRepositoryImpl$LeafPointerIterator.get(
		at org.apache.uima.cas.impl.FSIteratorWrapper.get(
		at cz.brmlab.yodaqa.analysis.passextract.PassFilter.process(
		at org.apache.uima.analysis_component.JCasAnnotator_ImplBase.process(
		at org.apache.uima.analysis_engine.impl.PrimitiveAnalysisEngine_impl.callAnalysisComponentProcess(
(Continue reading)

Mario Gazzo | 22 May 16:59 2015

Injecting nested resources using UIMA fit

I have some trouble with initialising some nested resource with UIMA fit. I have followed the approach
described in the section “Resources implementing SharedResourceObject”. I just have a resource B
that uses resource A and a collection reader and a flow control that use both A and B but I get "mandatory
resource A not set on resource B” illegal state exception. I use the  <at> ExternalResource annotations to
get them injected and I used ExternalResourceFactory.bindExternalResource with A and B on the
collection reader and flow control descriptions when creating my aggregate. It works if B is not
dependent on A but as soon I add the dependency then it breaks. I also tried to explicitly use
ExternalResourceFactory.bindExternalResource on A to B but that caused null pointer exception in
ExternalResourceFactory when trying to bind to the collection reader right after.

I would appreciate any ideas about what I might be doing wrong.

Lothar Diefenbaker | 22 May 15:36 2015

Problem with Eclipse and UIMA

Hello Everyone,

 I recently become involved in a project with Apache UIMA. As I was totally
unfamiliar with it as I was to eclipse, so I started reading the
documentation from the very beginning and I try to follow the tutorials.
But a problem came up when I tried to configure Eclipse to work with UIMA.
I installed the UIMA plugins for eclipse from, I followed all the
steps in order to set it up, I added my UIMA_HOME to the Java Build Path in
Eclipse. I imported the uimaj-examples but I cannot run them, when I tried
to run any of the tools I get the Error: Could not find or load main class (for example this happens when I
tried to run the Annotation Viewer). I know this seems to be a path
problem, so I checked the build path of the project and it does includes
everything in my installation of UIMA, the lib is there with the jar of the
tools. My environment variables of %UIMA_HOME%, %JAVA_HOME% exist and they
hold as value the path of UIMA and JAVA respectively. I also included the
lib directory of uima to the %CLASSPATH%, and the bin and lib directories
of the uima to the %PATH%.

 I tried to make the tutorial of “My first Annotator”, I created the
project RoomNumberAnnotator and followed the tutorial step by step. But at
the end when I tried to test it with the UIMA CAS Visual Debugger again I
only got Error: Could not find or load main class since I cannot run the SDK tools from
eclipse. I ran from the CVD from the console and it worked, and I loaded
the analysis engine of RoomNumberAnnotator and it worked. Nevertheless I
still cannot make it work from eclipse.

 I looked for information about this and I didn't find much, which makes me
(Continue reading)

William Colen | 20 May 21:45 2015

Error using RUTA from Java


We have a Main RUTA script that imports a few children scripts, as follows:

PACKAGE cogroo.ruta;
> TYPESYSTEM BaseTypeSystem;
> IMPORT opennlp.uima.Token FROM TypeSystem AS cgToken;
> IMPORT opennlp.uima.Sentence FROM TypeSystem AS cgSentence;
> SCRIPT Crase;
> SCRIPT Base;
> Document{-> CALL(Base)};
> Document{-> CALL(Crase)};

All the scripts are in the root of the classpath.

We are trying to call it from Java, using the following code:

TypeSystemDescription tsd =
> TypeSystemDescriptionFactory.createTypeSystemDescription("MainTypeSystem"
> );
> URL url = Resources.getResource("Main.ruta");
> String scriptText = Resources.toString(url, Charsets.UTF_8);
> AnalysisEngineDescription aeDes =
> Ruta.createAnalysisEngineDescription(scriptText, tsd);
> AnalysisEngine ae = UIMAFramework.produceAnalysisEngine(aeDes);

 The error we are getting:

org.apache.uima.analysis_engine.AnalysisEngineProcessException: Annotator
> processing failed.
(Continue reading)