What is this?
- Semantic MediaWikiの導入にあたり必要な知識のまとめ記事第2回
- Semantic MediaWkiの最大の特徴である、アノテーションの付け方を紹介
- 基本的には公式チュートリアルHelp:Getting started/Part 1 (Working with annotations)と関連リンクのまとめ
アノテーションとプロパティ
- SemanticMediaWikiではMediaWikiでのカテゴリとは別に各記事に**アノテーション(Annotation)をつけることでプロパティ(Property)**を作成できる。
- このアノテーションとプロパティによって、Wikiをナレッジグラフ1として機能させる事ができる。
- アノテーションをつけることで、各トピック(ページ)とプロパティ(属性・特徴)間のリンクを作成できる。
- とはいえ、実例がないとわかりにくいので早速下記へ
アノテーションの付け方
ここでは公式ヘルプページの例に従って解説
※公式例は英語であるため、文法的に英語で理解しやすい例になっています。日本語でナレッジグラフを構築する場合は、日本語にあったアノテーションが必要だと考えています。
チュートリアル
- WikipediaでBerlinというページを作ることを考えていく
- 当然、ベルリンのページには
Germanyという内部リンク(ウィキリンク)を含むはず
MediaWiki
[[Germany]]
- しかしリンクを貼るだけでは、「Berlin」と「Germany」の関係性はわからない(特徴を持たないリンクが繋がれるだけ)
- この関係性を記述するためにSemantic MediaWikiでは以下のようにアノテーションを行う
SemanticMediaWiki
[[Is capital of::Germany]]
- ここでGermanyに付与した
Is capital ofはプロパティという - 記事(ノード)間のリンク(エッジ)に意味づけをするものである
- 下図のようなイメージ
様々なアノテーションの記法
アノテーションと同時にアノテーション先へのリンクを作成
SemanticMediaWiki
Classify a [[Example property::link]] with the property "example property."
リンク先ページ名とは異なる代替文字列を表示
SemanticMediaWiki
Make [[Example property::link|alternate text]] appear in place of the link.
linkページへリンクされるが、記事内ではalternate textと表示される
アノテーションを付けるだけでリンクは非表示
SemanticMediaWiki
To hide the property [[Example property::link| ]] from appearing at all use a space as the alternate text.
上記代替文字列としてスペースを利用することでリンクを非表示にすることができる
その他
- 公式チュートリアルで紹介されている他細かい記法について内容のみ紹介
- 使用頻度は低そう
- 階層をもったプロパティを作成(大元のプロパティページは作成しない)
-
:を含むプロパティを作成したい場合
プロパティとカテゴリの違い
ここでは、既に説明したカテゴリとプロパティの違いについて説明する2
それぞれ一言で説明すると、
- カテゴリ:該当ページそのものに対する属性。タグのようなイメージ。
- プロパティ:ページ間の関係性を示す属性
- 上記イメージの通り、カテゴリはページ(ノード)そのものに付ける属性。プロパティはリンク(エッジ)に付ける属性である
- それぞれカテゴリごと、プロパティごとに集計できるが、その結果も異なる
- カテゴリで集計した場合は
cityのカテゴリがついているページ一覧を取得できるが関係性は見えない - プロパティで集計した場合は、
Is capital ofのプロパティがついているページ一覧に加えて、リンク先の一覧も合わせて取得できる - 例えばベルリンの例に加えて「Tokyo」ページに
Is capital of ::Japanとアノテーションをつけた場合-
Is capital ofで集計すると、"Berlin - Germany"、"Tokyo - Japan"という関係性をもった一覧を取得できる
-
- カテゴリで集計した場合は
次のステップ
今回はSemanticMediaWikiを使ったアノテーションの付け方とカテゴリとプロパティの違いを紹介した。
ただ、プロパティをより効率的に活用していくためには、各プロパティのデータ型を設定していく必要がある。次の記事では「型を付ける目的」「型の付け方」「型の種類」を紹介していく。


