Recursively defining properties on SMW

From semantic-mediawiki.org

{{#if: {{{PreviousPage|}}} | {{ #set: PageNumber={{#expr: {{#show: {{{PreviousPage}}} | ?PageNumber }} + 1 }} | {{#set: PageNumber=1}} }}. This should work, I think, although not immediately. You may need to touch all pages in correct order starting from the first to set page numbers.

There may be a healthier way of ordering pages. Do not set {{{PreviousPage}}} in your template. Instead, set some number denoting page position, not necessarily incrementing by one: {{#set:Ordering = {{{Order|1}}} }}. Thence you can get the page number: {{#expr: {{#ask:[[Ordering::<{{{Order|1}}}]] [[Course::{{{Course}}}]] | format = count}} + 1}} and previous page: {{#ask: [[Ordering::{{#ask:[[Ordering::<{{{Order|1}}}]] [[Course::{{{Course}}}]] | ?Ordering | mainlabel = - | format = max}}]] | ? }}.

04:44, 7 June 2013