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

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

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

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

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

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

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

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

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

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

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

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

Ист: 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. Интересно. Действительно интересно посмотреть на реализацию. По статье Яндекса, что-то сложно очень.

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

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

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

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