如何将文本、注释等从groovy脚本提交到其他GATE插件?

如何将文本、注释等从groovy脚本提交到其他GATE插件?,groovy,gate,Groovy,Gate,我想创建如下的浇口管道: ... -> Plugin no.1 -> Groovy-Script -> Plugin no.2 -> ... 作为一名GATE初学者,我不知道如何从plugin no.1接收文档文本及其注释,以便将其读入我的groovy脚本。然后我想编辑给定的文档文本和/或用我的groovy脚本设置更多的注释-我如何将其提交给管道中的下一个插件 编辑:好的,现在我知道上面的问题不是我的问题。 我的脚本是这样开始的: public class MainAp

我想创建如下的浇口管道:

... -> Plugin no.1 -> Groovy-Script -> Plugin no.2 -> ...
作为一名GATE初学者,我不知道如何从plugin no.1接收文档文本及其注释,以便将其读入我的groovy脚本。然后我想编辑给定的文档文本和/或用我的groovy脚本设置更多的注释-我如何将其提交给管道中的下一个插件

编辑:好的,现在我知道上面的问题不是我的问题。 我的脚本是这样开始的:

public class MainApp {
    public static void main(String[] args) throws IOException {
        Gate.init();
        System.out.println(doc.getContent());
    }
}
但当我尝试将脚本加载到GATE中时,得到了“脚本编译失败”错误。我不明白,因为这个脚本

public class MainApp {
    public static void main(String[] args) throws IOException {
        System.out.println("hello");
    }
}
Gate.init();
System.out.println(doc.getContent());
这个剧本呢

public class MainApp {
    public static void main(String[] args) throws IOException {
        System.out.println("hello");
    }
}
Gate.init();
System.out.println(doc.getContent());
两者都有效。 (直到现在我才测试最后一个,这就是为什么我认为我做了一个错误的调用)

如中所述,在脚本PR运行的脚本中有许多预定义变量可用:

  • doc
    是当前正在处理的
    文档
  • inputAS
    是该文档中与
    inputASName
    运行时参数相对应的
    AnnotationSet
  • outputAS
    是该文档中与
    outputASName
    运行时参数相对应的
    AnnotationSet
您可以通过
doc.getContent()
读取文档内容,并使用修改文档内容,从
inputAS
读取先前PRs的注释,并在
outputAS
中为后续PRs创建注释

编辑:我认为您误解了脚本PR的期望-您不应该添加一个类主体,而应该添加一个脚本,即脚本文件应该只包含方法主体中的代码,而不包含周围的类和方法声明。您绝对不应该在脚本中调用
Gate.init()
——您的脚本将由Gate调用,每个文档调用一次。单行线:

println doc.getContent()

它本身就是PR的有效脚本,并且会在消息窗格中显示每个文档的文本内容。

您是指Groovy脚本PR(在
Groovy
插件中)还是指您是从独立的Groovy脚本调用GATE API?谢谢,我已经试过了,但放弃了它,因为它不起作用-就像你在我上面的编辑中看到的那样。@Munchkin
Gate.init()
肯定是错误的,有关详细信息,请参阅我的编辑。