Was ist dieser Studienbereich?

9

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?

user1936
quelle
1
Das "Nested Set Model", bei dem Sie mit lft- und rgt-Spalten einen Baum bilden, ist ziemlich cool. Das heißt, bis es verwendet in einer realen Anwendung und die Anwendung nicht - Routinen bereitstellt für die Manipulation der Baum und Blätter Nutzer für sich selbst zu sorgen .
Joey Adams
@ Joey Adams lustig! Das Verkaufsargument des Vorbestellungs-Traversal-Baums ist, dass die Abfragen zum Aktualisieren einfacher sind als für Adjazenzlisten! : D
user1936

Antworten:

1

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:

Ciaran
quelle
1

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

Steven A. Lowe
quelle
Ich entwerfe nicht wirklich eine Schuhverkaufswebsite. Es war nur ein praktisches und bekanntes Beispiel für die Punkte, die ich veranschaulichen möchte.
user1936
@ user1936: Prädikatenrechnung erscheint als Studienbereich angemessen, aber bitte, bitte, bitte entwerfen Sie keine realen Systeme auf diese Weise. Dies wird keine "wirklich gute Suchfunktion" ergeben, sondern eine Suchfunktion, die niemand außer Ihnen versteht :-)
Steven A. Lowe
Was genau ist der Unterschied zwischen tagsund propertiesden 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 beides sandalund zu bootkennzeichnen? Dies scheint mir eine vernünftige Sorge zu sein. Die meisten Schuhverkaufsseiten, die ich gesehen habe (Zappos usw.), scheinen nach ähnlichen Prinzipien zu arbeiten.
user1936
1
@ user1936 Ich würde Eigenschaften als formal definierte benannte Werte wie Größe, Stil, Hersteller usw. betrachten, während Tags alle Schlüsselwörter sind, die Sie einem Element zuordnen möchten. Nichts hindert einen Back-End-Benutzer daran, einen Schuh sowohl als Sandale als auch als Stiefel zu kennzeichnen, und dies ist im Allgemeinen auch nicht erforderlich . Aktuelle Stilkonventionen sind keine Naturgesetze, dh sie können sich ändern. Der Unsinn von heute ist das kühne Modestatement und der heiße Trend von morgen. Zappos zum Beispiel verkauft tatsächlich Sandalenstiefel. zappos.com/sandal-boot
Steven A. Lowe
@ user1936: Wenn Sie das Tagging wirklich wirklich wirklich steuern möchten, fügen Sie Tags in Kategorien ein und erstellen Sie Regeln basierend auf Kategoriekollisionen. Aber ich vermute - besonders in einem nicht-technischen Bereich - kann jede Regel, die man sich einfallen lässt, eine Ausnahme haben (siehe Sandalenstiefel)!
Steven A. Lowe