Angenommen, ich habe eine Situation, in der ich eine Website für einen Schuhhändler entwerfe. Sie haben verschiedene Marken und Arten von Schuhen und wollen natürlich eine wirklich gute Suchfunktion.
Es gibt also verschiedene Eigenschaften, die Schuhe haben können. Sie können exklusive Eigenschaften wie Größe, Breite, Geschlecht und Kinder / Erwachsene haben. Oder sie können nicht exklusive Eigenschaften wie Farbe haben (ein Schuh kann zwei oder mehr Farben haben). Einige Kategorien können mit bestimmten anderen in Konflikt stehen, z. B. "Kleid" und "Freizeit" (ein Schuh kann nicht gleichzeitig ein Anzugschuh und ein Sneaker sein (in diesem Beispiel werden "Komfort" -Kleiderschuhe ignoriert), während sie noch nicht in Konflikt stehen andere, wie "Kleid" und "Stiefel" (ein Schuh kann ein Kleiderstiefel sein). Die exklusiven Eigenschaften sind einfach zu modellieren, aber wie wäre es mit potenziell widersprüchlichen Eigenschaften? Wäre dies ein Problem für die Mengenlehre?
Wie würde diese Art der angewandten Informatik im Allgemeinen heißen? Datenmodellierung oder etwas Spezifischeres? Ich möchte auf die abstrakteren philosophischen Prinzipien wie exklusive und nicht exklusive Eigenschaften eingehen und sehen, wie diese Prinzipien in Code, Datenstrukturen und Datenbankschemata implementiert werden.
Ein gutes Beispiel für das, worüber ich spreche, wäre der modifizierte Vorbestellungsbaum-Durchquerungsalgorithmus . Es ist eine großartige Möglichkeit, ein verschachteltes hierarchisches Kategorisierungssystem zu erstellen. Sie haben also ein reales organisatorisches Problem: Kategorien, und dann haben Sie eine Datenstruktur, die dieses Problem modelliert.
Wo kann ich mehr über diese Art von Sachen erfahren?
quelle
Antworten:
Im Allgemeinen würde der Studienbereich als Datenmodellierung oder Taxonomie betrachtet . Die Website für den Schuhverkauf ist speziell ein Beispiel für eine facettierte Klassifizierung .
Einige Ausgangspunkte für die facettierte Klassifikationsforschung:
http://www.miskatonic.org/library/facet-web-howto.html
http://www.deyalexander.com.au/resources/uxd/faceted-classification.html
quelle
Wenn Sie ernsthaft eine Suchfunktion für eine Schuhverkaufswebsite entwerfen, verwenden Sie Tags anstelle von Eigenschaften, implementieren Sie eine normale Suchfunktion auf Schlüsselwortbasis und vergessen Sie die akademische Formalität. Benutzer werden sich nicht die Mühe machen, in einem Suchbildschirm mit 50 Optionen zu navigieren
quelle
tags
undproperties
den Sie in Ihrer Antwort erwähnen? Wenn Sie ein promiskuitives Tagging-System haben, was kann einen Back-End-Benutzer (die Lagerperson) daran hindern, einen Schuh als beidessandal
und zuboot
kennzeichnen? Dies scheint mir eine vernünftige Sorge zu sein. Die meisten Schuhverkaufsseiten, die ich gesehen habe (Zappos usw.), scheinen nach ähnlichen Prinzipien zu arbeiten.