Cargo 是MediaWiki的一項擴展,可以提供輕量的方式來存儲和查詢數據,這些數據是通常通過信息框(infobox)等模板調用的。 Cargo在概念上類似於Semantic MediaWiki擴展,但是有許多優點,比如容易安裝,容易使用。
Cargo將所有的數據存在資料庫表中,而這些表可以被MediaWiki自己的資料庫(默認)或分開的數據替換。 在大多數情況下,每個模板都會將其數據存儲在單個資料庫表中,每個相關模板參數對應一列。 有少量例外:包含數組/列表以及包含地理位置的欄位的處理會更複雜一些,這是因為大多數資料庫系統缺乏對這些類型的原生支持。 多個模板也可以將它們的數據存儲在同一個資料庫表中。
這個擴展定義了許多解析器函數,以下三個最為重要:
#cargo_declare
- 位於模板的<noinclude>
部分,為表定義概要。#cargo_store
- 為Cargo的表存儲一行,通常位於模板的<includeonly>
部分。#cargo_query
- 查詢一個或多個Cargo數據表,使用SQL組件。
還定義了以下解析器函數:
#cargo_attach
- 定義一個模板加入其他模板聲明的行。#cargo_compound_query
- 在一個位置顯示多次查詢結果。#cargo_display_map
- 顯示一個單點的地圖。#recurring_event
- 輸出反覆發生時間的日期,為了#cargo_store使用。
Cargo還定義了各種接口,用於查看和向下鑽取此存儲的數據。
Cargo使用MySQL和PostgreSQL資料庫系統測試和工作。 理論上也支持SQLite,但是並沒有充分測試,而且有可能無法正常工作。
Cargo擴展要求MediaWiki的版本至少為MediaWiki 1.32+。
本頁頂部的導航框列舉了一些關於Cargo的頁面,可以了解更多Cargo的知識,以及如何工作、如何使用和如何安裝。
參見
- 手冊:在MediaWiki管理數據 – 概覽和比較。
- DynamicPageList – 允許從頁面提取數據
- Semantic MediaWiki – 允許在頁面內儲存和查詢數據。
- WikiDB – 提供資料庫功能,有點類似於語義屬性。
- Wikibase – 作為維基數據項目的一部分,允許展示和維護結構性數據。