Что такое фасетная классификация?

Evg Evg 4 Ноября 2021

Система классификации, которая относит предмет к четко определенным, взаимоисключающим аспектам класса. В отличие от иерархических систем классификации, многогранная система классификации позволяет классифицировать предметный материал по более чем одному аспекту, что создает более одного пути для доступа к материалу.

Мне интересен данный материал, т.к. в ближайшее время фасетная схема будет использована для навигации и на Агути. Удивительно, но она проще в управление, чем плоская схема, с множеством проверок, которая есть сейчас.

Есть некоторые изменения в базе (добавлены таблицы, убраны поля), но это оправданно, для гибкости и чтобы не нарушать консистентность данных, если уж делать все более «правильно». Не буду о деталях, местами это запутанно звучит, чем есть на самом деле. В общем, фасеты — это удобно, вполне достаточно этого, чтобы попробовать.

Меня всегда интересовали базовые механизмы, которые можно использовать далее. Думаю, достаточно перспективная штука, которую можно использовать не только тут для навигации (темам), но и в разных каталогах: программы, товары, сайты, эл. документы, библиотеки и т.д.

Еще определение фасетной классификации

фасетная классификация — система для организации материалов, основанная на систематической комбинации взаимоисключающих и коллективно исчерпывающих характеристик материалов (фасетов) и отображения характеристик таким образом, чтобы показать их взаимосвязь.

Один из примеров организации фасетной сехемы, был каталог Яндекса:

Яндекс каталог (фасетная классификация)

Документация (некоторые пояснения, точнее) по Яндексу:

схема иерархической классификации универсальных каталогов становится громоздкой и труднообозримой. В качестве одного из возможных решений этой проблемы можно предложить фасетную классификацию (ФК).

Фасетная организация интернет-каталога и автоматическая жанровая классификация документов.

Ист: http://www.ict.nsc.ru/jspui/bitstream/ICT/1457/1/Facet-Based%20Internet%20Directory%20Design.pdf

Материал на русском языке, написан достаточно просто.

Что смотрел…

GitHub:

Я не стал останавливаться на расширениях, например, PHP Sphinx API для фасетного поиска и др., которые обычно связаны с поиском.

Данные реализации не совсем то, что тут нужно, т.к. представляют из себя по сути «дорогу» с некоторым сужением потока по мере выбора дополнительных свойств. Это не то, что надо.

Доп. инф. материалы:

Фасетная структура освобождает схему классификации от прокрустового слоя жесткого иерархического и чрезмерно перечислительного подразделения, которое привело к фиксированным «ящикам» для предметов, которые были известны или были предвидены при разработке системы, но часто не оставляли места для будущих разработок и не предусматривал выражения сложных отношений и их последующего поиска.

Фасетная классификация отличается от традиционной тем, что в ней не назначаются фиксированные интервалы для субъектов…

Wynar and Taylor 1992, p. 321

Полезная литература:


Работы на сайте начаты. Первый этап создание легко управляемого дерева:

Дерево тем

На данные момент управление не совсем верное, для админ-интерфейса. Мы должны выбирать расположение в самом дереве. А не только вверх. Мы должны назначать вес отдельных ветвей и выбор корневой метки, создание независимых свойст (сущностей) к чему темы могут иметь отношения и т.д.

Теперь необходимо перестать думать о жеском вложение и подтемах, свойственных категориями. Этого больше не будет.

Дерево тем
Собственно само дерево, — первый шаг к реализации…

CREATE TABLE `topics_relation` (
  `topic_parent_id` int(11) DEFAULT NULL,
  `topic_chaid_id` int(11) DEFAULT NULL
)...

На сайте ведутся работы. Возможно некоторые неполадки в ближайшее время.

P.S. мне интересно реализация этого на php и mysql (с которым испытал некоторые проблемы)… Большое спасибо: n0byk, max и др. кто помог «прояснить» некоторые моменты связанные с фасетами, базой… Сайт работает на Micro-Framework HLEB…

А базу надо переделывать, согласен…

5 Ответов

  1. Yori Yori 4 Ноября 2021

    Интересно. Действительно интересно посмотреть на реализацию. По статье Яндекса, что-то сложно очень.

    1. Evg Evg 4 Ноября 2021 (ред.)

      На самом деле ничего сложного. Скоро… )

  1. German German 4 Ноября 2021 (ред.)

    А мы отказываемся от группировки тем, когда можно было группировать темы по теме (прошу прощение за тафтологию)?

    1. Evg Evg 4 Ноября 2021 (ред.)

      Напишу отдельно, как это работает. Сейчас, это будет выполнено не так, как ранее. Мы можем группировать их в продукте (сайты, статьи), а не сами темы. Дополнил пост.

  1. Evg Evg 5 Ноября 2021 (ред.)

    Дерево тем подправил, на GitHub разместил, можно тестировать. Как будет закончено, пойдем далее…