概要

以下のWikibaseSyncを試す機会がありましたので、その備忘録です。

https://github.com/the-qa-company/WikibaseSync

以下の論文で、上記のツールを知りました。

https://doi.org/10.11517/jsaisigtwo.2022.SWO-056_04

インストール

ソースコードや関連ライブラリをインストールします。

!c!gdpeitWpickilinobsnatesaelhSltytn-pcrs:r/e/qguiitrheumbe.nctosm./ttxhte-qa-company/WikibaseSync

Bot Accountの作成

事前に用意したWikibaseにアクセスし、「Special pages」から、「Bot passwords」をクリックします。

以下の画面で、「Bot name」を入力します。

次の画面で、以下の3つにチェックを入れます。

Give him the follwing rights: “High-volume editing”, “Edit existing pages” and “Create, edit, and move pages”

結果、以下のようなメッセージが表示され、パスワードを取得することができます。

TT(RhhFeeeotrubnroeontwldtppoaabssoSsstpwwseoocrrwiddhailftc:oohBrolrtboePogqatusiisnnrwaeomwreitdths"he.WiNlkaoikgdaiamntuarnUaap@mdWeaitkteiord"abteoafUtphudesaetsrearm"eNiasaksaxmxtuxhrxeax"xexvwxeaxnsxtxucxarxlexa.utsePedlr.enaasmee,reycoourdcatnhiaslsfoorusfeutNuarkeamruerfaeraesncues.ernameandWikidataUpdater@xxxxxxxxxxxxxxaspassword.)

そして、以下の説明にしたがって、インストールしたソースコードの設定ファイルに、上記のBotに関する情報を入力します。

https://github.com/the-qa-company/WikibaseSync#setup

例: user-config.py

(u'Nakamura',BotPassword(u'WikidataUpdater',u'xxxxxxxxxxxxxx'))

例: config/application.config.ini

wikibase.cloudの利用例です。

[S[usdpaepDewsporpnrvErieamoitoeFvkrratUiprAeiqiortewUrb=lnclyrrLAaEo=UtiTlsan=lryt]ieddhiUev]mPn=t=rLeioathioInikhpt=cnnatsthattmt:ptleup/stCr=rs/:phvan/saah1a/:nlt9kn/gt6aa/e=p.mknsswuaa4:irmk=5/kaua/i1rmfnb9auaaa61rlks.9asaew61em.i.9uckw6rlii.aobkw1uaii9dsbk6eai..sbwceail.skoceiul.bdcaulswde/u.aedcpn/litpo.iruptodhyp/pquery/sparql

使用例

以下を実行してみます。

python import_one.py Q107095935

結果、以下のようにデータが登録されました。

https://nakamura196.wikibase.cloud/wiki/Item:Q42

WikibaseSyncが以下のプロパティを自動的に追加するようでした。

https://nakamura196.wikibase.cloud/wiki/Property:P14

上記のプロパティを介して、今回作成したwikibaseのインスタンスとwikidataのIDの対応を取るようでした。

ただし、上記で登録されている情報は不十分だと思われます。実行後、以下のようなエラーが発生して、プログラムが完了していないと思われます。

CRITICAL: Exiting due to uncaught exception <class ‘pywikibot.exceptions.NoPageError’>

CRITICAL: Exiting due to uncaught exception <class ‘KeyError’>

同様のIssueが見つかりましたが、解決には至りませんでした。

https://github.com/the-qa-company/WikibaseSync/issues/18

まとめ

WikibaseSyncを試してみました。途中までしか動かすことができなかったため、引き続き調査したいと思います。