Что это за область изучения?

9

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

Таким образом, у обуви есть разные свойства. Они могут иметь эксклюзивные свойства, такие как размер, ширина, пол и дети / взрослые. Или они могут иметь неисключительные свойства, такие как цвет (на обуви может быть два или более цветов). Некоторые категории могут вступать в конфликт с некоторыми другими, например, «платье» и «повседневная одежда» (обувь не может быть как кроссовкой, так и кроссовкой (в этом примере игнорируются «удобные» туфли), в то время как они еще не конфликтуют с другие, такие как «платье» и «ботинок» (обувь может быть платьем). Эксклюзивные свойства легко моделировать, но как насчет потенциально конфликтующих свойств? Будет ли это проблемой для теории множеств?

Как вообще можно назвать этот вид прикладной информатики? Моделирование данных или что-то более конкретное? Я хочу углубиться в более абстрактные философские принципы, такие как исключительные и неисключительные свойства, и посмотреть, как эти принципы реализованы в коде, структурах данных и схемах базы данных.

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

Где я могу узнать больше об этом типе вещей?

user1936
источник
1
Эта «Модель вложенного множества», где вы используете столбцы lft и rgt для формирования дерева, довольно крутая. То есть до тех пор, пока оно не будет использовано в реальном приложении , а указанное приложение не предоставляет подпрограмм для управления деревом и оставляет пользователей самим по себе .
Джои Адамс
@ Джои Адамс смешно! Смысл дерева обхода предзаказа в том, что запросы на обновление проще, чем для списков смежности! : D
user1936

Ответы:

1

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

Некоторые отправные точки для исследования граненой классификации:

Киран
источник
1

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

Стивен А. Лоу
источник
На самом деле я не разрабатываю сайт по продаже обуви. Это был просто практичный и знакомый пример того, что я пытаюсь проиллюстрировать.
user1936
@ user1936: исчисление предикатов представляется целесообразным в качестве предмета изучения, но, пожалуйста, пожалуйста , не проектируйте реальные системы таким образом; это не даст «действительно хорошую функцию поиска», это даст функцию поиска, которую никто, кроме вас, не понимает :-)
Стивен А. Лоу
что именно разница между tagsи propertiesчто вы упоминаете в своем ответе? Если у вас есть разнородная система меток, что может помешать фоновому пользователю (сотруднику склада) пометить обувь как одновременно, так sandalи boot? Это кажется разумным беспокойством для меня. Большинство сайтов по продаже обуви, которые я видел (zappos и т. Д.), Похоже, работают по принципам, аналогичным этим.
user1936
1
@ user1936 Я бы считал свойства формально определенными именованными значениями, такими как Размер, Стиль, Производитель и т. д., а тегами были бы любые ключевые слова, которые вы хотите связать с элементом. Нет ничего, что могло бы помешать конечному пользователю пометить обувь как сандалию и ботинок, и, как правило, в этом нет необходимости . Современные стилистические соглашения не являются естественными законами, то есть они могут меняться. Сегодняшняя чепуха - это смелое заявление о моде и горячий тренд завтрашнего дня. Например, Zappos действительно продает сандалии. zappos.com/sandal-boot
Стивен А. Лоу
@ user1936: если вы действительно хотите управлять тегами, поместите теги в категории и создайте правила, основанные на конфликтах категорий. Но я подозреваю - особенно в нетехнической области - любое правило, к которому можно придумать, может иметь исключение (например, ботинки сандалии)!
Стивен А. Лоу