プラグイン開発¶
MR3 のプラグイン作成に関するクラス(net.sourceforge.mr3.plugin.MR3Pluginクラス)及びプラグインの作成方法について説明する.また,プラグインのサンプルを示す.
MR3 Pluginクラス¶
net.sourceforge.mr3.plugin.MR3Pluginクラス(以下,MR3Pluginクラス)は,abstract public void exec()抽象メソッドをもつ抽象クラスである.MR3 のプラグインを作成するには,MR3Pluginクラスを継承して,execメソッドをオーバーライドする.MR3Pluginクラスは,ユーティリティメソッドを提供する.プラグイン作成者は,MR3Pluginクラスが提供するユーティリティメソッドを用いることで,Jenaが提供するcom.hp.hpl.mesa.rdf.jena.model.Modelインタフェース(以下,Model)からMR3 のグラフへの変換とMR3 のグラフからJenaのModelを得ることが可能となる.以下に,ユーティリティメソッドを示す.(JavaDoc MR3Plugin)
- protected JDesktopPane getDesktopPane()
- JDesktopPaneを得る.内部ウィンドウを作成する際に用いる.
- protected void replaceRDFModel(Model model)
- Jenaが提供するModelを,MR3 のRDFグラフへ変換する.変換したRDFグラフを編集中のRDFグラフと置換する.
- protected void mergeRDFModel(Model model)
- Jenaが提供するModelを,MR3 のRDFグラフへ変換する.変換したRDFグラフを編集中のRDFグラフにマージする.
- protected void mergeRDFSModel(Model model)
- Jenaが提供するModelを,MR3 のRDFSグラフへ変換する.変換したRDFSグラフを編集中のRDFSグラフにマージする.
- protected void replaceProjectModel(Model model)
- Jenaが提供するModelを,MR3 のプロジェクトへ変換する.引数のModelは,MR3 のプロジェクトファイル.
- protected Model getRDFModel()
- MR3 のRDFグラフをJenaのModelに変換する.
- protected JGraph getRDFGraph()
- RDFエディタに描かれたグラフをorg.jgraph.JGraphオブジェクトとして得る.
- protected JGraph getClassGraph()
- クラスエディタに描かれたグラフをorg.jgraph.JGraphオブジェクトとして得る.
- protected JGraph getPorpertyGraph()
- プロパティエディタに描かれたグラフをorg.jgraph.JGraphオブジェクトとして得る.
- protected Model getSelectedRDFModel()
- 選択されているMR3 のRDFグラフをJenaのModelに変換する.
- protected Model getRDFSModel()
- MR3 のRDFSグラフをJenaのModelに変換する.
- protected Model getSelectedRDFSModel()
- 選択されているMR3 のRDFSグラフをJenaのModelに変換する.
- protected Model getClassModel()
- MR3 のクラスグラフをJenaのModelに変換する.
- protected Model getSelectedClassModel()
- 選択されているMR3 のクラスグラフをJenaのModelに変換する.
- protected Model getPropertyModel()
- MR3 のプロパティグラフをJenaのModelに変換する.
- protected Model getSelectedPropertyModel()
- 選択されているMR3 のプロパティグラフをJenaのModelに変換する.
- protected Model getProjectModel()
- プロジェクトをJenaのModelに変換する.
プラグイン作成方法¶
- MR3Pluginクラスのサブクラスを作り,public void exec()メソッドをオーバーライドする.
- マニフェストファイルに,プラグインクラス名とプラグイン名を以下のように記述し,プラグインクラスとマニフェストファイルをjarファイルでまとめる.(プラグインクラス名とプラグイン名は必須.creator, date, descriptionはオプション.)
Name: プラグインクラス名
plugin-name(or menu-name): プラグイン名
creator: 作者名
date: 更新日時
description: プラグインの説明
- 作成したjarファイルをMR3/pluginsディレクトリ(または,クラスパスの通ったディレクトリ)に置く.
ツールメニューの拡張機能を選択すると,プラグイン一覧を表示するダイアログが表示される.プラグイン一覧から実行したいプラグインを選択し,実行ボタンを押すと,プラグインクラスで実装したexecメソッドが実行される.
サンプルプラグイン¶
以下に,MR3 のプラグインの実例を示す.ここで示すプラグインは, MR3PluginSamples からダウンロードできる.
マニフェストファイル¶
Manifest-Version: 1.0
Name: net.sourceforge.mr3.plugins.samples.ReplaceRDFModelSample.class
menu-name: ReplaceRDFModelSample
creator: Takeshi Morita
date: 2004-01-24
description: Replace RDF Model Sample Program.
Name: net.sourceforge.mr3.plugins.samples.GetRDFModelSample.class
plugin-name: GetRDFModelSample
creator: Takeshi Morita
date: 2004-01-24
description: Get RDF Model Sample Program.
Name: net.sourceforge.mr3.plugins.samples.OpenProjectSample.class
plugin-name: OpenProjectSample
creator: Takeshi Morita
date: 2004-01-24
description: Open Project File Sample Program.
Name: net.sourceforge.mr3.plugins.samples.SelectNodesSample.class
plugin-name: SelectNodesSample
creator: Takeshi Morita
date: 2004-01-24
description: This plugin select mr3:a, mr3:b and mr3:c nodes.
Name: net.sourceforge.mr3.plugins.samples.GroupNodesSample.class
plugin-name: GroupNodesSample
creator: Takeshi Morita
date: 2003-12-23
description: This plugin group mr3:a, mr3:b and mr3:c nodes.
Name: org.semanticweb.mmm.mr3.owlPlugin.OWLImportPlugin.class
menu-name: OWLImportPlugin
creator: Takeshi Morita
date: 2004-01-24
description: This is owl import plugin.