Wikidataエンドポイントで検索結果を地図に対応させるSPAQL文の例

埼玉県に関連づけられているラベルの座標を返す。形式はMAP形式で表示する。検索結果。参考文献はWikidataを編集してみよう!の3ページ目(東京都を埼玉県に変えている)。

SELECT DISTINCT ?s ?label ?point
WHERE
{?s rdfs:label ?label;
    wdt:P131 wd:Q128186;
    wdt:P625 ?point.
 FILTER(lang(?label)="ja")
 }

Mac OSでCUI環境を整える

はじめに

MacBookAirを買ったので、MacOS上にCUI環境を整える。

Homebrewを使ってプログラミング環境を構築しよう!(コマンドライン初心者向け) - Qiitaを参考にする。

Xcodeのインストー

AppStoreからXcodeをインストールする。約4.5GBあるのでダウンロードには時間がかかる。

Command Line Toolsのインストー

ターミナルで以下のコマンドを実行する。

% xcode-select --install

Homebrewのインストー

brew.sh

ターミナルで以下のコマンドを実行する。

% /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

ちゃんとインストールされているかを確認する。

% brew help

作業環境の構築

Ubuntuで作業環境を整えようにあるようなソフトウェアをインストールする。

zsh

/usr/local/bin/zsh としてインストールされる。

% brew search zsh
% brew install zsh

通常使うシェルを変更する。

% chsh

漢のzsh (10) もってけ泥棒! コピペで始めるzsh | マイナビニュースにある.zshrcをコピーして設置する。サーチディレクトリで/usr/local/binを探すように変更する。

% touch ~/.zshrc.mine
% vi ~/.zshrc.mine

~/.zshrc.mineに以下を追記する。

export PATH=/usr/local/bin:$PATH

反映させる。

% source ~/.zshrc
emacs

標準のemacsのバージョンは古い。

% emacs --version
GNU Emacs 22.1.1

Homebrew Cask でEmacsをインストールする - Qiitaに従い、新しいのをインストールする。

% brew tap caskroom/cask
% brew cask install emacs

% which emacs
/usr/local/bin/emacs

% emacs --version
GNU Emacs 25.2.1

% emacs &

ブルワリーの識別子

Wikidata User talk:Y gotohにおいて、Camillu87さんからブルワリーのIDを紹介していただいた。

追記(2017/07/15)

User talk:Y gotoh - WikidataでCamillu87さんが紹介してくださった識別子入力状況をチェックできるSPAQL文。Wikidataエンドポイントでチェックできる。

SELECT ?item ?itemLabel ?rate ?untap ?adv {
  ?item wdt:P31 wd:Q131734.
  ?item wdt:P17 wd:Q17 .
  OPTIONAL{?item wdt:P2905 ?r}.
  OPTIONAL{?item wdt:P3002 ?u}.
  OPTIONAL{?item wdt:P2904 ?a}.
  OPTIONAL{wd:P2905 wdt:P1630 ?format1} .
  OPTIONAL{wd:P3002 wdt:P1630 ?format2} .
  OPTIONAL{wd:P2904 wdt:P1630 ?format3} .
  BIND(IRI(REPLACE(?r, '^(.+)$', ?format1)) AS ?rate).
  BIND(IRI(REPLACE(?u, '^(.+)$', ?format2)) AS ?untap).
  BIND(IRI(REPLACE(?a, '^(.+)$', ?format3)) AS ?adv).
  SERVICE wikibase:label { bd:serviceParam wikibase:language "ja,en". }
}

Beer Advocate brewery ID

BeerAdvocateというビールのコミュニティサイトで用いられているIDの様子。このサイトではビール(の銘柄)のレビューがある。このレビューにつかわれているブルワリーのIDがBeer Advocate brewery IDである様子。
www.wikidata.org

www.beeradvocate.com

日本のブルワリーについての一覧はここで見ることができる。


www.beeradvocate.com

RateBeer brewery ID

RateBeerというビール版口コミサイト(価格ドットcomや食べログみたいなサイト)で使われているブルワリーのID。
www.wikidata.org
www.ratebeer.com

日本のブルワリーの例
www.ratebeer.com


draftbeer.jp

Untappd brewery ID

ビールの評価アプリ?

www.wikidata.org

untappd.com

cbf.hateblo.jp

Wikidataに地ビール醸造所のデータベースを構築(2017年・春・けやきビール祭り分)

Wikidataに地ビール醸造所のデータベースを構築(下調べ)の続き。

だいぶ、あいだが空いたけれどもけやきビール祭りの2017年春に出典した地ビールメーカーのデータを調べて、登録中。登録済みのデータはWikidata エンドポイントにて、以下のSPAQL文で検索できる。

SELECT ?item ?itemLabel WHERE {
  ?item wdt:P31 wd:Q131734.
  ?item wdt:P17 wd:Q17.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "ja". }
}

新規に入力した(する)項目は以下のとおり

  • ラベルの日本語表記と英語表記
  • 分類 (P31, instance of) → ブルワリー (Q131734, brewery), クラフトビール (Q2905030, Craft Beer)
  • 国(P17, country) → 日本(Q17, Japan)
  • 位置する行政区画 (P131, located in the administrative territorial entity) → 都道府県名
  • 所在地 (P969, located at street address) → 住所
  • 創立日 (P571, inception) → 年、または、年月、または、年月日
  • 公式ウェブサイト (P856, official website) → 公式ウェブサイトのURL


所有者 (P127, owned by) も調べたのだが、この項目を入力するためには親会社も新規項目として登録しなければならないので、今回は割愛した。

Wikidataに地ビール醸造所のデータベースを構築(下調べ)

Wikidata利用の練習として大好きな地ビールのデータをいれてみようかと思う。

下調べ:ブリュワリーの登録状況

Wikidata エンドポイントにて、以下のSPAQL文を入れるとビールのブリュワリーの情報が表示される。ヒット件数は1,459件

SELECT ?item ?itemLabel WHERE {
  ?item wdt:P31 wd:Q131734.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "ja". }
}

Wikidataにおけるプロパティと概念のIDは以下の通り

  • wdt:P31 = instance of(分類)
  • wd:Q131734 = brewery(ビール醸造所)

ヒットした醸造所の例は以下の通り。

上記醸造所の項目は以下のとおり。

Erdinger

  • instance of (P31, 分類) -> brewery(Q131734)
  • inception (P571, 創立日)
  • country (P17, 国)
  • headquarters location (P159, 本部所在地)
  • legal form (P1454, 組織形態) -> (P460178, 有限会社)
  • official website (P856, 公式サイト)
  • product or material produced (1056, 生産品目) -> (Q44, ビール)
  • Commons category (P373, コモンズのカテゴリ)

Spaten

  • instance of (P31, 分類) -> brewery(Q131734), trademark(Q167270, 商標)
  • inception (P571, 創立日)
  • country (P17, 国)
  • location of formation (P740, 結成場所)
  • headquarters location (P159, 本部所在地)
  • official website (P856, 公式サイト)
  • Commons category (P373, コモンズのカテゴリ)

Orval Brewery

  • instance of (P31, 分類) -> brewery(Q131734), trademark(Q167270, 商標), beer brand (Q15075508), beer in Belgium (Q348229, ベルギービール), Trappist beer (Q505815, トラピストビール)
  • inception (P571, 創立日)
  • country (P17, 国)
  • located in the administrative territorial entity (P131, 位置する行政区画)
  • owned by (P127, 所有者)
  • headquarters location (P159, 本部所在地)
  • official website (P856, 公式サイト)
  • Commons category (P373, コモンズのカテゴリ)

麒麟麦酒

  • instance of (P31, 分類) -> brewery(Q131734), business enterprise (Q4830453, 企業)
  • name in kana (P1814, 読み仮名)
  • inception (P571, 創立日)
  • country (P17, 国)
  • located in the administrative territorial entity (P131, 位置する行政区画)
  • owned by (P127, 所有者)
  • headquarters location (P159, 本部所在地)
  • official website (P856, 公式サイト)
  • Commons category (P373, コモンズのカテゴリ)

下調べ:ビールにひっかかる項目

以下で検索できる。結果は206件。そのほとんどが醸造所かブランド。

SELECT ?item ?itemLabel WHERE {
  ?item wdt:P31 wd:Q44.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "ja". }
}

下調べ:ビールのスタイル

Wikipediaのビールのスタイルから対応するIDを調べる。

ビールのスタイルで検索

SELECT ?item ?itemLabel WHERE {
  ?item wdt:P31 wd:Q1998962.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

47件ヒット。多くのスタイルは既に登録済みみたい。

下調べ:ビールの銘柄

ビールのスタイルのうち白ビールで調べたところ、いくつかビールの銘柄がヒットした(主にオランダのWikipediaのデータ)。

それで分かったのは、製造元(P176)で醸造所とビールの銘柄をつなぐのが一般的みたいであるということ。

とりあえずの結論

醸造所の登録までは問題なくできそう。既に前例がある。ブランドの登録は微妙。

「エビスビール」はサッポロビールが出しているビールのブランド名(銘柄)であり、「シルクエビス」は、エビスビールブランドのビールである。この「シルクエビス」を指す用語は何?

第8回LinkedData勉強会に参加した

第8回LinkedData勉強会に参加してきた。

この勉強会の申し込みのお知らせの数日前にWikidataに出会い、「いったいどういうサービスなんだ?」と疑問に思っていたので渡りに船だった。

疑問に思っていた点は以下のとおり。

  • DBpediaとWikidataの関係は何?
  • Wikidataが扱っているデータの特性は?
  • Wikidataのデータフォーマットはどうなっているの?
  • Wikidataのデータ入力の方法は?

上記の疑問はこの勉強会でおおよそ解決された。

DBpediaとWikidataの関係

講演者の山本さんの資料参照。DBpediaはWikipediaのLinked Data化が目的、Wikidataはいろいろな構造化データをWikipedia的に集めるのが目的。

Wikidataが扱っているデータの特性

知識処理の分野にデータ・情報・知識・知恵階層モデル(Data-Information-Knowledge-Wisdom Hierarchy, DIKW hierachy)というのがあり、Rowleyという人がどういう意味でデータ、情報、知識という言葉を定義しているのかをサーベイしている(Rowleyの論文)。その内容をまとめると以下の画像のような定義になる。

f:id:yuichigoto:20170426122229p:plain

Wikidataでは、上記の定義のデータレベルのものを扱っているのではなく、データを選択し、かつ、構造化(オブジェクト指向のデータ表現)しているため情報のレベルで取り扱っている。各オブジェクトの必須入力データは「ラベル」であり、ラベルとしてモノや場所、概念の名前が入力される。各オブジェクトはプロパティをいくつも持つ。プロパティとしては住所、座標(緯度経度)などがある。

WikidataもWikidataを引き継いで特筆性(notability)や二次資料に基づいて書くというのを方針として持ってはいるものの、あんまり守られていないとのこと。Wikipediaの文書に対しての要求とWikidataの情報に対する要求では特筆性(notability)が異なるのは当然。また、文書は情報を処理した結果作られるものなので情報が生のまま載っていることはマレ。よって、二次資料に基づいてデータ入力するというのは基本的に難しいと思う。

当日の勉強会で質問したところ、現実世界に実物があるならばそれを根拠としてデータを入力するのは良いのではないかという意見をもらった(「たとえば、カップ麺の情報をカップ麺のパッケージなどを根拠にWikidataに入力するのはどういう扱いになるのか?」という質問)

特筆性(notability)については、講演者の東さんも述べていた。

www.slideshare.net
qiita.com
qiita.com:特筆性に関する整理

由来

qiita.com

Windows 10でスタートボタンが効かなくなったとき

発端

ある日Windows 10のスタートボタンが効かなくなっていた(マウスの左ボタンをクリックしても反応しない)。なお、スタートボタンと呼んでいるのは下の画像の赤丸部分のこと。
f:id:yuichigoto:20160425184158p:plain

右クリックには反応する。
f:id:yuichigoto:20160425184353p:plain

とても不便なので解決をはかった。

Windows イメージを修復する

私の例はWindowsのイメージを修復したら治った。たぶん、Windows 10のセキュリティパッチ適用時(Windows Update)のときにトラブルがあったのだろうと思う。

まず、実行中の他のプロセスを終了させる

どのくらい影響があるかわからないけれども、別のプロセス(特にハードディスクに書き込みをするようなもの)が動いているとよろしくないので自動起動のソフトウェアを停止させる。

管理者権限でコマンドプロンプトを起動する

スタートボタンで右クリックをし、「コマンドプロンプト(管理者)」を選択する。以下の図参照。
f:id:yuichigoto:20160425184353p:plain

Windows イメージの修復

コマンドプロンプトで以下のコマンドを実行する。20分~40分くらいかかった。

dism /online /cleanup-image /restorehealth

上記のコマンドが終了したら続いて以下のコマンドを実行する。

sfc /scannow

上記のコマンドが終了したら、Windows 10を再起動する。私の場合は、これで問題が解決した。