来自qwiki

阅读:475

  

更新日期:2022-02-22

  

最新编辑:Admin

前言

Semantic MediaWiki(语义MediaWiki,或简称SMW)是对MediaWiki软件的一个扩展。SMW可以在Wiki中添加利于机器处理的信息,改善Wiki站点之中的知识组织与结构,更利于Wiki用户搜索、浏览和分享知识。SMW可以引入特殊标记元素(语义标注 semantic annotations),为计算机程序提供提示,利用SMW的一种特殊标记来创建。除此之外,SMW当中的编辑操作与MediaWiki当中的完全相同。

Semantic MediaWiki当中的标注可看作是对MediaWiki之中现有类别体系的一种扩展。类别是依据特定准则对文章加以分类的一种手段。例如,通过为某篇文章添加[[分类:角色]],该页面就被标记为对某一角色的描述。Semantic MediaWiki则进一步为维基内容的结构化提供了手段。这项新增功能使得用户能够不仅仅停留在对文章的归类上。这些功能的使用方法和可能存在的问题与现有类别体系的情况类似。

除标注外, SMW还允许编者在文章当中内置语义查询(semantic queries)。因此,维基读者能够查阅现成的查询结果,而无须再去学习 SMW查询语言。

SMW的用处[1]

Semantic MediaWiki在维基文本之中额外引入了某些标记,从而让用户能够为维基添加"语义标注"。乍看上去这把事情变得更为复杂了,但其却大大地简化了维基的结构,有助于用户更快地找到更多的信息,并且改善了维基的总体质量和一致性。如下是应用SMW的一些好处:

自动化生成的列表

列表和表格是一种可以让信息变得一目了然的自然方式。在某些情况下,非语义型维基之中会包含人工编制的列表;Wikipedia本身就拥有成千上万张这样的列表,如"按人口排列的西班牙都市圈列表"。此类列表容易出错,因为必须加以手工维护。此外,潜在地令人感兴趣的列表也数目庞大,不可能都以令人接受的质量来提供所有这些列表。在SMW之中,列表则是采取像这样的方式自动生成的。这种列表始终保持最新,而且可以轻松地加以定制,从而获取进一步的信息。

信息的可视化呈现

语义结果格式(Semantic Result Formats)和语义地图(Semantic Maps)之类的额外扩展所定义的各种各样的显示格式,允许在比如日历、时间线、图形和地图等等当中呈现信息,与简单的列表和表格相比,提供了更为丰富的数据视图。

经过改进的数据结构

MediaWiki维基站点往往倾向于大量采用类别来实现数据的结构化。一般来说,这些类别的确有用,如Wikipedia类别"1620年代的出生者";然而,假如采用SMW来存储这些页面的信息的话,就可以采用简单的语义取值来取代这些类别,减少了采用复杂分类体系的必要性。而且,如果把维基之中的语义标记保存在模板,又称为语义模板(semantic templates)之中的话,维基站点即可轻松地获得一种稳固的数据结构。语义表单(Semantic Forms)扩展可让管理员能够创建表单,用于在语义模板之中添加和编辑数据,从而,与传统的维基文本相比,使语义信息的添加变得甚至更加容易,更加简便直观。

信息搜索

在Halo和语义钻取和语义表单之类扩展的支持下,具体的用户可以通过创建自己的查询,来搜索特定的信息。

外部的重复利用

一旦在SMW维基中创建之后,数据并不是就非得放在其维基站点当中;可轻松地将其导出成CSV和JSON之类的格式。这使得SMW维基站点可作为其他应用程序的数据源,或者在企业应用的情况下,可以取代关系型数据库通常所扮演的角色。借助于外部数据扩展、SPARQL及其他工具,基于SMW的维基站点甚至还可以利用另一个SMW维基站点的数据,消除维基站点之间冗余的必要。利用任何现场可用的RDF triplestore三元组存储(RDF triplestore)扩展,您还可以查询本维基之外的SMW数据。

数据的集成与混合

一个SMW安装包之中所包含的数据并非必须作为孤立的信息存储地。数据传输和外部数据之类的扩展,可使您能够集成外部数据(来自比如遗留系统、Web服务或者在链数据源<linked data sources>),并将其与该维基站点之中现有的语义数据相互联系起来。因此,在信息技术世界当中,SMW所支撑驱动的维基站点可以成为一种重要的中心信息枢纽。

语义搜索

Semantic MediaWiki之中包含一种简便易用的查询语言,可供用户用来访问存取维基站点上的知识。 该查询语言的语法类似于Semantic MediaWiki之中的标注语法。

语义查询要规定的事情有三个方面:

  1. 要选择哪些页面
  2. 要显示关于这些页面的哪些信息
  3. 以何种形式显示这些信息

所有的查询都必须声明一些条件,以描述究竟要的是什么。 您可以按名称、命名空间、类别,以及最为重要的是按属性取值来选择页面。

页面选择

Semantic MediaWiki之中语义搜索功能特性最为重要的部分就是,一种用来描述究竟应当把哪些页面显示为搜索结果的简单格式。 查询在选择维基页面时依据的是,利用类别(Categories)、属性(Properties)以及可能还有页面的命名空间之类其他某些的MediaWiki功能而为查询所规定的那些信息。

在许多情况下,我们所查找并不仅仅是某个特定的取值,而是一个取值范围;在有些情况下,则甚至可能查找的是特定属性具有任何取值的所有页面。利用比较操作符通配符可以列出此类的笼统条件。


通配符

通配符写作"+",指的是特定条件允许任何取值。例如,[[born in::+]]返回的是出生地属性«born in»具有任何取值的所有页面。


比较操作符

比较操作符是<>之类的特殊符号。 在属性条件里面,它们放在::后面。

  • >>:"大于"
  • <<:"小于"
  • >:默认为"大于等于",而当$smwStrictComparators = true;的时候,则为"大于"
  • <:默认为"小于等于",而当$smwStrictComparators = true;的时候,则为"小于"
  • :"大于等于"
  • :"小于等于"
  • !:"非"("不等于")
  • ~:«like»(类似于)字符串的模糊比较
  • !~:«not like»(不类似于)字符串的模糊比较

比较操作符仅适用于属性取值,而不能用于类别条件。

显示信息

Semantic MediaWiki之中的查询返回的是页面列表。默认结果仅仅是罗列出页面标题。利用附加的打印输出语句,可在查询结果之中包含上页面的属性取值或类别之类的附加信息。

打印输出语句有不同的种类,而查询当中开头的问号 ? 则能够对它们全部加以识别。 打印输出语句与打印描述之间的重要差别就是,前者并不会以任何方式对结果集加以限制,即使是对于特定的页面,某打印输出没有任何取值,也会打印输出空字段,而该页面却仍旧是该结果的组成部分。

结果格式

本页面描述的是可供Semantic MediaWiki (SMW)使用的结果格式。结果格式决定的是如何显示查询的结果。

SMW默认可用格式
页面 格式 描述
宽表格式 broadtable 采用一张宽表输出结果
类别格式 category 采用首字母为小节标题,并采用MediaWiki类别页面样式的分栏式列表
计数格式 count 返回的仅仅是结果的个数(匹配页面数量的计数),而不是结果本身
CSV格式 csv 用于采用Windows风格的逗号分隔型取值格式输出语义数据
调试格式 debug 用于分析查询应答过程之中的问题的调试信息
DSV格式 dsv 采用UNIX式样的分隔符分隔型取值(Delimiter Separated Value,DSV)格式来输出语义数据
内嵌格式 embedded 嵌入所选定的文章
JSON格式 json 采用JSON格式输出语义数据
列表格式 list 逗号分隔型列表,且带有括在英文圆括号当中的额外输出
编号列表格式 ol 编号列表,且带有括在英文圆括号当中的额外输出
RDF格式 rdf 将结果表格导出为RDF
表格格式 table 采用一张表格输出结果
模板格式 template 利用某个所指定的模板对结果进行格式编排和显示
项目符号列表格式 ul 项目符号列表,且带有括在英文圆括号当中的额外输出

SMW函数

详见帮助:解析器函数#SMW系列函数

举报