Protege 5.2自定义“另存为...”文件格式

时间:2017-05-24 10:24:49

标签: protege owl-api

我通过扩展实现了owl-api 4.5.2的自定义存储渲染器: 的 AbstractOWLStorer
OWLStorerFactoryImpl
AbstractOWLRenderer
OWLDocumentFormatFactoryImpl
PrefixDocumentFormatImpl
OWLObjectVisitor
OWLClassExpressionVisitorAdapter

代码正在运行,但我现在想通过Protégé5.2中的“另存为...”对话框提供此格式。我已经使用插件示例代码作为指南,通过插件框架成功加载了代码。
我在插件工具菜单初始化调用

期间尝试在storer中挂钩
final OWLModelManager modelManager = getOWLModelManager();
OWLOntologyManager om = modelManager.getOWLOntologyManager();
om.getOntologyStorers().add(new mySyntaxStorerFactory());

这不起作用,因为我怀疑管理员不会持续存在,或者可能已经初始化了另存为对话框代码。
有一个更好的方法吗?也许是一个特定的插件类型来处理这个功能?我可以通过自定义工具菜单项实现导出本体功能。但是,我将更加整洁地包含在“另存为...”中。我还计划使用解析器来检索自定义格式的本体。是否有推荐的方法通过插件实现此功能?如果我在文档中的某个地方遗漏了这个,请道歉。

1 个答案:

答案 0 :(得分:0)

除了存储代码之外,您还需要OWLDocumentFormat的实现;但是,在您有机会手动注册格式之前,可以在Protege代码中初始化可用格式列表。

我假设您正在构建自己的OWLAPI jar以在Protege中部署,请检查' META-INF / services'的内容。文件夹 - 应该像其他商店那样提及你的商店。这保证了格式和存储器在创建后立即可供所有管理员使用。