Suponha que eu tenha uma situação em que estou criando um site para um revendedor de calçados. Eles têm marcas e tipos diferentes de sapatos e, é claro, querem uma função de pesquisa muito boa.
Portanto, existem diferentes propriedades que os sapatos podem ter. Eles podem ter propriedades exclusivas, como tamanho, largura, sexo e crianças / adultos. Ou eles podem ter propriedades não exclusivas, como cor (pode haver duas ou mais cores em um sapato). Algumas categorias podem entrar em conflito com outras, como 'vestido' e 'casual' (um sapato não pode ser um sapato e um tênis (ignorando sapatos de conforto "para este exemplo)), enquanto eles ainda não entram em conflito com outros, como 'vestido' e 'bota' (um sapato pode ser uma bota). As propriedades exclusivas são fáceis de modelar, mas e as propriedades potencialmente conflitantes? Isso seria um problema para a teoria dos conjuntos?
Como seria chamado esse tipo de ciência da computação aplicada, em geral? Modelagem de dados ou algo mais específico? Quero entrar nos princípios filosóficos mais abstratos, como propriedades exclusivas e não exclusivas, e ver como esses princípios são implementados em códigos, estruturas de dados e esquemas de banco de dados.
Um bom exemplo do que estou falando seria o algoritmo de passagem de árvore de pré-encomenda modificada . É uma ótima maneira de criar um sistema de categorização hierárquica aninhada. Portanto, você tem um problema organizacional da vida real: categorias e, em seguida, uma estrutura de dados que modela esse problema.
Onde posso aprender mais sobre esse tipo de coisa?
fonte
Respostas:
Em geral, o campo de estudo seria considerado modelagem de dados ou taxonomia . O site de venda de calçados é especificamente um exemplo de classificação facetada .
Alguns pontos de partida para a pesquisa de classificação facetada:
http://www.miskatonic.org/library/facet-web-howto.html
http://www.deyalexander.com.au/resources/uxd/faceted-classification.html
fonte
se você estiver projetando seriamente um recurso de pesquisa para um site de venda de calçados, use tags em vez de propriedades, implemente uma função normal de pesquisa baseada em palavras-chave e esqueça a formalidade acadêmica; os usuários não se incomodarão em navegar em uma tela de pesquisa com 50 opções
fonte
tags
eproperties
que você mencionou na sua resposta? Se você possui um sistema de marcação promíscuo, o que impede um usuário de back-end (a pessoa do armazém) de marcar um sapato como ambossandal
eboot
? Essas parecem preocupações razoáveis para mim. A maioria dos sites de venda de calçados que eu já vi (zappos, etc) parece operar com princípios semelhantes a esses.