小无编辑摘要 |
小无编辑摘要 |
||
第2行: | 第2行: | ||
{{infobox|float=right|width=300px|style=border:1px solid gray;margin:0px 10px;padding:5px 50px; | {{infobox|float=right|width=300px|style=border:1px solid gray;margin:0px 10px;padding:5px 50px; | ||
|header= | |header= | ||
===== 使用 Cargo 扩展 ===== | ===== 使用 [[Extension:Cargo|Cargo]] 扩展 ===== | ||
|content=---- | |content=---- | ||
* [[{{FULLPAGENAME}}/Storing_data|存储数据]] | * [[{{FULLPAGENAME}}/Storing_data|存储数据]] |
2023年11月3日 (五) 14:49的最新版本
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 – 作为维基数据项目的一部分,允许展示和维护结构性数据。