2010-08-26 4 views
1

Недавно я установил MediaWiki-расширение Semantic MediaWiki. В этом расширении вы можете определить свойства. Они похожи на категории значений. Если я определяю два свойства, как это:semantic mediawiki расчет стоимости

[[StartYear :: 2000]] [[EndYear :: 2005]]

Можно ли производить расчеты на основе этих свойств, если я семантический поиск. Например:

{{#ask: [[Категория: Проект]] [[EndYear]] - [[StartYear]] = 5 }}

получить все проекты с продолжительностью 5 лет?

лучше, UP

+0

Я узнал, что вы можете назначить datatypes к свойствам. В этом случае я присвоил номер типа данных «EndYear» и «StartYear», но все же он не работает. – user366121

ответ

1

AFAICT, вы не можете сделать расчеты в #ask запросов, но вы можете делать расчеты, используя ParserFunction#expr:. Было бы, er, сложным, чтобы смешивать их вместе, но это должно быть возможно. Прокомментируйте, если вы успешно попробуете его, и если я получу шанс, я отредактирую этот ответ с тем, что узнаю.

2

Для этого вам необходимо предварительно обработать интервал для каждой страницы проекта.

Если вы используете шаблон, вы можете легко создать сделать это с помощью следующего кода:

[[Interval::{{#expr:{{{StartYear}}} - {{{EndYear}}}}}| ]] 

Тогда вы можете запросить его таким образом:

{{#ask: [[Category:Project]] [[Interval::5]]}} 
Смежные вопросы