You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Semantic MediaWiki中#ask表格默认排序不生效,如何解决?

Semantic MediaWiki #ask查询默认排序不生效问题

问题详情

使用Semantic MediaWiki的#ask查询展示属性表格时,已指定sort=Prop和order=asc参数,但表格始终按页面创建顺序展示(示例中Prop值顺序为11,33,22),仅点击表头箭头可触发正确排序。

查询代码示例:

{{#ask:
[[Category:Object]]
|?Prop
| format=table
| sort=Prop
| order=asc
}}

涉及页面内容均为:

[[Category:Object]]
[[Prop::XX]]

已将Property:Prop声明为[[Has type::number]],重装SMW后问题仍存在。

当前环境

  • Semantic MediaWiki 4.1.0
  • Semantic Result Formats 4.0.1
  • MediaWiki 1.38.4

解决建议

  • 强制重建语义数据索引
    运行MediaWiki和SMW的维护脚本,确保语义数据被正确索引:

    php maintenance/update.php
    php extensions/SemanticMediaWiki/maintenance/rebuildData.php -v
    

    这能解决大部分因缓存或未正确更新索引导致的排序异常。

  • 调整查询语法,排除干扰
    尝试添加mainlabel=-参数,避免页面标题排序逻辑覆盖指定的属性排序:

    {{#ask:
    [[Category:Object]]
    |?Prop
    | format=table
    | sort=Prop
    | order=asc
    | mainlabel=-
    }}
    

    同时检查sort、order参数的拼写,确保无大小写或格式错误。

  • 验证属性类型与页面数据
    进入Property:Prop页面,确认Has type::number已正确生效(页面底部语义摘要会显示类型);重新保存所有带有Prop属性的页面,触发语义数据重新解析。

  • 检查配置参数
    查看LocalSettings.php,确认没有设置$smwgDefaultSort覆盖查询排序规则;临时关闭查询缓存测试:

    $smwgQueryCacheType = CACHE_NONE;
    

内容的提问来源于stack exchange,提问作者Oli Reading

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 21:05:00