You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Инверсная связь некоторой связи - такая связь, при которой знания поменялись местами, но две эти связи тождественны по смыслу. Поэтому, при создании одной такой связи инверсная связь создается автоматически.
Пример: Виды связи "Причина" и "Следствие" являются инверсными по отношению друг к другу. Поэтому, связь "Знание-А - Причина - Знание-Б" тождественна инверсной связи "Знание-Б - Следствие - Знание-А" .
Описание инверсности связи задается реквизитом "Инверсия" сущности "Виды связи", который хранит Вид связи, инверсный к текущему виду
инверсный по отношению к Виду связи этой связи.
Таким образом запись "Причина" в поле "Инверсия" содержит вид связи "Следствие".
А запись "Следствие" в поле "Инверсия" содержит вид связи "Причина".
Возможны случаи, когда реквизит "Инверсия" ссылается на саму себя. Это связи, отражающие симметричные отношения.
Симметричная связь
Например вид связи "Близкое по теме". Если знание "А" близко по теме знание "Б", то и .знание "Б" близко по теме знание "А". Таким отношениям в неориентированном графе соответствует ребро. В нашем ориентированном графе два ребра.
Поэтому, при создании связи "Знание-А - Симметричная связь - Знание-Б" нужно автоматически создавать другую связь: "Знание-Б - Симметричная связь - Знание-А"
Необходимые операции
В сущность "Вид связи" добавить реквизит "Инверсия" - указатель на сущность "Вид связи".
Админка. Вид связи. Добавить поле "Инверсия".
Админка. Связь. При сохранении записи, в случае если поле "Вид связи" содержит инверсию, тогда:
Если инверсная связь еще не существует, тогда создать новую (инверсную) связь на основании текущей связи. При этом:
Значения полей "Базовое знание", "Связанное знание" поменять местами.
В поле "Вид связи" занести значение поля "Инверсия" из Вида связи текущей связи.
Иначе обновить инверсную связь
Значения полей "Базовое знание", "Связанное знание" поменять местами.
В поле "Вид связи" занести значение поля "Инверсия" из Вида связи текущей связи.
The text was updated successfully, but these errors were encountered:
lvb555
changed the title
Т - Работа с инверсными связями
Т - Работа с инверсными и симметричными связями
Oct 20, 2023
Инверсная связь
Инверсная связь некоторой связи - такая связь, при которой знания поменялись местами, но две эти связи тождественны по смыслу. Поэтому, при создании одной такой связи инверсная связь создается автоматически.
Пример: Виды связи "Причина" и "Следствие" являются инверсными по отношению друг к другу. Поэтому, связь "Знание-А - Причина - Знание-Б" тождественна инверсной связи "Знание-Б - Следствие - Знание-А" .
Описание инверсности связи задается реквизитом "Инверсия" сущности "Виды связи", который хранит Вид связи, инверсный к текущему виду
инверсный по отношению к Виду связи этой связи.
Таким образом запись "Причина" в поле "Инверсия" содержит вид связи "Следствие".
А запись "Следствие" в поле "Инверсия" содержит вид связи "Причина".
Возможны случаи, когда реквизит "Инверсия" ссылается на саму себя. Это связи, отражающие симметричные отношения.
Симметричная связь
Например вид связи "Близкое по теме". Если знание "А" близко по теме знание "Б", то и .знание "Б" близко по теме знание "А". Таким отношениям в неориентированном графе соответствует ребро. В нашем ориентированном графе два ребра.
Поэтому, при создании связи "Знание-А - Симметричная связь - Знание-Б" нужно автоматически создавать другую связь: "Знание-Б - Симметричная связь - Знание-А"
Необходимые операции
Если инверсная связь еще не существует, тогда создать новую (инверсную) связь на основании текущей связи. При этом:
Иначе обновить инверсную связь
The text was updated successfully, but these errors were encountered: