オントロジー入門ガイド:意味の共有と推論を実現するRDF/OWL/SPARQLとセマンティックウェブの基礎と実践
オントロジーとは — 概要
「オントロジー(ontology)」は本来哲学用語で「存在論」を意味しますが、ITや知識工学の分野では「あるドメイン(領域)における概念(クラス)と概念間の関係、属性、制約を形式的に記述したモデル」を指します。要するに「共通の語彙」と「それらの意味(セマンティクス)」を機械的に扱える形で明示化したものです。
哲学的起源とコンピュータ科学における拡張
哲学では「何が存在するか」を問うのがオントロジーですが、コンピュータ科学ではこの問いを実用的に翻訳し、データ統合や意味検索、推論を可能にするための構造(語彙+関係+制約)を定義します。つまり、同じ語でも組織やシステム間で意味がぶれないようにするための「意味の約束事」を設計する作業です。
なぜITで重要か
- データ統合:異なるシステムのデータを共通の意味で整合させる。
- 検索・問合せの精度向上:意味を利用した検索やクエリ(SPARQL等)で高精度な抽出ができる。
- 推論・自動化:形式論理に基づく推論エンジンで新たな知識を導出できる(例:矛盾検出、分類)。
- 相互運用性:標準化された・共有可能な語彙によりシステム間連携が容易になる。
セマンティックウェブと標準技術
セマンティックウェブはウェブ上のデータを意味的に結びつける概念で、オントロジーはその基盤技術の一つです。主要な標準・技術には以下があります。
- RDF(Resource Description Framework):トリプル(主語-述語-目的語)で知識を表現する基本モデル。
- RDFS(RDF Schema):クラスやプロパティの基本的な定義を行うスキーマ言語。
- OWL(Web Ontology Language):より表現力豊かなオントロジー記述言語。OWLには複数のプロファイル(OWL Lite/OWL DL/OWL Full、さらにOWL 2のEL/QL/RLなど)があり、表現力と計算複雑性のトレードオフがある。
- SPARQL:RDFデータに対する問合せ言語。
- SKOS(Simple Knowledge Organization System):分類語彙やタクソノミーを記述するための簡易標準。
オントロジーの構成要素
- 概念(クラス): ドメイン内の主要な種類やカテゴリ(例:Person, Product)。
- 個体(インスタンス): クラスの具体例(例:Alice, Product123)。
- プロパティ(関係・属性): 概念同士の関係や概念の属性(例:hasAuthor, price)。
- 制約・公理: ドメインのルール(例:心臓は臓器である、価格は非負)を形式論理で表現。
- 階層(サブクラス関係): isa関係によるクラスの階層化。
推論(Reasoning)と説明力
オントロジーは単に語彙を列挙するだけでなく、論理的な公理を使って推論ができる点が強みです。代表的な推論機能には以下があります。
- 整合性検査(Consistency):オントロジーに矛盾がないか確認する。
- 分類(Classification):個体やクラスを適切なクラス階層に自動で割り当てる。
- 実体の実現(Realization):個体がどのクラスに属するかを決定する。
- 含意生成(Entailment):公理から導かれる新たな関係や事実を抽出する。
実行は記述論理(Description Logics、DL)に基づくことが多く、OWL DLやOWL 2 DLはこれらの理論に対応しています。DLの表現力が高いほど計算コスト(推論の複雑度)も高くなる点に注意が必要です。
オントロジー開発のプロセス(オントロジー工学)
代表的な流れ:
- 要件定義:解決すべきタスク(何のためのオントロジーか)、コンピテンシークエスチョン(どんな問いに答えられるべきか)を明確にする。
- 概念化:用語集を作り、概念と関係の概念モデル(UMLや概念図)を設計する。
- 形式化:RDFS/OWL等で論理的に記述する。命名規則やURI方針を決める。
- 実装:Protégé等のツールを用いて実装、TurtleやOWL/XML等で保存する。
- 検証・評価:推論による整合性チェック、ユースケースに基づく評価、専門家レビュー。
- 公開・運用:SPARQLエンドポイントやTriple Storeにデプロイし、メンテナンスやバージョン管理を行う。
ツールと実装例
- Protégé(Stanford):オントロジー作成で最も広く使われる無料ツール。
- トリプルストア:GraphDB、Stardog、Blazegraphなど(RDFデータの保存・問合せ用)。
- 理由付けエンジン:HermiT、Pellet、Fact++など(OWLベースの推論を提供)。
- マッピング・整合ツール:Ontology Alignment API、LogMap等(複数オントロジー間の対応づけ)。
実用事例(ユースケース)
- 医療・生命科学:疾患、薬剤、臨床データの統合(例:SNOMED CTやGene Ontologyの利用)。
- 製造業・IoT:設備や部品の属性を統一し、予知保全やサプライチェーン最適化に活用。
- eコマース:製品分類や推奨システムの強化、商品間の意味的関連付け。
- 企業内データ統合:異なるシステムや部署間の「用語の差」を吸収してデータ活用を促進。
- ナレッジグラフ:企業や公共データの知識ベース構築における中心技術。
設計上のベストプラクティス
- 目的を明確にする:万能のオントロジーは存在しない。用途(検索改善、推論、データ連携等)に合わせて設計する。
- コンピテンシークエスチョンを用いる:必要な問に答えられるかでスコープを評価する。
- 再利用を優先する:既存の標準語彙(SKOS、FOAF、schema.org等)やドメインオントロジーの利用を検討する。
- 可視化とドキュメント化:モデルを図示し、用語の定義を明確にして専門家レビューを受ける。
- 性能と表現力のバランス:推論速度やスケールを考慮してOWLプロファイルを選択する(例:OWL 2 ELは大規模データ向け)。
よくある課題と対策
- 言語・用語の曖昧さ:用語定義を厳密にし、同義語や多義語を取り扱うガイドラインを作る。
- スケーラビリティ:推論は高コストになりがち。事前推論やライトなプロファイル、分散ストアの利用を検討する。
- オントロジーの進化管理:バージョン管理と後方互換性の方針を決める。変更が上流のアプリに影響する点を管理する。
- 組織内合意形成:ドメイン専門家との継続的な協働が不可欠。レビュー体制とガバナンスを整える。
簡単な例
商品の簡易オントロジー(概念のみ):
@prefix : <http://example.org/onto#> .
:Product a rdfs:Class .
:Electronics rdfs:subClassOf :Product .
:hasPrice a rdf:Property ; rdfs:domain :Product ; rdfs:range xsd:decimal .
このように記述すると、「ElectronicsはProductの一種で、Productはpriceを持ち価格は数値である」という意味が機械的に扱えます。
まとめ
オントロジーは単なる用語集ではなく、ドメインの意味を形式化し、機械的に扱える知識モデルです。データ統合、検索精度向上、推論による知識導出など多くの利点があり、セマンティックウェブ技術(RDF/OWL/SPARQL)と組み合わせることで実用的な価値を生みます。一方で、目的に応じた設計、計算複雑度の管理、組織的な運用が成功の鍵です。オントロジーは高度な情報資産になり得るため、計画的に構築・管理することを推奨します。
参考文献
- W3C: OWL 2 Web Ontology Language Overview
- W3C: RDF — Resource Description Framework
- W3C: RDF Schema 1.1
- W3C: SPARQL 1.1 Overview
- Protégé — Stanford Center for Biomedical Informatics Research
- Noy & McGuinness: Ontology Development 101
- Ontotext: GraphDB(トリプルストアの事例)
- SUMO — Suggested Upper Merged Ontology
- Description logic — Wikipedia(入門)


