Вот и с тегами вышла заминка. А все из-за массовости применения тегов. Причем однотипного применения тегов. И мне в этом применении не нравились некоторые детали - иерархия тегов и составные теги.
По поводу иерархии тегов решил почитать что пишут в интернете. Поиск дал не так уж и много релевантных ответов. Наткнувшись на некоторые оговорки о тегах, понял что есть всего три принципа реализации иерархии:
- У тегов не может быть иерархии по определению.
- Иерархия тегов может быть:
- Монородительская (у тега может быть только один родитель).
- Полиродительская (у тега может быть сколько угодно родителей - встретил всего в одном блоге).
Из всех этих мне понравилась идея полиродительской реализации иерархии. Более того, я это уже пытался реализовать. Кроме того, только так можно было воплотить идею о том, что "объект - это тоже тег", т.е. у "тегов тоже могут быть теги". К тому же полиродительское построение тегов позволяло легко реализовать идею составных тегов: части составного тега - это просто его теги. Но натыкался на некоторые сложности, в частности, на то что нельзя было однозначно указать такую ситуацию:
- Иванов работает бухгалтером в Рога и копыта.
- Сидоров работает директором в Рога и копыта.
- Иванов работает директором в Шарашкиной конторе.
Так как если бы захотели узнать кто работает директором в Рога и копыта, то получили бы как несложно догадаться и Иванова и Сидорова.
Было решено отказаться от деревьев. Хотя идея мне была интересна. И опять начались поиски. Лишь теги не претерпевали никаких изменений.
Вечерними муками было решено создать систему, состоящую из трех частей:
- Теги объектов.
- Состав сложных тегов.
- Значения свойств тегов.
И все это держалось на коэффициентах релевантности связей, подкрепленная простой математической моделью.
Реализовав в черновом варианте такую систему, дошел до поиска информации. И... окончательно запутался в подсчете коэффициентов сложных связей. Самые большие трудности возникали со свойствами. Было решено отказаться от них в пользу системных составных тегов.
Нарисовав карту свойств нашел некоторые парадоксы, о которых можно прочитать в предыдущем посте.
Попив чаю, попытался уснуть. Сон не шел. Все думал как решить проблему. Ведь мне хотелось создать универсальную систему, позволяющую немного-немало описать мир, и, что самое главное, легко находить информацию в этом мире. Но решение никак не приходило в голову.







