changed 6 years ago
Linked with GitHub

Wikidata 新手編輯工具箱

COSCUP 2019

[[User:Planetoid]]

Markdown 版連結: http://bit.ly/2YIKuji
簡報 PDF 版: http://bit.ly/31K83Fu


大綱

  • 為什麼要編輯
  • 工具箱 QuickStatements 介紹
    • 新增與編輯
    • 資料處理
    • Wikidata 資料類型
    • CSV 匯入範例
    • 匯入格式
  • 資料探索: 常見屬性、上位分類
  • 新手技術問題排除

為什麼要編輯


1.搜尋引擎輸入:林志玲

20%


2.搜尋引擎輸入:distance between Taipei and Kaohsiung

60%


3.搜尋引擎輸入:

60%


應用之一:問答系統

  • 傳統資訊檢索會使用到的資料外(如字典)
  • 使用本體論等語義資料
  • 利用網頁來增加資料的豐富性。 (source: 維基百科)

40%


本體論

40%

「對特定領域之中某套概念及其相互之間關係的形式化表達(formal representation)」

source: 本體 (資訊科學) - Wikipedia


工具箱 QuickStatements 介紹

使用試算表軟體增加或刪除 Wikidata 資料,並且可以批次處理 陳述

  • TAB 按鍵間隔欄位值 (試算表選擇區域後複製貼上)
  • 逗號間隔欄位值 (文字編輯或試算表軟體另存 CSV 檔案)

新增與編輯 property

Wikidata Query Service 查詢台灣古蹟 (Q63183471)條目

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

補上缺少中文描述的條目

講個秘訣: 語言顯示順序 language "zh,en" 當查詢結果顯示英文 (en) 描述,代表缺少中文 (zh) 描述


語言代碼

範例
60%
感謝示範:唐納·川普 - Wikidata


語言代碼清單

語言代碼 名稱
en 英文
hak 客家話
zh 中文
zh-tw 中文(台灣)
zh-hant 中文(繁體)
zh-classicallzh 文言
zh-yue 粵語

參考出處: Help:Wikimedia language codes/lists/all - Wikidata


資料處理

* 目的:找到描述欄位只有英文、沒有中文,再補上中文描述
* 使用:正規表示式 (使用單一字串描述、或尋找一系列符合某個句法規則的
  字串。)

bg


正規表示式規則說明

  • [ ] 指定的範圍,例如 [a-z] 尋找符合 a-z 範圍間的字串
  • + 代表出現一次或多次,例如 a+ 尋找 a 出現一次或多次的字串
  • 現有資料有大小寫英文、空白、逗號。改寫規則[a-zA-Z\s,]+

40%

圖出處: https://regexper.com 教學:動動手來學 Regular Expression 正規表達式


進行資料處理

  • 資料處理: 使用 LibreOffice Calc 試算表軟體的 REGEX 函數,支援的 List of Regular Expressions
    • =REGEX(C2, "[a-zA-Z\s,]+") 如果 C2 儲存格包含英文、空格、逗號,則回傳符合字串,若無則回傳 #N/A
    • =REGEX(C2, "[[^\u0000-\u0080]+]+") 如果 C2 儲存格包含中文,則回傳符合字串,若無則回傳 #N/A
    • 不能用 =REGEX(C2, "[[:alnum:]\s,]+") 如果 C2 儲存格包含文數字,則回傳符合字串,若無則回傳 #N/A
    • 如果要用 Google Sheet 可以使用 REGEXMATCH 函數 =REGEXMATCH(C2, "([^\x00-\x80]+)") 如果 C2 儲存格包含中文,則回傳 TRUE ,若無則回傳 FALSE
  • 參考維基百科補上敘述 e.g. 紅毛城 - 维基百科,自由的百科全书

Wikidata 資料類型

陳述 (statement) 需要包含 entity, property & value

entity property value
金城武 (Q310252) 職業 (P106) 演員 (Q33999)

CSV 匯入範例

qid,Dzh
Q713077,位於台灣新北市淡水區的古蹟
Q5875008,位於今台灣新北市淡水區,為建造於1886年的火炮砲台,佔地約8公頃
Q10898933,為清朝淡水關稅務司的官邸,別稱小白宮,建於1870年,位於新北市淡水區埔頂
Q10911383,台灣臺北市直轄市定古蹟

可參考QuickStatements 文件提供的範例


匯入格式

P1234 設定該條目的 property


Len 設定指定語言代碼的 Label (標籤)

  • 語法: entity TAB property TAB value
  • 範例:Q10911383 TAB Lzh-tw TAB "原臺灣軍司令部" 代表將「原臺灣軍司令部 (Q10911383)」的中文(台灣) (zh-tw) 語言代碼的 標籤設定是「原臺灣軍司令部」

Dfr 設定指定語言代碼的 Description (描述)

  • 語法: entity TAB property TAB value
  • 範例:Q713077 TAB Dzh-tw TAB "位於台灣新北市淡水區的古蹟" 代表將「紅毛城 (Q713077)」的中文(台灣) (zh-tw) 語言代碼的 描述設定是「位於台灣新北市淡水區的古蹟」

Ade 設定指定語言代碼的 Alias (亦稱為)

  • 語法: entity TAB property TAB value
  • 範例:Q10911383 TAB Azh-tw TAB "原台灣軍司令部" 代表將「原臺灣軍司令部 (Q10911383)」的中文(台灣) (zh-tw) 語言代碼的 亦稱為設定是「原台灣軍司令部」

Senwiki 設定站內連結

  • 語法: entity TAB property TAB value
  • 範例:Q10911383 TAB Szhwiki TAB "原臺灣軍司令部"原臺灣軍司令部 (Q10911383) 連結到中文維基頁面「原臺灣軍司令部」
site id 語言
enwiki 英文 Wikipedia
zhwiki 中文 维基百科
zh-yuewiki 粵文 維基百科
zh_min_nanwiki 閩南語 Wikipedia, chū-iû ê pek-kho-choân-su
classicalwiki 文言 維基大典
hakwiki 客家話 維基百科-自由个百科全書

S1234 設定目前輸入陳述的資料來源是 P1234 ,但是不需要加上 P


陳述 加上 限定詞 (qualifier)

文件說明: Help:Qualifiers - Wikidata


開放街圖 OSM 屬性

OSM關係識別碼 (P402) :「地方或物件在開放街圖上的關係ID編號」例如:

bg


實際操作

  • 連往 QuickStatements
  • 登入 wikimedia 專案帳號
  • 點選 New Batch 按鈕
  • 輸入一行或多行指令
  • 點選 Import V1 commandsImport CSV commands
  • 負責任地預覽匯入結果
  • 確認執行結果,出錯時恢復上一步驟

資料探索

資料探索1: 該用什麼 property

列出古蹟(Q1081138) 使用的 property (link)

SELECT ?property ?propertyLabel (COUNT(?property) AS ?count) WHERE {
  ?item wdt:P31 wd:Q1081138 .
  ?item ?property ?value .
  SERVICE wikibase:label { 
    bd:serviceParam wikibase:language "zh" 
  }
}

GROUP BY ?property ?propertyLabel
ORDER BY DESC(?count)

相關資料: Wikidata:List of properties/art - Wikidata藝術相關維基數據屬性 (Q27918607)


cont. 排序 property 出現次數


資料處理

  • 如果原網址 http://www.wikidata.org/entity/P10 修改成 https://www.wikidata.org/wiki/Property:P10 否則會無法抓到標題,出現 #N/A 錯誤
  • 為避免重複,只篩選網址是 http://www.wikidata.org/prop/P 開頭
  • 使用 Google sheet IMPORTXML 函數 =IMPORTXML(C2, "//title") 自動抓取 C2 儲存格內網址的標題
  • 預設會抓到英文標題,顯示中文標題的方式是網址後加上 ?uselang=zh-tw

example


待續


資料探索2: 上級分類

Music genres

#graph rendering could be slow due to large number of results

#defaultView:Graph
SELECT ?item ?itemLabel 
  ?_image 
  ?_subclass_of ?_subclass_ofLabel
WHERE {
  ?item wdt:P31 wd:Q188451;
        wdt:P279 ?_subclass_of.
  SERVICE wikibase:label { 
  	bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". 
  }
  OPTIONAL { ?item wdt:P18 ?_image. }
}

查詢結果: https://w.wiki/6zj
網絡圖: http://bit.ly/2Ne1rvc


列出上級分類


新手技術問題排除

QuickStatements 匯入遇到 No valid command found


解決方式: (1) 如果是選擇「Import V1 commands」文字欄位值前後需要加上雙引號,要額外注意 entity 與 property 不需要加上雙引號

格式:entity TAB property TAB "value"

錯誤寫法

Q16929085	Dzh	位於台灣新北市市定古蹟

需要修改成

Q16929085	Dzh	"位於台灣新北市市定古蹟"

LibreOffice Calc 或 Excel 可以使用函數,在儲存格前後加上雙引號

="""" & C1 & """" 是的!重複四次雙引號!
或
=CHAR(34) & C1 & CHAR(34)

(2) 如果是選擇「Import CSV commands」檢查匯入內容的格式
QuickStatements 文件提供的範例

qid,Len,Den,Aen,P31,-P31,P21,P735,qal1545,S248,s214,S143,Senwiki
Q42,Douglas Adams,author,Douglas Noël Adams,Q5,Q36180,Q6581097,Q463035,1,Q54919,113230702,Q328,Douglas Adams

其他工具

Google sheet 外掛工具 Wikipedia and Wikidata Tools

example


參考資料

Select a repo