Semantic Mediawikiをインストールする

提供: Akionux-wiki
Share/Save/Bookmark
移動先: 案内検索

概要

Semantic MediawikiはMediawikiに意味論的な機能を追加するものである。

また、Semantic Maps拡張機能は、Maps拡張機能へ意味論的な機能を付け加える。 Semantic MapsではGoogle Mapsだけでなく、Yahoo! Maps, OpenLayers及びOpenStreetMapの地図サービスもサポートしている。

インストール

Composerの利用と個別のインストールを行うか、SemanticBundleですべてインストールするかの2通りある。

Composerの利用と個別のインストール

Composerでインストールする方法[1][2]

mediawikiのディレクトリでself-updateを行っておく:

cd /path/to/your/wiki
php composer.phar self-update

composerを次のように実行するか、

php composer.phar require mediawiki/semantic-media-wiki "~2.2"
php composer.phar require mediawiki/maps "*"
php composer.phar require mediawiki/semantic-result-formats "*"
php composer.phar require mediawiki/page-forms "*"

または、例えば次のようにcomposer.jsonを編集して

{
        "require": {
                "php": ">=5.3.2",
                "mediawiki/semantic-media-wiki": "~2.2",
                "mediawiki/maps": "*",
                "mediawiki/semantic-result-formats": "*",
                "mediawiki/page-forms": "*"
        }
}

composerでupdateを実行:

php composer.phar update

mediawikiのアップデートスクリプトを実行

php maintenance/update.php

Localsettings.phpの最後にenableSemantics(wikiのドメイン名)という行を入れる:

enableSemantics( 'example.org' );

各拡張機能に対して、

require_once …

の書式でLocalsettings.phpへ追記する。

mediawikiの「特別ページ」内に"Semantic MediaWiki"という項目ができていればインストールに成功している。 また、wikiの右下に"Powered By Semantic MediaWiki"というロゴが出るようになるはずだ。

Semantic MediaWikiのテスト方法は別途参照[3]のこと。

Semantic Forms

Semantic Formsはデータを追加したり編集したりクエリするフォーム提供する。

  • インストール

Composerでインストールした場合は飛ばして良い。 git cloneする:

cd /path/to/your/wiki/extensions
git clone https://git.wikimedia.org/git/mediawiki/extensions/SemanticForms.git

LocalSettings.phpのenableSemantics行以降に次の行を追加する:

include_once "$IP/extensions/SemanticForms/SemanticForms.php"; 

また、SemanticFormsがParserFunctionsを使うようなので、LocalSettings.phpでParserFunctionsをrequireしていない場合は以下の内容を追記しておく。

# ParserFunctions
require_once( "$IP/extensions/ParserFunctions/ParserFunctions.php" );

Semantic Compound Queries

git cloneする:

cd /path/to/your/wiki/extensions
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/SemanticCompoundQueries.git

LocalSettings.phpへ次の行を追記。

require_once( "$IP/extensions/SemanticCompoundQueries/SemanticCompoundQueries.php" );

SemanticBundleでまとめてインストール

Semantic Mediawiki用の拡張機能を集めたSemantic Bundleというのもある。 Semantic系の拡張機能はたくさんあるので、Semantic Bundleを使ったほうが楽だ。 ただし、SemanticBundleを使う限りはComposerによるインストールや更新ができなくなる(やってしまうとSemanticBundleのファイルが消える)ので注意。

Composer経由でインストールしたSemantic Mediawikiと衝突するので、Composerの方はSemantic Mediawikiのrequireを消しておく:

cd /path/to/your/wiki
vim composer.json
{
        "require": {
                "php": ">=5.3.2"
        }
}
php composer.phar update

なお、ここでは試験的なインストール方法であるgitを用いたインストールを行うので注意。

git cloneしてくる。

cd extensions
git clone https://gerrit.wikimedia.org/r/p/mediawiki/extensions/SemanticBundle.git

makeには7zコマンドを使うので、もし7zがインストールされてなかったらp7zipをインストールしておこう。

cd SemanticBundle
make

拡張機能が入った圧縮ファイルを作ってくれるので、extensionsディレクトリへ解凍する:

tar zxvf SemanticBundle-20141028.tgz -C ../

どの機能をインクルードするかが書いてある設定ファイルのサンプルをコピーして設定ファイルを作る:

cp SemanticBundleSettings.sample.php SemanticBundleSettings.php

データベースを初期化するまではSemanticBundleSettings.phpの中をいじらないほうが良いらしい。

LocalSettings.phpへ以下を追加する:

require_once( "$IP/extensions/SemanticBundle/SemanticBundleSettings.php" );
require_once( "$IP/extensions/SemanticBundle/SemanticBundle.php" );

特別ページ->Semantic MediaWiki の管理機能へ行って、テーブルを初期化またはアップグレードというボタンを押す。

初期化が成功したら、SemanticBundle.phpを編集して、有効にしたい拡張機能の行をコメントアウトする。

Semantic Bundleでまとめてインストールするのは楽だが、Composerが使えないのがちょっと面倒なので、私はComposerでインストールした。

使い方

Semantic Forms/"edit with form"が出るようにする

「フォームを使用して編集」という選択項目を出すには次の方法がある[4]

一つは、記事を何らかのカテゴリーに属させる。そしてそのカテゴリーページ内に、<formname>のフォームをもつという[[Has default form::<formname>]]というタグを入れる。

または、特別ページ->意味的フォーム->カテゴリの作成からカテゴリを作成する。

References