changed 4 years ago
Linked with GitHub jd3main/WikidataTutorial/1-基本使用.md

Wikidata 入門筆記 1 - 基本使用

tags: Wikidata

Style - Wikidata

參考連結

Wikidata 是什麼?

Wikidata 是一個開放的知識庫,和維基百科一樣人人都可以進行編輯

有別於維基百科,Wikidata 提供的是結構化的資料
方便從政府等資料庫匯入,以及其他程式的取用

概觀

首頁:

你可以隨便點選一個條目來看看
一個項目的頁面大概長像這樣

名詞說明

暫譯
Label 標籤 項目的可閱讀名稱 地球
Identifier (ID) 編號 用來唯一辨識一個項目的編號 Q2
Description 描述 幫助分別同樣名稱的條目的簡短敘述 距離太陽第三近的行星
Property 屬性 表示 Item 擁有的屬性 人口
Value 屬性的內容 7,655,957,369
Qualifier 限定符 限定描述的範圍 point in time 2018/10/11
Reference 參考 資料來源

編輯

帳號、語言設定

建議辦個帳號來編輯,避免語言設定問題

目前 Babel 有些 bug,可能會看不到一部分在 Babel 裡設定的語言,建議一般使用者直接在右上方語言設定選取要編輯的語言

你可能會沒辦法看到想要編輯的語言
這時候你可以到 User page 去新增 Babel

點擊帳號名稱進入 User Page

按 Edit 編輯

根據自己熟悉的語言填入語言資訊
例如:

{{#babel:zh-tw-N|zh-hant-N|zh-4|zh-hans-2|zh-cn-2|en-2|ja-1}}

基本格式是 <語言碼>-<1~5 or N>
N 代表你有母語水準的能力
這是我的 User page 可以參考看看:User:Jd3main

不同 wiki 的 user page 不會共通
如果你已經有維基百科的 user page,可能需要在 wikidata 裡再創一次

教學、沙盒

可以來 這裡 玩沙

如果你不嫌棄英文,這裡有兩個 小教學

新增項目

新增 Item

點這裡就可以新增 Item,記得先確認沒有重複

新增 Property

一般 Item 可以自己隨便加,但一個全新的 Property (P開頭的項目) 就得要經過社群討論後同意才能新增

多個 Value

一個 Property 可以有多個 Value
每個 Value 可以用 Qualifier 進一步描述

Reference

跟維基百科一樣,會希望資料有附上參照
這個參照可以是外部連結,也可以是其他 Wikidata 項目
少數狀況會刪除沒有附 reference 的資料

Statement

Wikidata 採用 RDF 模型儲存。
所有的資料都是由一條條 statement 來描述
每個 statement 都是由 項目、屬性、值 組成的三元組(triples)
形式如:

<item> <property> <value>

有些說明文件裡可能會用一種比較文言的說法:

<subject> <predicate> <object>

例如,地球半徑是 6371km,可能寫成

地球 半徑 6371km

ID, Label and Description

一個名稱可能有多個意思,為了唯一的辨別事物,Wikidata 裡的項目(Item)都有一個 ID

ID Label(en) Description
P2067 mass mass (in colloquial usage also known as weight) of the item
Q11423 mass measure of the resistance of a physical body to acceleration; also determines the strength of its gravitational attraction
Q217295 mass form of sacred musical composition

ID 一般有 P 和 Q 兩種開頭
P 表示是屬性 ( Property )
Q 是項目 ( Item )

問:為什麼 Item 是 Q?
答:這是個謎。

而給人辨識的「名稱」則被稱為 Label
每個語言都可以有各自的 Label 和一段 Description
Description 簡潔的對一個項目下定義,讓人能藉此分辨同樣 Label 的東西代表的分別是什麼

良好的 Description

這個連結 說明了一些撰寫 Description 的基本原則
以下列出一些重點

  • 避免可能更動的資訊
  • 抱持中立
  • 不要以句號結尾
  • (en) 避免大寫開頭,除非是專有名詞
  • (en) 避免冠詞開頭 (a,an,the)

另外關於常見的類型(人、地點、機構
可以參考幫助文件裡給的常用公式來寫

Qualifier

有時候一種屬性會有多個值
例如 蒙娜麗莎 使用了 3 種不同的材質(material used)
分別是:oil paint / poplar wood / wood
為了分別這些值代表的不同意義,所以用 qualifier 來標示

Query Service

Wikidata 提供了Query Service 可以簡單的使用
可以使用旁邊的選單式編輯器,或直接撰寫 SPARQL 進行 Query
裡面也提供了很多範例可以參考

官方教學 裡有段影片教學可以看看

執行 執行查詢

可以選擇要下載什麼格式的資料

可以找到各種語言 Query 的範例 Code

滑鼠移到ID上面就可以看到名稱和說明

可以到 wikidata 搜尋 item 編號
如果需要搜尋 Property 可以到 Search Property

另外官方說 Ctrl+Space 有自動完成,不過可能是輸入法的關係,我沒成功使用過

限制

Query 有 60秒 的上限
如果一個 Query 花費超過 60 秒會直接被中斷

可以嘗試加上數量限制來解決

但是 經常是我們寫的條件有 Bug 才會導致數量過多跑不完

Display Mode

這裡有個 範例
執行後可以看到他顯示了一張地圖
紅點是醫院的位置
可以在左邊選擇顯示的模式

平常預設模式是 Table
除了 Table 以外通常要特殊條件才能選擇
例如 Image grid 要有 image
Map 要有地理座標 (P625)

這個範例中用了 #defaultView:Map 改變預設顯示模式
但是這個用法只在這個 Query Service 有用
在下一章節用程式 query 資料下來時是沒有差的

在其他 wiki 裡使用 data

Parser function

這是最簡單的取用方法
不過相對的也靈活度比較低

格式

  1. {{#statements:<property>}}
  2. {{#statements:<property>|from=<item>}}

其中 <property> 可以是 id 或 label

例如要顯示李梅樹(Q700797)的出生地(P19)
可以用 {{#statements:P19|from=Q700797}}{{#statements:出生地|from=Q700797}}

Lua Modules

以維基百科為例,它提供了一些用 Lua 撰寫而成的 Module
利用這些 Module 我們就能在維基百科裡調用 Wikidata 的資料

Select a repo