配置
Lists configuration parameters that site administrators may modify according to the particular needs of their wiki.
Table of Contents

Semantic MediaWiki提供有许多的配置选项,网站管理员可以依照其维基站点的具体需要,对这些选项加以修改。 本页面将解释的是Semantic MediaWiki 1.7.0及以上版本的所有选项。 在您当前所使用版本的文件SMW_Settings.php里面,可以找到所有可用的选项。 要更改任何的配置选项,请在按照安装页面所述方法将SMW包括进来之后,把相应的赋值语句复制到您的LocalSettings.php文件当中。 请勿直接更改SMW_Settings.php,因为在软件升级时会覆盖您所做的变更。

安装设置[edit]

如下是与SMW的基本安装相关的设置。

参数 说明
$smwgNamespaceIndex 如果您在自己的站点上早已拥有自定义的命名空间,请在把SemanticMediaWiki.php(过去为SMW_Settings.php)包括进来之前,在您的LocalSettings.php文件之中插入:
  $smwgNamespaceIndex = ???;

其中,数字???必须是尚未使用的最小的偶数命名空间编号。不过,该数必须不小于100。

默认值: 100

$smwgEnableUpdateJobs SMW会将一些任务推迟到利用MediaWiki作业排队系统(job queueing system)编辑了某个页面之后(参见MW手册当中关于作业队列的页面)。例如,当变更某一属性的类型时,将安排所有受影响页面的(晚些时候的)更新。如果维基站点采取这种方式会产生过多的作业(Special:Statistics 和 "showJobs.php" 可用来检查这一情况),可采用如下设置来禁止此类作业。注意,这会造成语义数据的某些部分变得过时,因此可能会需要手工修订或者使用SMW_refreshData.php。

默认值: true

$smwgLinksInValues SMW是否应当接受[[property::位于取值当中的某个[[链接]]]]之类的输入呢?如果允许的话,当把非常长的文本作为取值的时候,这可能导致PHP崩溃(!)。这是因为PHP用于模式匹配的PCRE库当中存在的若干限制。所引发的PHP崩溃将使请求无法完成–通常,客户会收到服务器错误("invalid response",即无效响应)或者让去下载"index.php"。如果在您的维基站点上并未发现此类问题,启用该设置可能就没有问题。

默认值: false

$smwgUseCategoryHierarchy SMW是不是应当在查询当中考虑采用MediaWiki的子类别层级结构呢?如果设置为真,将总是像子类那样被解释子类别。例如,如果A是B的子类别,则针对B所有元素的查询,将同时也返回A的所有元素。如果关闭本项设置,仍可在某个类别页面上,利用属性Property:subcategory of(是…的子类),明确给出子类关系。只有当本项设置为假时,此类标注才会显示在事实框Factbox(在启用的情况下)当中。

默认值: true

$smwgCategoriesAsInstances 是否应当把那些采用[[Category:Foo]]语句的类别页面视为类别Foo的元素来处理呢?如果关闭本项设置,则不可能把类别页面作为其他类别的元素。另见上述的$smwgUseCategoryHierarchy。

默认值: true

$smwgNamespacesWithSemanticLinks 通过覆盖下列数组,您可以定义究竟是为哪些命名空间计算处理语义链接和标注。在其他页面上,可以给出标注,但会被悄然忽略。这一点是有用的,因为比如讨论页面通常并不拥有特征属性(attributes)之类的东西。关于一个讨论页面究竟可能具有什么样一种富有意义的特征属性,实际上并不清楚。在完整的OWL/RDF导出过程中,还会忽略那些不带标注的页面。除非从另一篇文章之中提及它们。

默认值:

$smwgNamespacesWithSemanticLinks = array(
	              NS_MAIN => true,
	              NS_TALK => false,
	              NS_USER => true,
	         NS_USER_TALK => false,
	           NS_PROJECT => true,
	      NS_PROJECT_TALK => false,
	             NS_IMAGE => true,
	        NS_IMAGE_TALK => false,
	         NS_MEDIAWIKI => false,
	    NS_MEDIAWIKI_TALK => false,
	          NS_TEMPLATE => false,
	     NS_TEMPLATE_TALK => false,
	              NS_HELP => true,
	         NS_HELP_TALK => false,
	          NS_CATEGORY => true,
	     NS_CATEGORY_TALK => false,
	     SMW_NS_PROPERTY  => true,
	SMW_NS_PROPERTY_TALK  => false,
	          SMW_NS_TYPE => true,
	     SMW_NS_TYPE_TALK => false,
	       SMW_NS_CONCEPT => true,
	  SMW_NS_CONCEPT_TALK => false,
);
$smwgPageSpecialProperties 页面相关特殊属性的列表。本项设置是在SMW 1.7当中新增的。其他可能的设置为:
  • array( '_CDAT' ) (对应于特殊属性创建日期)
  • array( '_MDAT', '_CDAT' ) - 两个均使用
  • array( ) - 什么也不使用

默认值: array( '_MDAT' ) (对应于特殊属性修改日期)

接口设置[edit]

如下是适合于SMW之中的各种维基页面以及适合于Special:Browse之类浏览界面的设置。

参数 说明
$smwgShowFactbox 这项设置可让您选择在哪些情况下您希望在某篇文章下方显示一个事实框。注意,魔术字__SHOWFACTBOX__和__NOFACTBOX__可用来控制具体页面的事实框显示。这项设置的其他选项包括:
  • $smwgShowFactbox = SMW_FACTBOX_NONEMPTY; 仅仅显示那些含有些内容的事实框
  • $smwgShowFactbox = SMW_FACTBOX_SPECIAL; 只有当设置了特殊属性时才显示
  • $smwgShowFactbox = SMW_FACTBOX_HIDDEN; 始终隐藏
  • $smwgShowFactbox = SMW_FACTBOX_SHOWN; 始终显示,存在错误,因而不推荐使用

默认值: SMW_FACTBOX_HIDDEN

$smwgShowFactboxEdit 与$smwgShowFactbox相同,但适用于编辑模式;具有同样的可能取值。

默认值: SMW_FACTBOX_NONEMPTY

$smwgToolboxBrowseLink 每个内容页面的工具箱之中是否应当显示一条链接,用于浏览这个使用Special:Browse的页面的那些属性呢?这是一种访问属性的有用方式,与在每个页面上显示一个事实框的做法相比,在某种程度上显得更为精巧。

默认值: true

$smwgInlineErrors 是否应当在紧随存在问题的输入之后维基文本里面显示警告呢?这仅仅影响语义标注,而不影响嵌入式查询或其他功能特性所显示的那些警告。

默认值: true

$smwgBrowseShowInverse 究竟是入射链接(incoming links)的浏览视图借助于相应的反向入射链接来显示入射链接呢,还是应当在对侧(on the other side)显示它们呢?

默认值: false

$smwgBrowseShowAll 浏览视图是否应当始终显示入射链接以及更多的入射取值?

默认值: true

$smwgSearchByPropertyFuzzy 当采用精确取值仅仅获得很少的结果时,“按属性搜索”特殊页面是否应当显示近似结果?如果该页面存在性能问题,请关闭该选项。

默认值: true

$smwgTypePagingLimit 类型命名空间Type之中的页面之上的那些列表里面所显示结果的个数。

默认值: 200

$smwgConceptPagingLimit 概念命名空间Concept之中的页面之上的那些列表里面所显示结果的个数。

默认值: 200

$smwgPropertyPagingLimit 属性命名空间Property之中的页面之上的那些列表里面所显示结果的个数。请使用较小的数值,因为这些列表需要的空间较多。

默认值: 25

$smwgMaxPropertyValues 为属性页面之上那些列表里面的每个页面所显示的取值的个数。当加大数值时,为了避免在显示属性页面时影响性能,减小$smwgPropertyPagingLimit可能会有用。

默认值: 3

$smwgMaxNonExpNumber SMW将不采用科学计数法所正常显示的最大数值。默认值相当大,因为某些用户理解指数有问题。为了简练显示的话,科技应用可以首先较小的数值。

默认值: 1000000000000000

查询设置[edit]

总体上适合于嵌入式查询和语义查询的设置。尤其可用来防止复杂查询所造成的过大的服务器负荷。下列设置将影响所有的查询,而不论它们出现在何处。

参数 说明
$smwgQEnabled 启用或关闭所有与查询相关的功能特性和接口/界面(interfaces)。

默认值: true

$smwgQMaxLimit 曾经(ever)所检索到的结果的最大数量,即使是使用特殊查询页面的情况下。

默认值: 10000

$smwgQSubcategoryDepth 子类包含(sub-category inclusion)的限制级别(Restrict level)(类别层级结构内的层数) 。采用0来关闭查询当中的层级结构推理功能(hierarchy-inferencing)。

默认值: 10

$smwgQSubpropertyDepth 子属性包含(sub-property inclusion)的限制级别(Restrict level)(属性层级结构内的层数) 。采用0来关闭查询当中的层级结构推理功能(hierarchy-inferencing)。

默认值: 10

$smwgQEqualitySupport 是否应当把页面名称之间的重定向视为所描述对象之间的等同关系?这通常适合于那些为一个页面提供数据的情况。可能的取值为:
  • SMW_EQ_FULL 在所有情况下都把重定向按照页面名称之间的等同关系来处理。
  • SMW_EQ_SOME 把重定向按照页面名称之间的等同关系来处理,且根据存储引擎的不同,可能存在性能方面的限制。这等价于适合于SMW 1.2版及以上版本默认存储引擎的SMW_EQ_FULL
  • SMW_EQ_NONE 决不把重定向按照页面名称之间的等同关系来处理。

请注意,改变本选项可能只有在重建数据库之中的所有数据之后才会生效。详情请参见修复SMW

默认值: SMW_EQ_SOME

$smwgQSortingSupport 是否应当有可能对查询结果进行排序?

默认值: true

$smwgQRandSortingSupport 启用或关闭查询结果的随机排序。

默认值: true

$smwgQDefaultNamespaces 应当默认搜索哪些命名空间?取值NULL即可关闭对搜索的默认限制,这样速度更快。一个带有命名空间的示例取值就是:array(NS_MAIN, NS_IMAGE)

默认值: NULL

$smwgQComparators 查询所支持的,采用'|'来分隔的比较操作符字符列表。该列表的可能条目有:
  • < (小于或等于)
  • > (大于或等于)
  • << (小于)
  • >> (大于)
  • ≤ (小于或等于 - 请注意:这是一个扩展ASCII字符,且可能以不同的方式显示,如â¤
  • ≥ (大于或等于 - 请注意:这是一个扩展ASCII字符,且可能显示为â¥之类的样子)
  •  ! (等于)
  • ~ (以'*'为通配符匹配一个模式,仅适合于字符串数据类型String
  •  !~ (不以'*'为通配符匹配一个模式,仅适合于字符串数据类型String

如果使用了不支持的比较操作符,将把它们作为所查询取值的组成部分来处理。根据$smwStrictComparators设置的不同,比较操作符<和>的行为会有所不同。

默认值: '<|>|!~|!|~|≤|≥|<<|>>'

$smwStrictComparators 启用或关闭对比较操作符(comparator symbols)的严格处理

默认值: false

$smwgIgnoreQueryErrors 即使是在发现某些错误的情况下,是否也应当执行查询?在任何情况下,将显示一条指出错误的提示信息。

默认值: true


嵌入式查询和Special:Ask的设置[edit]

下列设置将影响嵌入式查询和查询特殊页面,尤其是Special:Ask页面。 本质上来说,它们应当反映的是,维基站点应当利用所需的无论什么样的计算处理,立即加以应答的那种查询。

参数 说明
$smwgQMaxSize 查询之中条件的最大个数。在嵌入式查询当中采用format=debug来指定示例大小(example sizes)

默认值: 12

$smwgQMaxDepth 查询的最大属性深度,如[[rel.rel2::Test]]所具有的深度为2。在嵌入式查询当中采用format=debug来指定示例深度(example depth)

默认值: 4

$smwgQFeatures 该设置定义的是默认情况下究竟哪些查询功能特性应当可用。功能特性的可用类型有:
  • SMW_PROPERTY_QUERY 适合于[[property::...]]形式(form)的条件
  • SMW_CATEGORY_QUERY 适合于[[Category:...]]形式(form)的条件
  • SMW_CONCEPT_QUERY 适合于[[Concept:...]]形式(form)的条件
  • SMW_NAMESPACE_QUERY 适合于[[Namespace:+]]形式(form)的条件
  • SMW_CONJUNCTION_QUERY 适合于一个查询之中多个条件的组合
  • SMW_DISJUNCTION_QUERY 适合于采用 OR 或者 ||的查询

这些功能特性组合在一个列表当中,并采用|加以分隔。比如:

  • $smwgQFeatures = SMW_CATEGORY_QUERY | SMW_CONJUNCTION_QUERY; 仅仅允许类别交集
  • $smwgQFeatures = SMW_CONCEPT_QUERY; 仅仅允许概念查询(或许是经过高速缓存的
  • $smwgQFeatures = SMW_ANY_QUERY & ~SMW_DISJUNCTION_QUERY; 允许除析取(disjunctions)以外的任何东西

默认值: SMW_PROPERTY_QUERY | SMW_CATEGORY_QUERY | SMW_CONCEPT_QUERY | SMW_NAMESPACE_QUERY | SMW_CONJUNCTION_QUERY | SMW_DISJUNCTION_QUERY (允许所有的基本功能特性)

$smwgQMaxInlineLimit 单个页面上单个嵌入式查询之中所输出(ever printed)的最大行数,即使是设置limit=...

默认值: 500

$smwgQPrintoutLimit 所支持的打印输出的最大数量(added columns in result table, ?-statements)。

默认值: 100

$smwgAutoRefreshSubject 在页面存储语义数据之后是否自动刷新页面,从而对于它们自己数据的查询会立即显示所期望的结果。要么为true,要么为false。

默认值: true

概念查询设置[edit]

关于查询的进一步设置。 下列设置将影响作为概念页面组成部分的那些查询。 通常,选择此类查询时要比嵌入式查询的限制更少,因为还有两种其他手段来控制它们的使用:

  1. 不允许作为普通查询的概念查询将不会直接执行,但却可以使用预先计算出来的结果。这是默认值。关于如何利用此项的详情,请参见概念高速缓存
  1. 可将整个 Concept: 命名空间限制到某个经验丰富的,可以合理地创建更加复杂查询的用户群。其他的用户则可以在自己的查询之中利用这些已经定义的概念。
参数 说明
$smwgQConceptCaching 只要可以从高速缓存那里获得的时候,应当显示哪些概念?可能的取值为:
  • CONCEPT_CACHE_ALL 只要高速缓存了概念元素,即显示任何位置的概念元素
  • CONCEPT_CACHE_HARD 如果概念并不比允许的嵌入式查询困难,即在没有高速缓冲的情况下加以显示
  • CONCEPT_CACHE_NONE 显示所有的概念,即使没有任何的高速缓存

在任何情况下,如果有可用的高速缓冲,将总是使用高速缓冲(不过,请参见$smwgQConceptCacheLifetime)。

默认值: CONCEPT_CACHE_HARD

$smwgQConceptMaxSize $smwgQMaxSize相同,不过适合于概念。

默认值: 20

$smwgQConceptMaxDepth $smwgQMaxDepth相同,不过适合于概念。

默认值: 8

$smwgQConceptFeatures $smwgQFeatures相同,不过适合于概念。请注意:当前并不支持在概念之中使用概念 – 请勿启用这项设置!

默认值: SMW_PROPERTY_QUERY | SMW_CATEGORY_QUERY | SMW_NAMESPACE_QUERY | SMW_CONJUNCTION_QUERY | SMW_DISJUNCTION_QUERY

$smwgQConceptCacheLifetime 这项设置定义的是高速缓冲以分钟来计算的使用寿命。如果某一概念缓存已存在,且比本项设置更久,则SMW就会尝试重新计算它;而且,如果因为上述设置而不允许这么做的话,SMW将只会使用该概念缓存。

默认值: 24 * 60 (= 1 天)

查询格式编排/显示设置[edit]

参数 说明
$smwgQDefaultLinking 如果未作其他说明,究竟应当链接嵌入式查询之中哪些结果列?可能取值为'none''subject'(仅仅位于第一列的链接)、'all'

默认值: 'all'

$smwgQDefaultLimit 查询所返回的默认行数。可在#ask之中采用limit=...增大该数值。

默认值: 50

$smwgResultFormats 本项设置之中包含的是维基站点所支持的所有查询结果格式所组成的一个数组。通常,提供额外格式的扩展会自动对其加以扩展。然而,也可以手工设置该数据,如禁用某些格式。如要禁用某格式,采用unset($smwgResultFormats['template']);即可。对于被禁用的格式的处理就像忽略了相应的格式参数一样。'table'(表格)和'list'(列表)乃是不可禁用的默认格式。为了不破坏Special:Ask,也不应当禁用格式'broadtable'(宽表)。

默认值:

array(
	'table' => 'SMWTableResultPrinter',
	'list' => 'SMWListResultPrinter',
	'ol' => 'SMWListResultPrinter',
	'ul' => 'SMWListResultPrinter',
	'broadtable' => 'SMWTableResultPrinter',
	'category' => 'SMWCategoryResultPrinter',
	'embedded' => 'SMWEmbeddedResultPrinter',
	'template' => 'SMWListResultPrinter',
	'count' => 'SMWListResultPrinter',
	'debug' => 'SMWListResultPrinter',
	'rss' => 'SMWRSSResultPrinter',
	'csv' => 'SMWCsvResultPrinter',
	'dsv' => 'SMWDSVResultPrinter',
	'json' => 'SMWJSONResultPrinter',
	'rdf' => 'SMWRDFResultPrinter'
);

导出设置[edit]

RSS导出[edit]

参数 说明
$smwgRSSEnabled 是否应当启用RSS?RSS所造成的负荷并不会比Special:Ask大,但其可能会吸引更多的用户。

默认值: true

$smwgRSSWithPages RSS究竟应该提供完整的页面,还是仅仅提供指向这些页面的链接?

默认值: true

OWL/RDF导出[edit]

参数 说明
$smwgAllowRecursiveExport 普通用户能否请求递归式的导出?也就是说,一种OWL/RDF形式的导出;其中,包括对所提及的全部页面以及他们所提及的所有页面的完整导出等等诸如此类。建议仅仅用于非常小型的维基站点。

默认值: false

$smwgExportBacklinks 入射型属性(incoming properties)是否应当作为OWL/RDF导出的组成部分?

默认值: true

$smwgNamespace; 所导出URIs的URI命名空间(URI-namespace)。如果什么也没有提供,将会采用提供用于enableSemantics()的基本URL进行自动设置。但是,为了构造pretty URIs,将需要您为此项加以某种有效的设置,并适当地更改您的Apache配置。例如,在semanticweb.org站点上,URIs的形式为http://semanticweb.org/id/FOAF。如下是一个示例设置:
$smwgNamespace = 'http://example.org/id/';

默认值: unset

其他设置[edit]

下列设置通常无需任何修改。

参数 说明
$smwgPDefaultType 默认属性类型。未加定义的属性(即那些没有页面的属性,或者其页面没有"has type"语句的属性)将被假定为此类型。这是一个内部类型标识符。要找到在您的语言里面数据类型究竟采用哪些IDs,请参见文件languages/SMW_LanguageXX.php。默认值对应于"Type:Page"。

默认值: '_wpg' (对应于页面型数据类型)

$smwgDefaultStore 将另外一个存储后端用于Semantic MediaWiki。另一个设置选项就是'SMWSparqlStore'(参见下文)。

默认值: 'SMWSQLStore2'

$smwgSparqlDatabase 为Semantic MediaWiki配置SPARQL数据库连接。当启用基于SPARQL的功能特性时要使用本设置。比如,当把'SMWSparqlStore'用作$smwgDefaultStore的时候。

默认值: 'SMWSparqlDatabase'

$smwgSparqlQueryEndpoint 为Semantic MediaWiki配置SPARQL数据库连接。当启用基于SPARQL的功能特性时要使用本设置。适合于查询的端点(服务URL)(读取SELECT之类的查询)。该端点是必需的。

默认值: 'http://localhost:8080/sparql/'

$smwgSparqlUpdateEndpoint 为Semantic MediaWiki配置SPARQL数据库连接。当启用基于SPARQL的功能特性时要使用本设置。适合于更新的端点(服务URL)(SPARQL Update 查询)。如果不支持的话,可予以忽略。

默认值: 'http://localhost:8080/update/'

$smwgSparqlDataEndpoint 为Semantic MediaWiki配置SPARQL数据库连接。当启用基于SPARQL的功能特性时要使用本设置。适合于数据的端点(服务URL)(SPARQL HTTP Protocol for Graph Management,即适用于图形管理的SPARQL HTTP协议)。如果不支持的话,可予以忽略。

默认值: 'http://localhost:8080/data/'

$smwgSparqlDefaultGraph 默认图形类似于关系数据库当中的数据库名称。可将其设置成任何的URI(比如,您的维基站点的主页URI,并再追加上"#graph")。当对存储进行配置以使用某个默认的图形或者当其总体上支持这点的时候,将默认图形URI保留为空才会有效。不同的维基站点通常应当采用不同的默认图形,除非有很好的理由共享同一图形。

默认值: ''

$smwgTranslate 将此项设置为true,将允许对Special:Browse之中的所有标签(假设它们拥有跨维基站点的链接)均加以翻译。当前,该功能特性已被禁用,且不能采用本项设置加以启用。

默认值: false

$smwgAdminRefreshStore 如果本项设置为true,即可采用Special:SMWAdmin页面上的界面对维基站点的数据加以修复。将此项设置为false,并不会阻止不断进行之中的修复过程。

默认值: true

$smwgHistoricTypeNamespace 如果本项设置为true,您仍可访问旧的命名空间Type (104)和Type_talk (105)。二者已被Special:Types所取代,且从SMW 1.6.0版开始即已废弃。

默认值: false


... more about "配置"
Lists configuration parameters that site administrators may modify according to the particular needs of their wiki. +
配置 +
Has subobject"Has subobject" is a predefined property representing a container construct and is provided by Semantic MediaWiki.
Has parent pageThis property is a special property in this wiki.