我想从U / I管理的外部系统启动GATE。我不负责U / I开发。我需要知道是否可以使用两个管道在外部启动/初始化GATE。可以这样做吗?如果是这样,怎么样?
我想使用“Gate.init();”命令初始化/启动GATE,但是如何启动两个单独的管道?
提前致谢。
答案 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,则应该可以轻松配置两个不同的管道以在您的服务中使用。