Semantic MediaWiki

Ztm0929留言 | 贡献2025年10月5日 (日) 05:36的版本

语义媒体维基(Semantic MediaWiki,简称 SMW)是 MediaWiki 的一个扩展,它为传统的百科式条目引入了“语义层”。通过在页面中添加架构化属性,SMW 让知识不再仅仅是文本,而是可以被计算机理解、查询和重用的数据[注 1][1][2]。这种语义化能力使得 MediaWiki 不仅能作为内容管理系统,还能发展成轻量级的知识图谱与数据平台。无论是个人知识库、学术项目,还是企业内部的信息管理,SMW 都能提供强大的数据建模、查询和可视化支持。

Semantic MediaWiki
简介 一个 MediaWiki 扩展
网站 semantic-mediawiki.org

semantic-mediawiki.org

SMW 的基本概念

SMW 的核心思想是通过“语义属性(Properties)”对页面内容进行标注,从而使维基既是知识库,也是数据库。

语义属性(Properties)

语义属性 是 SMW 中最基本的构建模块。

  • 在条目中,编辑者可以为某个主题添加属性及其值,例如:
    • 条目 Python 可以被赋予属性 条目类型::编程语言
    • 条目 深圳 可以被赋予属性 所在国家::中国
  • 属性的形式类似于“键-值对”,其中“键”是属性名称(Property),而“值”可以是字符串、数值、日期、地理坐标,甚至是指向其他条目的链接。
  • 通过属性,条目的信息不再只是自然语言文本,而是能被计算机理解和处理的结构化数据。

SMW 允许用户预先定义属性的类型(例如文本、数字、布尔值、页面链接等),以确保数据的一致性和可查询性。

分类(Categories)与概念(Concepts)

在 SMW 的语义框架中,“分类(Categories)”和“概念(Concepts)”是两个用于组织和分组条目的不同机制。二者各有定位与用途,理解它们的差异与协作方式对构建语义知识库非常关键。

分类(Categories)

分类是 MediaWiki 的原生功能[3],不是 SMW 特有的。SMW 扩展并不“重写”分类系统,而是沿用并兼容 MediaWiki 的分类机制:

  • 在普通 MediaWiki 中,用户可以在页面中添加 [[Category:某分类]],将页面归入某个分类[注 2]。此分类会自动生成一个分类页,列出所有归入该分类的页面。
  • 在 SMW 中,依然可以对条目使用分类标签,SMW 并不会屏蔽或替代这个功能。
  • SMW 强化了 分类与属性/查询 的协同关系:分类既可以作为一种粗粒度的组织方式,也可以在语义查询中作为一种条件(如 [[Category:信息技术]])用来过滤页面。
  • SMW 文档[4]中是这么说的:

“Categories 是 MediaWiki 提供的分类内容的方式。SMW 推荐在一个领域 (domain) 内使用分类 (classes),而在分类的成员 (instances) 上使用属性 (properties) 来描述细节。”

  • 分类可以有层级关系(子分类 / 超分类),用于建立粗粒度的组织结构。

因此,分类主要用于 大型主题 / 类别划分人为分组,对于快速粗略组织条目的作用仍然重要。


查询(Semantic Queries)的基本原理

SMW 的另一大核心功能是 语义查询

  • 查询的目标是,基于语义属性,从维基中提取结构化信息。
  • 最常用的查询语法是 #ask 解析器函数。例如:
  • {{ #ask: [[条目类型::wiki 站点]] | ?站点链接 | format=table | limit=10 | mainlabel=站点名称 }}
  • 这个查询会返回“一个呈现 wiki 站点的表格,首列标题为站点名称,第二列标题为站点链接,表格项数限制为 10 项”[注 3]
站点名称站点链接
Ac-Wikihttps://ac-wiki.cn
CS自学指南https://csdiy.wiki
CTF Wikihttps://ctf-wiki.org/
Easy-QFNUhttps://doc.easy-qfnu.top/
Linux 101 在线讲义https://101.lug.ustc.edu.cn/
Linux 201 进阶教程https://201.ustclug.org/
Linux Do Wikihttps://wiki.linux.do
MediaWikihttps://mediawiki.org/
NixOS Wikihttps://wiki.nixos.org/
OI Wikihttps://oi-wiki.org/
Semantic MediaWikihttps://semantic-mediawiki.org
WikiIndexhttps://wikiindex.org/
wikiHowhttps://www.wikihow.com/
上海交通大学大学飞跃手册https://survivesjtu.github.io/SJTU-Application/
你缺失的那门计算机课https://www.criwits.top/missing
地球联合百科https://unitedearth.wiki
大学生活质量指北https://colleges.chat
寻路之南https://cs4ncu.space/
神奇宝贝百科https://wiki.52poke.com/
维基百科https://zh.wikipedia.org/
西邮 Wikihttps://wiki.cooo.site/
计算机教育中缺失的一课https://missing-semester-cn.github.io/

语义查询的特点:

  • 基于条件过滤:用户可以根据属性和值筛选条目
  • 可视化展示:查询结构可以以表格、列表、地图等多种形式呈现。
  • 动态更新:当条目数据发生变化时,所有依赖的查询结构会自动刷新,保持一致性

通过语义查询,SMW 将一个普通的维基转变为强大的信息检索系统,能够支持类似数据库的功能。

安装与配置

建模与数据录入

数据查询与展示

/API 请求

可视化与扩展生态

WikibaseCargo 等方案的关系

结语

另请参阅

注释

  1. 在引入 NLP 等技术处理之前,人类能够轻易理解的文本对于计算机来说只是一串字符,没有结构化的含义。
  2. 本站的知识条目绝大多数都属于信息技术工商经管两大分类。
  3. 就像是我们日常操作 Excel 那样!

参考资料