第3回 FIBO Ontology Management ーProtege について

 1.Protegeでできること(W3Cより)

Protégéは、オープンソースの無料のオントロジーエディタであり、知識ベースのフレームワークです。Protégéプラットフォームは、Protégé-FramesおよびProtégé-OWLエディタを介してオントロジーをモデル化する2つの主要な方法をサポートしています。Protégéオントロジーは、RDFRDFSOWLXML Schema などのさまざまな形式にエクスポートできます。

ProtégéはJavaに基づいており、拡張性があり、ラピッドプロトタイピングとアプリケーション開発の柔軟な基盤となるプラグアンドプレイ環境を提供します。例は、OWLのためのビジュアルエディタ(OWLViz呼ばれる)へのバックエンドストレージ、ならびにOWL-Sプラグイン Webサービスの編集OWL-Sのためにいくつかの特殊な機能を提供。

 Protege-OWL 4.0 - Protege Wiki

  • Desktop版 OntGraf Protégé Desktop 5.0 Beta intro

  OntoGraf - Protege Wiki

  • Desk top版 SPARQLによる検索機能

  SPARQL 1.1 Overview

<PLug in 機能の主なもの>  

①VOWL

Protégé(ProtégéVOWL)のVOWLプラグインは、OWLオントロジー(VOWL)のビジュアル表記法を大幅に実装しています。 VOWLは、Web Ontology Language(OWL)の要素を、オントロジーを表すグラフレイアウトと組み合わせて、グラフィカルに表示します。

②ProtegeLOV

このプラグインは、既存の語彙を低レベルで再利用してオントロジーの開発を容易にするために、リンクオープンデータ(LOV)カタログで関連する語彙を検索するために使用されます。 このツールは、LODクラウドで使用されるオントロジのモデリングと再利用を改善するのに役立ちます。

 ③DL-Learner Plugin

 オントロジーの既存のインスタンスに基づいて定義とスーパークラスのaxiomsを学習できます。

 ④FaCT++ reasoner

FaCT ++は表現力豊かな記述論理(DL)のための、台詞ベースの推論器です。 これは、OWLとOWL 2(DLベースのオントロジー言語)を対象としています。 これは、スタンドアロンのDIGリスナーとして、またはOWL APIベースのアプリケーションのバックエンドの推論として使用できます。 これは、Protect 4 OWLエディタのデフォルトの推論ツールの1つとして使用されます。

http://owl.cs.manchester.ac.uk/tools/fact/

⑤Pellet

 ペレットは、オープンソースJavaベースのOWL 2推論ツールです。 JenaとOWL APIライブラリの両方と併用することができます。 他のアプリケーションにも含めることができます。 ペレットは、OWL 2 ELを含むOWL 2プロファイルのサポートを含みます。 これは、名詞、結合的な質問応答、および増分的な推論の最適化を組み込んでいます。

Protege Wiki

https://protege.stanford.edu/publications/ontology_development/ontology101.pdf

ProtegeDesktopUserDocs - Protege Wiki

 

2.Web Protegeでできること

 機能的には Desktopでできることはほとんど可能。

 ただし、Plugin機能を利用できません。

WebProtégé

  • OWL 2オントロジーの編集のサポート
  • 一般的に使用されるOWL構文へのアクセスを提供するデフォルトの単純編集インタフェース
  • フルチェンジトラッキングと改訂履歴
  • コラボレーションツール(共有や権限、スレッドノートやディスカッション、時計、電子メール通知など)
  • カスタマイズ可能なユーザーインターフェイス
  • アプリケーション/ドメイン固有の編集のためのカスタマイズ可能なWebフォーム
  • OBOオントロジーの編集のサポート
  • オントロジー(サポートされているフォーマット:RDF / XML、Turtle、OWL / XML、OBOなど)のアップロードとダウンロードのための複数のフォーマット

 3.主要機能(Desktopメニューより)

File Menu

f:id:William0105:20180729065111p:plain

 

  Menu 内容 Short cut
File
     
  New... 現在のワークスペースまたは新しいワークスペースに新しいオントロジーを作成する Shift-Ctrl-N
  Open... オントロジー(およびそのインポート)をファイルから現在または新しいワークスペースに開く Ctrl-O
  Open recent 最近作業したオントロジを現在または新しいワークスペースに開く  
  Open from URI... オントロジーをWebから現在のワークスペースまたは新しいワークスペースに開く Shift-Ctrl-O
  Save... 変更されたオープンオントロジを保存する Ctrl-S
  Save as... 現在アクティブなオントロジーを新しいオントロジーとして保存する Shift-Ctrl-S
  Gather Ontologies... 開いているすべてのオントロジを1つのフォルダに保存します(Webまたは他のライブラリから開いたオントロジーに便利です) Shift-Ctrl-G
  Export inferred axioms as ontology... 分類後、推論された階層をオントロジーとして保存する。現在のオントロジソースファイルは影響を受けず、開いているオントロジーの保存状態は保持されます。  
  Ontology Libraries... 共通に使用される共有オントロジーの場所を管理する Ctrl-L
  Loaded ontology sources... ロードされたオントロジーの要約を表示して、物理的な位置を示し、リロード、クローズ、ソースへの移動などのいくつかのアクションを許可する  
  Preferences... Protegeの動作を設定する Ctrl-,
  Check for plugins... 自動更新を使用して、新しいプラグインや既存のプラグインの更新を検索する  
  Close アクティブなワークスペースを閉じ、ウェルカムウィンドウに戻ります。 Ctrl-W
       

 

f:id:William0105:20180729071158p:plain

  Menu 内容 Short cut
Edit
     
  Undo   Ctrl-Z
  Redo   Shift-Ctrl-Z
  Cut   Ctrl-X
  Copy   Ctrl-C
  Paste   Ctrl-V
  Delete... フォーカスを当てたビューで最後に選択した要素を削除します。これがクラス/プロパティツリーまたは個々のリストのいずれかのエンティティである場合、このエンティティを参照するすべてのステートメントを削除します。これが記述ビューのアサーションであれば、そのアサーションオントロジーから取り除く。 Ctrl-Backspace
  Find in view 現在アクティブなビュー(現在フォーカスを持っているビュー - しばしば最後に使用されたビュー)で名前の検索を実行します。 Ctrl-F
  Create New アクティブなビューに依存する型の新しいエンティティを作成する Ctrl-N
  Create Child アクティブなビューで現在の選択項目のサブクラス/サブプロパティを作成します。 Ctrl-\
  Create Sibling 現在の選択の親のサブクラス/サブプロパティをアクティブビューで作成します(実際の選択と同じレベル) Ctrl-/
  Duplicate selected class アサートされたすべてのスーパークラスおよび同等のクラス公理(注釈を含まない)を含む、選択されたクラスのコピーを作成します。 Shift-Ctrl-C
  Convert to primitive class 現在選択されているクラスのすべての同等のクラスをスーパークラスに移動する(そして、交差を別々のスーパークラスの公理に分割する) Ctrl-P
  Convert to defined class 現在選択されているクラスのすべてのスーパークラスを新しい同等のクラスに移動する(スーパークラスの共通部分を構築することによって) Ctrl-D
  Add covering axiom そのサブクラスの共用体を含む、現在選択されているクラスに同等のクラスを追加します。  
  Make all individuals distinct... オントロジー内のすべての個人を含むallDifferent公理を作成する  
  Make primitive siblings disjoint 現在選択されているクラスとそのすべての兄弟を含む全共分散公理を作成する Ctrl-J
  Prefixes... 名前空間レンダリングを管理する Shift-Ctrl-P


  

f:id:William0105:20180729071235p:plain

  Menu 内容 Short cut
View
     
  アクティブなオントロジーは、現在のワークスペースの上部にあるナビゲーションバーには、このメニューにチェックさとも見えるオントロジーです。慣例により、モデルへのすべての追加は、アクティブなオントロジーで行われます。
  アクティブオントロジーアクティブオントロジーを含むオントロジのセットです。これらは、内容がインタフェースで可視であるオントロジーです。このセットのオントロジは、このメニューで現在どの戦略が選択されているかによって決まります。
  Render by Name (rdf:id) オントロジ内のエンティティをrdf:idを使用して表示します。  
  Render by label (rdfs:label) エンティティに関連付けられたrdfs:lableアノテーションプロパティを使用して、オントロジ内のエンティティを表示します。  
  Render by annotation property オントロジー内のエンティティを、rdfs:label以外のアノテーションプロパティを使用して表示します。  
  Custom Rendering 上記のオプションよりも複雑なレンダリングカニズムを使用して、オントロジのエンティティを表示します。  
  Show only the active ontology インポートに関係なく、アクティブなオントロジー自体のみを表示する  
  Show all loaded ontologies ワークスペースに現在ロードされているすべてのオントロジーを表示する  
  Show the imports closure of the active ontology アクティブなオントロジーによって直接的または間接的にインポートされたすべてのオントロジを表示する  
  A list of the loaded ontologies ここに示すリストからアクティブなオントロジーを選択する  

 

f:id:William0105:20180729071316p:plain

 

Menu

内容

Short cut

Reasoner
     
  Start reasoner Protegeが要求するタスクに適した方法で推論を初期化します。 Ctrl-R
  Synchronize reasoner 最新の変更を適用して推論を最新の状態に戻します。  
  Configure... 推論の固有の設定を構成します。  
  Fact++ マンチェスター大学で開発されたC ++推論システムを選択する  
  None 推論を実行しないデフォルトの推論を選択する  
  Hermit 1.3.3 オックスフォード大学で開発されたJava推論システムを選択する  

 

f:id:William0105:20180729071438p:plain

  Menu 内容 Short cut
Tools
     
  その他のツールは、インストールしたプラグインによって異なります(OWLDocのエクスポートなど)。既定のツールは次のとおりです。
  Create class hierarchy... オントロジーに追加されるクラスのタブインデント付きリストを入力します  
  Usage 現在選択されているエンティティのグローバルな使用状況を示すビューを表示する  

 

f:id:William0105:20180729071502p:plain

 

  Menu 内容 Short cut
Refactor
     
  Change entity URI... 以前に名前を変更し...。選択したエンティティのURIをグローバルに変更します(エンティティのラベルではありません) Ctrl-U
  Change multiple entity URIs... 以前は、エンティティの名前を変更します...。検索と置換によってエンティティのURIをグローバルに変更する(エンティティのラベルを変更しない)  
  Change ontology URI..." アクティブなオントロジのURIを変更します(これはエンティティのURIを変更しません)  
  Convert entity URIs to labels すべてのエンティティURIのフラグメントを自動IDに変更し、元のフラグメントテキストをラベルに配置します(現在のNew Entitiesプリファレンスを使用)  
  Convert property assertion on class/individual puns to annotations punである件名のプロパティアサーションを、punnされているクラスの注釈に変換します。  
  Split subclass axioms アクティブなオントロジーのサブクラスの公理をより細かい公理に分割します。たとえば、A subClassOf(BとC)はA subClassOf BとA subClassOf Cに分割されます  
  Amalgamate subclass axioms 共通の左辺を持つサブクラスの公理をマージします。例えば、A subClassOf B、a subClassOf Cは単一のサブクラス公理、A subClassOf(BとC)にマージされ、  
  Copy/move/delete axioms... 以前は公理を抽出/移動していました。いくつかの異なる方法を用いて公理を選択する。これらの公理は、既存のオントロジーまたは新しいオントロジに削除または移動/コピーすることができます。  
  Merge ontologies... 1つまたは複数のオントロジーを既存のオントロジーまたは新しいオントロジーにマージする  

 

f:id:William0105:20180729071702p:plain

f:id:William0105:20180729071741p:plain

 

  Menu 内容 Short cut
Window
     
  Tabs ユーザーインターフェイスで表示されるタブを選択できます。  
  Views タブ内のすべてのインタフェースコンポーネントは、オントロジービューです。ビューは、ナビゲーションを容易にするために分類されています。このメニューの内容は、インストールしたプラグインによって異なります。ビューを選択すると、現在選択されているタブにビューを追加することができます。新しいビューを追加したり削除したりすることで、タブを設定できます。タブの設定方法の詳細については、インターフェースの設定に関する注意を参照してください。  
  Create new tab... 設定するための新しい空のタブを作成する  
  Delete custom tabs... メニューとワークスペース(ビルド105から)からカスタムタブを削除したり、  
  Export current tab... レイアウトを他のユーザーと共有する  
  Import tab... 他のユーザーが提供したレイアウトを読み込む  
  Save current layout 現在のレイアウトを強制的に保存する(Protegeの通常のシャットダウン時に発生する)  
  Reset selected tab to default 現在のタブレイアウトの工場出荷時リセット  
  Increase font size   Ctrl-=
  Decrease font size   Ctrl--
  Look & Feel    

 

 

4.Protégé - クラスエディタ

  必要かつ十分(完全定義)(C1相当C2へ)

  必要(部分定義)(C1はC2スーパークラスを持つ)

  Inherited

  • アサーションはプロパティと制限についてです
  • ディスジョイント(このクラスの個人は、別のクラスの個人)
  • デフォルトでは、OWLクラスにはいくつかの「オーバーラップ」があります。

5.プロテジェ - プロパティ

f:id:William0105:20180729115315p:plain

  • プロパティは2つの事の間の2項関係です
  • 2つの個(Individual)の関係
  • データ型プロパティ:個とプリミティブデータ型
  • Annotation プロパティのプロパティ(メタデータメタデータ...)

 

①Functional Properties

f:id:William0105:20180729112719p:plain

プロパティが機能している場合は、そのプロパティを介してIndividualを見つけることができます。  おのおのが唯一のBirthMother母親を持つことができます。 私たちがJean hasBirthMother Peggyと言うと、Jean hasBirthMother Margaret と言うと、hasBirthMotherは機能的なプロパティなので、PeggyとMargaretは同じ人でなければならないと推論することができます。 しかし、ペギーとマーガレットが別人であると明示された場合、上記のステートメントは矛盾となります。

 

②Inverse


逆プロパティを指定することは可能です。
対応する逆プロパティ。下図にhasParentプロパティとその逆プロパティhasChild を示します。 Matthew hasParent Jeanの場合、逆の性質のため、Jean hasChild Matthewが推論できます。

 f:id:William0105:20180729112433p:plain

③Transitive

プロパティが推移的で、プロパティーがIndividualに関連する場合、そのIndividualを個々のプロパティに推論することができます。  hasAncestor とういプロパティーの場合です。

個人MatthewがPeterである祖先を持ち、PeterがWilliamである祖先を持っているなら、MatthewがWilliamという祖先を持っていると推論することができます。

f:id:William0105:20180729114328p:plain

④Symmetric Properties

プロパティが対称である場合、プロパティはIndividualaと bのプロパティに関連します。 GemmaはhasSiblingを介してMatthewと関連があると推測することができます。 言い換えれば、もしMatthewにGemmmaという兄弟がいるなら、GemmmaはMatthewという兄弟がいるはずです。 別の言い方をすれば、プロパティはそれ自身の逆プロパティです。

f:id:William0105:20180729114754p:plain

⑤Reflexive properties(反射的特性)


プロパティは、そのプロパティがIndividualに関連している必要がある場合には、反射的であるということができます。この例としては:プロパティ Knowsを利用します。言い換えれば、ジョージはIndividualを知る必要があります。また、Individualジョージが他の人を知ることは可能です。 したがって、個人ジョージがプロパティknowsに沿ってIndividualとしてのSimonとの関連を保持することが可能です。

 

f:id:William0105:20180729124823p:plain

⑥Irreflexive properties(非反射的特性)

プロパティが非反射的であるケースとして、プロパティは、Individual aとbに関連するプロパティとして記述できます。 この例は、プロパティmotherOfになります。
アリスはmotherOfプロパティに沿ってボブに関連付けることができますが、アリスは自分自身の母親になることはできません。

 

f:id:William0105:20180729125540p:plain

 

 

 

⑦OWL restrictionsについては以下3つのカテゴリがある
  • Quantier Restrictions
  • Cardinality Restrictions
  • hasValue Restrictions.
 ⑧Restriction の例
  • 少なくとも1つのhasSibling を保有するIndividualのクラスを定義する
  • 男性に対して少なくとも1つのhasSibling を保有するIndividualの個体のクラス(兄弟)
  • 女性に対して少なくとも1つのhasSibling を保有するIndividualの個体のクラス(姉妹)
  • 3つ以上のhasSibling を保有するIndividualのクラスを定義する
  • 少なくとも1種類のモッツァレッラトッピングのメンバーであるIndividualに対してhasToppingの関連を持つもののクラス。
  • VegetableToppingのメンバーであるIndividualに対してhasToppingの関連を持つもののクラス。{ 野菜のトッピングだけのトッピングを持つIndividualのクラスです。
 ⑨Protégé – Reasoning
  •  “inferred ontology”計算機能 
  • ユーザーが定義したのは “asserted hierarchy”.

  Protégé は reasoner ( a plug-in)を起動することで “inferred hierarchy”を計算できる

  • 整合性チェックが可能

  当該individual がそのクラスに所属してよいかの確認を実施する

  • 留意事項: OWL は Open World Assumptionを利用している

  必要ならClosure Axiomsを利用する

 以上