Фасетная классификация.
Задача: Рассказать о фасетной классификации и предложить способы улучшения. Зафиксировать идеи о фасетах и их возможном применении в acme.
Фасеты - устоявшийся способ выражения знания о связях между сущностями в доступной машинной обработке форме.
Фасет состоит из описания классифицируемой характеристики и конкретного значения.
Если предположить, что фактические значения фасетов являются ссылками на полноценные сущности, то всё множество сущностей и фасетных связей между ними можно представить в виде ориентированного графа.
Как можно узнать из статьи о графах в Русской Википедии, ограф это пара множеств (V, E), где V множество вершин, а E множество направленных связей между ними.
Для особо въедливых, упорядоченная пара (v1, v2).
Тоесть в реальной системе связь это пара из двух uri указывающих на связываемые сущности и идентификатор типа фасета. Уже неплохо, теперь если применить такую систему к вики, то можно завести страницу с описанием конкретного значения фасета. Где можно разъяснить что это такое и описать причины его существования в этом мире (если конечно оно вам надо).
Но этого недостаточно, такие фасеты не далеко ушли от тегов, со всеми их проблеммами масштабируемости.
Один из проверенных временем способов масштабирования различных способов идентификации - иерархия.
Мне в голову не приходит ни один разумный способ использования иерархичных формальных деклараций фасетов ( ФасетА со значением B наследует от ФасетаZ ). Поэтому сейчас я сосредоточусь на иерархии фактически значений.
Было-бы удобно, если-бы какой-то обобщённое значение фасета включало в себя более конкретные. Например, фасет “Semantic Web” включает в себя “Semantic Wiki”. Тоесть связь subject of “PageA” is “Semantick Wiki” так-же означает, что subject of “PageA” is “Semantic Web”.
Это избавит конечных пользователей от необходимости вводить дополнительную и очевидную для них информацию и, я надеюсь, уменьшит количество неточной, неполной и ошибочной метаинформации.
Правда в таком подходе есть один подводный камень.
В каких случаях значение Semantic Wiki должно входить в множество Semantic Web? Только для фасета subject? Или для всех случаев?
Первый вариант кажеться мне более разумным.
Однако нужно подчеркнуть, что он усложняет модель. Фактическое значение фасета это уже не только ссылка на другую сущность, теперь что-бы одназначно идентифицировать значение фасета нужна пара “тип фасета” + “ссылка на сущность”.
Перефразируя, для фасета (контекста?) subject значение Semantic Wiki наследует от Semantic Web. Но вне этого фасета Semantic WIki и Semantic Web могут быть никак, формально, не связаны.
Очевидно, что терминология хромает.
Очевидно, что концепция механизма иерархичных фасетов нуждается в дополнительной проработке.
В любом случае, если вам есть что сказать, или вы что-то хотите уточнить, велкам в комменты.
Я намерен основательно обкатать эту идею прежде чем пускать её продакшн.
x-post in