Semantic Mediawiki中的模板中使用的属性数量是否有限制?

问题描述

模板中使用的属性数量是否有限制? 我们在许多模板中使用了很多属性。 但是从一开始我们就无法向模板添加任何新的可重用属性。 我们可以创建新属性,并使用#set或[[]]子句将其值作为文本添加页面中。 而且我们可以通过语义搜索来使用它。 但是,当我们将属性添加到模板中并将值添加为模板值时,SW不会看到它的值,而语义搜索也找不到它。

我们从MW 1.29.1和SMW 2.5.5迁移到新版本-“ smw”:“ 3.1.5”, “ mediawiki”:“ 1.34.0”, 并使用任何组合键运行重建脚本。但这并不能解决问题。有什么想法吗?

解决方法

它是SMW的经典缺点。

我尚未对此事进行技术探讨,但我认为它们与标准的MediaWiki机制存在冲突,该机制忽略了页面保存而不修改页面内容。

从页面的角度来看,模板内部的更改不会修改其内容...

要刷新,页面内容需要进行修改并保存。

一种快速而又肮脏的解决方法是对一个程序进行编程,该机器人在每个需要的页面的页面内容末尾添加一个空格字符,从而触发整个页面的重新解析。

,

这可能是模板问题。

模板中使用的某些逻辑可能会阻止SMW对属性进行索引

确保{{#set:不在{{#if:<noninclude>

其中一个SMW维护脚本应负责在对使用的模板进行更改后再次从页面中索引属性。

例如,如果您手动保存页面,则将为此索引,但是维护脚本可能不会对其进行索引。

{{#if: {{CURRENTLOGGEDUSER}} | {{#set:Key=Value|Key2={{{templateValue|}}} }} }}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...