Semantic MediaWiki
外观
语义媒体维基(Semantic MediaWiki,简称 SMW)是 MediaWiki 的一个扩展,它为传统的百科式条目引入了“语义层”。通过在页面中添加架构化属性,SMW 让知识不再仅仅是文本,而是可以被计算机理解、查询和重用的数据[注 1][1][2]。这种语义化能力使得 MediaWiki 不仅能作为内容管理系统,还能发展成轻量级的知识图谱与数据平台。无论是个人知识库、学术项目,还是企业内部的信息管理,SMW 都能提供强大的数据建模、查询和可视化支持。
SMW 的基本概念
SMW 的核心思想是通过“语义属性(Properties)”对页面内容进行标注,从而使维基既是知识库,也是数据库。
语义属性(Properties)
语义属性 是 SMW 中最基本的构建模块。
- 在条目中,编辑者可以为某个主题添加属性及其值,例如:
- 条目 Python 可以被赋予属性
条目类型::编程语言 - 条目 深圳 可以被赋予属性
所在国家::中国
- 条目 Python 可以被赋予属性
- 属性的形式类似于“键-值对”,其中“键”是属性名称(Property),而“值”可以是字符串、数值、日期、地理坐标,甚至是指向其他条目的链接。
- 通过属性,条目的信息不再只是自然语言文本,而是能被计算机理解和处理的结构化数据。
SMW 允许用户预先定义属性的类型(例如文本、数字、布尔值、页面链接等),以确保数据的一致性和可查询性。
分类(Categories)与概念(Concepts)
查询(Semantic Queries)的基本原理
SMW 的另一大核心功能是 语义查询。
- 查询的目标是,基于语义属性,从维基中提取结构化信息。
- 最常用的查询语法是
#ask解析器函数。例如: {{ #ask: [[条目类型::wiki 站点]] | ?站点链接 | format=table | limit=10 | mainlabel=站点名称 }}- 这个查询会返回“一个呈现 wiki 站点的表格,首列标题为站点名称,第二列标题为站点链接,表格项数限制为 10 项”[注 2]。
语义查询的特点:
- 基于条件过滤:用户可以根据属性和值筛选条目
- 可视化展示:查询结构可以以表格、列表、地图等多种形式呈现。
- 动态更新:当条目数据发生变化时,所有依赖的查询结构会自动刷新,保持一致性
通过语义查询,SMW 将一个普通的维基转变为强大的信息检索系统,能够支持类似数据库的功能。