Qual é esse domínio de estudo?


9

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?


11
Esse "Nested Set Model", onde você usa as colunas lft e rgt para formar uma árvore, é bem legal. Ou seja, até que seja usado em um aplicativo real , e o referido aplicativo não forneça rotinas para manipular a árvore e deixe os usuários se defenderem .
Joey Adams

@Joey Adams funny! O ponto de venda da árvore de travessia de pré-encomenda é que as consultas para atualização são mais fáceis do que para listas de adjacência! : D
user1936

Respostas:


1

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:


1

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


Na verdade, não estou projetando um site de venda de calçados. Foi apenas um exemplo prático e familiar dos pontos que estou tentando ilustrar.
precisa saber é o seguinte

@ user1936: O cálculo de predicados parece apropriado como domínio de estudo, mas, por favor , por favor , não projete sistemas do mundo real dessa maneira; isso não vai produzir um "muito bom função de pesquisa", que irá produzir uma função de busca que ninguém, mas você entende :-)
Steven A. Lowe

qual é exatamente a diferença entre tagse propertiesque 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 ambos sandale boot? 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.
precisa saber é o seguinte

11
@ user1936 consideraria propriedades como valores nomeados formalmente definidos, como Tamanho, Estilo, Fabricante e assim por diante, enquanto tags seriam quaisquer palavras-chave que você gostaria de associar a um item. Não há nada para impedir que um usuário de back-end marque um sapato como sandália e bota, nem em geral é necessário fazê-lo . As convenções estilísticas atuais não são leis naturais, ou seja, elas podem mudar. O absurdo de hoje é a ousada declaração de moda de amanhã e a tendência quente. A Zappos, por exemplo, de fato vende botas de sandália. zappos.com/sandal-boot
Steven A. Lowe

@ user1936: se você realmente deseja realmente controlar a marcação, coloque as tags em categorias e faça regras com base em colisões de categorias. Mas eu suspeito - especialmente em um domínio não técnico - qualquer regra que alguém possa criar pode ter uma exceção (cf botas de sandália)!
Steven A. Lowe
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.