Таксономия в теории
«Век живи, век учись» — чего только не придумано… В этой заметке я хотел бы поднять вопрос: что такое таксономия? — с теоретической точки зрения, попробовать описать словари, которых по идее должно быть достаточно для реализации самой концепции. Как вы понимаете, все это является основой для разбора практического применения в программировании (в моем случае это PHP+MySQL), но спешить не буду. Я не считаю себя знатоком в этом вопросе и потому не исключаю ошибочного суждения и понимания сути вопроса. Воспринимайте эту заметку как размышления на тему и мое имхо. Ну а теперь – приступим.
Что такое таксономия?
Для того чтоб перейти к деталям, давайте разберемся с самим определением, а что такое таксономия?
Таксономия (от греч. taxis — строй, порядок, расположение по порядку и nomos — закон) — иерархически выстроенная система целей и результатов от простой к сложной системе. (wiki)
Как я понимаю, таксономия позволяет разложить по полочкам какую-либо систему в соответствии с определенными нами законами. При этом, получаем иерархическую структуру идущую от простого к сложному, т.е. от основного к частому.
Пример таксономии
Чтобы понять эту фишку, давайте рассмотрим один пример, найденный мной в статье: Таксономия на практике или всё по ящичкам автором которой является, как я понимаю, FirstHand (в любом случае, автору рэспект).
Если Вам интересны детали — читайте статью, а я попытаюсь объяснить происходящее в сокращении. И так, у нас есть разные объекты, они отличаются друг от друга: цветом, размером и формой. На первых двух этапам мы разложили по полочкам описание наших объектов по терминам: размер, цвет и форма, а далее наладили связи терминов с объектами в соответствии с нашими законами, идя от простого к сложному.
Реализация таксономии
В следующей своей заметке я буду ориентироваться на примере использования таксономии в отношении тегов и категорий к заметкам в блоге, как это реализовано в WordPress, а потом буду несколько упрощать алгоритмы. Но давайте рассмотрим, что нам нужно для реализации таксономии на практике. Как я уже говорил ранее для этого необходимо три основных составляющих (словаря):
- Термины (terms) – группы описаний наших объектов. В предложенном выше примере это размер, цвет и форма.
- Описание — признаки, подробности того или иного термина. Например, для термина размер, это большие, маленькие, средние и т.д.
- Связи — наши законы, которые и формируют саму систему объектов объединяя их с соответствующими терминами и описаниями. Например, возьмем нижний правый угол. Там находится два объекта, возьмем один из них и рассмотрим его связи с терминами и описаниями: размер – большой, цвет – зеленый, форма – круглая. И так по каждому объекту.
Можно продолжить расширять пространство терминов и описаний налаживая соответствующие связи с объектом, но главное что у нас есть сама концепция и алгоритм реализации.
После изложенного
Как и говорилось ранее, я не исключаю возможности некоторых неточностей, но имхо зерно истины есть и в моих размышлениях. Возможно, что есть и другие алгоритмы решения, но пока остановлюсь на известном и доступном.
Отмечу, что за таксономией явственно прослеживается будущее веб 3.0. Возможно это и ошибочное мнение, но если так подумать, то почему бы и нет? Основываясь на эпистемологии Иммануила Канта это и есть организация знаний о мире, которое использует человеческий мозг, а зная сам алгоритм можно предположить, что и машины смогут воспроизвести, хотя бы частично, этот процесс. Скажу больше, если к всему этому присоединить морфологию, то получается весьма внушительная фишка.
В любом случае, этот вопрос мне интересен скорее именно с теоретической точки зрения, а вот на практику несколько не хватает терпения и желания. Возможно, что для кого-то все это более актуально и надеюсь, заметка сможет подтолкнуть к поиску верного решения и его реализацию.