Перейти к содержанию

Статья для предыдущей поддерживаемой версии ПО — 5.0!

Текущая рекомендованная версия — Comindware Platform 6.0. См. документацию к версии 6.0.

Вычисление дочерних записей всех уровней вложенности

В Comindware Platform существует возможность построения взаимных связей как между шаблонами записи, так и внутри одного шаблона записи, например, для выстраивания древовидной структуры (работы, подразделения и т. д.). Данная статья применима как раз в случае реализации древовидной структуры связей и предоставляет пример выражения для получения всех дочерних записей какой-либо записи с учетом всех уровней вложенности.

@prefix object: <http://comindware.com/ontology/object#>. 
@prefix assert: <http://comindware.com/logics/assert#>.
{
    ("Rabotypoproektu" "Dochernieraboty") object:findProperty ?dochprop.
    ("Rabotypoproektu" "Vsedochernie") object:findProperty ?vsedochprop.

    (
               {?item ?dochprop ?value.}
        {
            ?item ?dochprop ?docki.
            ?docki ?vsedochprop ?value.
        }
    )assert:union true
}

Здесь:

Значение Описание
Rabotypoproektu Системное имя шаблона записи, где реализована древовидная структура связей. В данном примере это «Работы по проекту».
Dochernieraboty Системное имя атрибута типа «Запись», который находится в указанном шаблоне записи, ссылается на него же и хранит связь для дочерних записей.
Vsedochernie Системное имя атрибута типа «Запись», который находится в указанном шаблоне записи и в котором происходит данное вычисление. То есть переиспользуется вычисляемый атрибут, в котором происходит данное вычисление.
К началу

Ассистент базы знаний Comindware

Загрузка ассистента...
Запрос отправлен в ИИ-ассистент Открыть вкладку