Для того, чтобы вычислить всех пользователей у которых на данный момент есть активные задачи, учитывая все замещения (чтобы, например, запустить по ним подпроцесс отправки уведомления по задачам (см. эту статью), введите следующее выражение:
| 
 @prefix xsd: <http://www.w3.org/2001/XMLSchema#>. @prefix log: <http://www.w3.org/2000/10/swap/log#>. @prefix cmw:  <http://comindware.com/logics#>. @prefix substitution: <http://comindware.com/ontology/substitution#>. @prefix assert: <http://comindware.com/logics/assert#>. @prefix session: <http://comindware.com/ontology/session#>. @prefix timelocal: <http://comindware.com/logics/time/local#>. @prefix taskStatus: <http://comindware.com/ontology/taskStatus#>. @prefix account: <http://comindware.com/ontology/account#>. {     ?class cmw:className "Account".     ?value a ?class.     ?value account:active true.     cmw:securityContext cmw:currentUser ?user.     session:context session:requestTime ?now.     ?task a cmw:UserTask.     not {?value cmw:isDisabled true.}.         or     {       ?task cmw:assignee ?value.     }     or     {        ?task cmw:possibleAssignee ?value.     }     or     {         ?substitut a substitution:Substitution.         ?substitut substitution:startDate ?startDate.         ?substitut substitution:endDate ?endDate.          ?now timelocal:between (?startDate ?endDate).         ?substitut substitution:deputies ?value.         ?substitut substitution:absentee ?abs.           ?task cmw:assignee ?abs.     }     or     {         ?substitut a substitution:Substitution.         ?substitut substitution:startDate ?startDate.         ?substitut substitution:endDate ?endDate.          ?now timelocal:between (?startDate ?endDate).         ?substitut substitution:deputies ?value.         ?substitut substitution:absentee ?abs.        ?task cmw:possibleAssignee ?abs.     }. ?task cmw:taskStatus taskStatus:inProgress. 
} 
 |