使用两个管道启动GATE

时间:2014-07-08 09:17:07

标签: initialization init pipeline gate

我想从U / I管理的外部系统启动GATE。我不负责U / I开发。我需要知道是否可以使用两个管道在外部启动/初始化GATE。可以这样做吗?如果是这样,怎么样?

我想使用“Gate.init();”命令初始化/启动GATE,但是如何启动两个单独的管道?

提前致谢。

1 个答案:

答案 0 :(得分:1)

如果你通过Gate.init()运行GATE,那么你可以轻松加载两个Controller对象:

CorpusController pipeline1 = (CorpusController) PersistenceManager.loadObjectFromFile(new File("savedState.xgapp"));

CorpusController pipeline2 = (CorpusController) PersistenceManager.loadObjectFromFile(new File("another.xgapp"));
Corpus corpus = Factory.newCorpus("web corpus");
pipeline1.setCorpus(corpus);
pipeline2.setCorpus(corpus); // I don't see why, but you may need two different corpora

然后你可以根据你的逻辑执行其中任何一个:

Document doc = Factory.newDocument("Text from my web form");
corpus.add(doc);

// if some condition
pipeline1.execute();

// remember to clean up resources:
corpus.clear();
Factory.deleteResource(doc);

但是,如果您正在进行网络应用,我建议您阅读this whole chapter并使用您方便的方式。

我个人更喜欢Spring应用程序,遵循the GATE training materials模块8中的示例。如果您熟悉Spring,则应该可以轻松配置两个不同的管道以在您的服务中使用。