如何在语义MediaWiki表单中禁用文本区域中的语义标记?

如何在语义MediaWiki表单中禁用文本区域中的语义标记?,mediawiki,mediawiki-extensions,semantic-mediawiki,Mediawiki,Mediawiki Extensions,Semantic Mediawiki,我正在开发一个由用户主持的数据库,并将MediaWiki与语义MediaWiki作为一个引擎。我安装了语义表单,以强制最终用户在创建或编辑条目时遵守特定标准。问题在于,由于用户可以向任何表单文本输入添加语义符号,因此可能会破坏系统的正确结构,即,如果它是IMDB克隆,用户可以添加[[导演:Forest Gump]]],这将导致电影“Forest Gump”出现在导演列表下 我怀疑是否有任何设置可以简单地关闭或打开此功能,但对于如何使其工作,我有一两个想法 首先,也许有一种方法可以禁用特定名称空间

我正在开发一个由用户主持的数据库,并将MediaWiki与语义MediaWiki作为一个引擎。我安装了语义表单,以强制最终用户在创建或编辑条目时遵守特定标准。问题在于,由于用户可以向任何表单文本输入添加语义符号,因此可能会破坏系统的正确结构,即,如果它是IMDB克隆,用户可以添加
[[导演:Forest Gump]]]
,这将导致电影“Forest Gump”出现在导演列表下

我怀疑是否有任何设置可以简单地关闭或打开此功能,但对于如何使其工作,我有一两个想法

首先,也许有一种方法可以禁用特定名称空间上的语义表示法,并将表单放在这些名称空间上。我有一种感觉,这只会导致表格破裂


另一个想法是修改代码。这显然是不太理想的方法。要开始,我相信我需要在
SFTextAreaInput
上创建某种过滤器,这将禁用用户插入文本的语义标记,但遗憾的是,我不确定如何开始这项工作。

好吧,语义媒体维基仍然是一个维基。在传统的企业数据库中,可以限制用户的输入选项,以确保数据完整性。维基不是这样做的;wiki的想法是,是的,用户可以输入不正确的信息,但是另一个用户会修改它,让第一个用户知道什么是错误的

我不会强迫SMW进行严格的数据采集。我的意思是,您可以选择删除表单中的
标准输入
字段:

'''Free text:'''

{{{standard input|free text|rows=10}}}
如果用户在选择导演页面时选择了电影页面,那么您可能希望通过从导演类别填充表单控件来鼓励正确的选择,如:

{{{field|Director|input type=combobox|values from category=Directors}}}
是的,他们仍然可以选择“阿甘正传”,但如果真是这样的话,那么有人故意回避预选的正确选项这一事实比制度允许的事实更令人担忧


当系统鼓励而不是强制执行有效的知识时,Wiki最有效。

我的名字是Wolfgang Fahl,我支持smartMediaWiki方法。您可能想选择smartMediaWiki路线 看

首先,不要只看属性值,也要看类别

{{#ask: [[Category:Movie]] [[Directed by::+]]
|?Directed by
}}
将仅显示同时具有属性集且属于正确类别的页面

在smartMediaWiki方法中,您将创建一个主题“电影”,并通过表单输入电影。这是最近发展起来的语义表单和语义页面模式思想的精化。今年秋天,您可以在2015年巴塞罗那SMWCon大会上了解更多信息