Extension:Cargo

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的知識,以及如何工作、如何使用和如何安裝。

參見