Help:调试格式

From semantic-mediawiki.org
调试格式
用于分析查询应答过程之中的问题的调试信息
进一步的信息
提供方: Semantic MediaWiki
最低版本: 0.7
最高版本: 依然支持
要求:
格式名称: debug
作者: Markus Krötzsch
类别: misc
目录

调试格式debug用于获取关于Semantic MediaWiki如何处理某个查询的背景信息。 这些信息有助于理解某个查询为何可能会返回意外的结果,对开发人员修复查询应答过程中的缺陷至关重要。

参数[edit]

调试格式并没有特有的嵌入式查询参数。 此结果格式未提供格式特定参数。

示例[edit]

{{#ask: [[Category:City]] [[located in::Germany]] 
| ?population = 人口数量
| ?area#km² = 面积(km²)
| format=debug
}}

该查询将产生下列输出:

SQLStore debug output
ASK Query
[[Category:City]] [[Located in::Germany]]
SQL Query
SELECT DISTINCT
  t0.smw_id AS id,
  t0.smw_title AS t,
  t0.smw_namespace AS ns,
  t0.smw_iw AS iw,
  t0.smw_subobject AS so,
  t0.smw_sortkey AS sortkey, t0.smw_sort
FROM
  `smw_object_ids` AS t0
INNER JOIN
  (`smw_fpt_inst` AS t2
INNER JOIN
  `t3` AS t3 ON t2.o_id=t3.id
INNER JOIN
  (`smw_di_wikipage` AS t4
INNER JOIN
  `t5` AS t5 ON t4.p_id=t5.id) ON t2.s_id=t4.s_id) ON t0.smw_id=t2.s_id
WHERE
  (
   (t4.o_id='779')
  )
  AND t0.smw_iw!=':smw'
  AND t0.smw_iw!=':smw-delete'
  AND t0.smw_iw!=':smw-redi'
ORDER BY
  t0.smw_sort ASC
LIMIT
  55
OFFSET
  0
SQL Explain
IDselect_typetabletypepossible_keyskeykey_lenrefrowsExtra
1SIMPLEt5ALLPRIMARY2Using temporary; Using filesort
1SIMPLEt4refs_id,o_id,p_id,s_id_2,s_id_3,o_id_2,o_id_3o_id_39const,DB0231020151216.t5.id2
1SIMPLEt0eq_refPRIMARY,smw_id,smw_iw,smw_iw_2PRIMARY4DB0231020151216.t4.s_id1Using where
1SIMPLEt2refs_id,o_id,s_id_2,o_id_2s_id_24DB0231020151216.t4.s_id1Using where; Using index; Distinct
1SIMPLEt3eq_refPRIMARYPRIMARY4DB0231020151216.t2.o_id1Distinct
Auxilliary Tables
  • Temporary table t3
      Recursively computed hierarchy for element(s) ('148509').
      SELECT s_id FROM `smw_fpt_subc` WHERE o_id='148509' LIMIT 1
  • Temporary table t5
      Recursively computed hierarchy for element(s) ('148244').
      SELECT s_id FROM `smw_fpt_subp` WHERE o_id='148244' LIMIT 1
Query Metrics
Query-Size:3
Query-Depth:1
Errors and Warnings
None

如何读取调试输出[edit]

调试输出当中含有一些仅仅对开发人员有用的信息,但其同时对维基站点编者调试查询来说,也会提供一些具有指导意义的信息。

可读性较强的部分显示在顶部。这通常是SMW所理解的那个维基查询的某个版本。 所显示的这个查询可能会有别于用户当时的输入。 这可能是因为SMW只是在表达某些查询时采用了不同的方式(不同的编写风格),但其中同时也可能显示出该查询之中某些为SMW所不理解的或者理解错误的部分。

同时,还会显示一些关于query size(查询规模)和query depth(查询深度)的信息,以及所遇到的错误消息。 规模和深度乃是SMW用来限制查询复杂程度的内部参数。 维基网站管理员可以将查询限制到某个最大的查询规模深度 (如果存在问题,则会将其显示为一个错误),因而这种输出可能有助于理解在处理某些查询时的规模和深度如何。

调试报告的其余内容则通常与SMW所执行的,那些用来应答当前查询的内部存储功能有关。 这部分也取决于SMW的具体存储实现和版本,而且通常只有开发人员才是可能使用这些信息的人员。

评注[edit]

调试输出的细节取决于所采用的SMW的版本以及存储引擎。这些信息应当包含在调试报告之中。



本文档页面适用于SMW从0.7版到最新版本的所有版本。
      其他语言: deenfr

Help:Debug format zh-hans 0.7