Protege 是斯坦福大学开发的一个本体建模工具,也是当前世界上最为流行的本体建模工具之一。Protege 采用java语言开发,其源代码对用户开放并且具有和Eclipse类似的插件管理机制,因此具有非常优秀的可扩充性。
本文介绍如何采用Eclipse开发一个基于Protege的Hello World 插件。
先决条件:
- 下载并安装Eclipse,本文中采用Eclipse 3.5;
- 下载并安装Protege, 本文采用的是Protege 3.4.4。
1. 打开Eclipse,新建一个java项目,名称为 HelloWorldPlugin,如下图所示。
- 2. 配置项目属性,在项目构建路径中加入protege.jar, looks.jar, 以及unicode_panel.jar这几个jar文件(在protege安装路径下可以找到)。如果需要用到owl API的话,还得加入protege-owl plugin 中所有的包,即在plugins 文件夹下面edu.stanford.smi.protegex.owl 插件中所有的jar文件。如下图所示。
3. 在src下面新建包com.example, 然后新建类HelloWorldTab, 该类继承于AbstractTabWidget,如下图所示。
4. 在类HelloWorldTab中输入以下代码,
其中,创建UI的代码可以有其它可视化设计器设计,这里推荐使用WindowBuilder,它可以直接识别AbstractTabWidget,并且可以方便的拖控件进行UI设计,如下图,
5. 在src下面创建manifest文件。新建文件夹META-INF,如图
然后再在这个文件夹下面新建文件MANIFEST.MF(必须大写),输入以下内容,
这里需注意的是最后必须留一空行。
6. 运行配置,如图,
在自变量页,工作目录选择其它,然后单击文件系统,选择protege安装位置,例如,我这里是D:\Program Files\Protege_3.4.4,如下图,
在VM 自变量中输入-Xmx500M,以防止内存过小导致加载较大的本体时出现内存泄露。
7. 运行程序,启动Protege,结果如图,任意打开一个本体项目,
8. 调用创建的插件,在Project->Configure..中打开插件配置对话框,可以发现HelloWorldPlugin出现在插件列表中,如图所示,
选中该插件前面的选项框,该插件将会出现在下面,
9. 发布插件。右击src->导出…,
打开对话框,选择java->jar,
点下一步,选择导出目标(位置),
下一步保持默认,再点下一步,选择从工作空间中使用现有清单,然后选择项目下面的MANIFEST.MF,
点完成,jar文件创建成功!
10. 测试插件,将该插件放到Protege安装路径下的plugins文件下,然后启动Protege,和第八步类似,调用创建的HelloWorldPlugin插件,结果如下图所示,表明插件安装成功。
本文介绍了一个极为简单的Protege插件创建过程。但是一个是个实用的插件,远远比此复杂,因此还需要结合具体问题进行更深入地研究。