概念

From semantic-mediawiki.org
概念
Explains how to use concepts as a set of pages described by a semantic query.
Table of Contents

Semantic MediaWiki之中,可以将查询存储在称为概念(concepts)的专门页面之上。 可以将这些页面视为"动态类别(dynamic categories)",也就是由非手工创建页面所组成的集合,是由SMW依据查询所提供描述而计算生成的。 欧洲城市的概念就是一个例子。在传统的MediaWiki安装当中,可设立一个称为欧洲城市/European cities的类别来收纳所有此类城市。 在SMW里,则是通过表达欧洲城市包含所有位于欧洲的城市,来定义欧洲城市这一概念的。可以创建许许多多关于城市的概念(诸如"首都"、"意大利城市"、或"位于江河边上的大型沿海城市"),而无须对任何城市页面加以变更。

创建概念[edit]

语义搜索帮助页面所述,概念就是命名空间Concept:当中的一个页面,且始终是采用语义查询来描述的。 例如,Concept:Semantic Web events 2008描述的是2008年期间的某些事件。为此,其概念页面之中含有下列文字:

{{#concept: [[Category:Event]] [[start date::> Jan 1 2008]] [[start date::< Dec 31 2008]] 
| Events in the year 2008 that have been announced on semanticweb.org. 
  To add more events, go to the page "Events" on semanticweb.org.
}}

解析器函数 #concept 用于定义概念。它的第一个参数就是概念定义。第二个参数是用于描述当前概念的简短文本。这项描述是可选性的,亦可略去不要。 在SMW之中,在概念的某些用途里面,可用来对相应的概念加以简明扼要的描述(比如,作为RSS提要当中的默认描述)。 完整的概念页面则会显示这些数据,并为查询结果提供预览。

概念页面上亦可存在其他内容。在#concept使用前后,均可加入正常的维基文本,但这并不会对当前概念的定义造成任何影响。 #concept解析器函数仅能用于命名空间Concept:之中的页面,且每个概念页面只能使用一次。

使用概念[edit]

与类别页面相似,同样可以通过浏览概念页面来查看某个概念的内容。但是,就像类别那样,亦可在其他的语义查询当中使用概念页面。例如,如下查询将显示的是归属于上述事件概念且同时又位于德国国内的所有页面:

[[Concept:Semantic Web events 2008]] [[located in::Germany]]

注意,假如我们也拥有一个称为"Semantic Web events 2008"的类别的话,这个查询看起来与之几乎没什么两样。因此,概念也类似于存储查询(stored queries),如果需要的话,可以再其他查询当中作为一种变量加以复用。

SMW的[Help:嵌入式查询|嵌入式查询]]亦可使用概念,而且在某些情况下,还可以利用概念定义来美化输出。亦可采用OWL 2类描述的形式,在SMW的RDF导出当中包含概念定义,从而其他的语义网工具能够下载和复用这些概念描述。

概念的高速缓存[edit]

为了改善性能,建议在您的维基站点上实施概念高速缓存。关于网站管理员如何管理这项工作,请参见这个帮助页面