Die Strukturierte-Transformation bietet alle Möglichkeiten einer normalen Transformation unterstützt aber zusätzlich das Verarbeiten von komplexen Produkttypen. Produkttypen bestehen aus einem Kategoriebaum dem auf allen Ebenen Attribute zugeordnet werden können.

Ein Beispiel, der Betreiber eines Webshops verkauft Rasenmäher und Socken. Diese Artikel haben gemeinsame Attribute (Price, Name, Hersteller) und spezielle Attribute die nur in der jeweiligen Warengruppe vorkommen. Antriebsart gibt es nur bei den Rasenmähern, Socken haben das nicht :-), dafür gibt es dort als Merkmal eine Kleidergröße.

Regeleditor

Sind die Attribute alle belegt, haben die Socken folgende Attribute:
Product-ID, Price, Name und Hersteller von der übergeordneten Ebene, Größe und Farbe aus dem Bereich Socken.
Analog dazu die Rasenmäher:
Product-ID, Price, Name und Hersteller von der übergeordneten Ebene, Antriebsart und Leistung aus der Ebene Rasenmäher.

Diesen Kategoriebaum, zusammen mit der Zuordnung welche Attribute es wo gibt, nennt man in Chioro “Produkttypen”. Natürlich kann der Baum mehr Ebenen enthalten als in diesem Beispiel.

Chioro benötigt 2 Tabellen in denen einerseits die Struktur des Kategoriebaums und andererseits die Zuordnung der Attribute zu den Kategorien beschrieben wird.

Die Attribute werden keygenannt, z.B. Farbe oder Hersteller.
Die Namen der Bereiche in den denen sie Liegen sind nodeKey, also Shop, Rasenmäher und Socken.

Zunächst der Kategoriebaum:

key categorySystemKey level orderHint parentKey root
shop 0 0 null true
rasenmäher 1 0 shop false
socken 1 0 shop false

Zuordnung der Attribute:

key name nodeKey
product-id Product-ID shop
price Price shop
name Name shop
hersteller Hersteller shop
antriebsart Antriebsart rasenmäher
leistung Leistung rasenmäher
größe Größe socken
farbe Farbe socken

Über den nodeKey wird jedes Attribut seiner Kategorie zugeordnet.


Ein Beispiel: Grundlage ist dieser Datensatz, die allseits beliebten Katzen:
cloudy_cats.csv

In diesem Datensatz gibt es folgenden Kategoriebaum:
Regeleditor

Root ist cats, Unterkategorie domestic und darin wild/tame.

Um Chioro diesen Kategoriebaum bekannt zu machen, wird dieser Datensatz zunächst durch einen Kategorie Split gejagt:

Regeleditor

Am Ausgang Categories liegt jetzt der, in seine Details zerlegte, Kategoriebaum:

Regeleditor

Daran schließt eine Datenquelle an:

Regeleditor

Diese speichert mit folgenden Einstellungen den Kategoriebaum:

Regeleditor

  1. Datenformat Tree Structure muss ausgewählt werden.
  2. Der Name unter dem der Baum gespeichert wird.

Nach Ausführen des Datenziels ist der Baum im Bereich Produkttyp zu finden. Damit ist schon mal der Kategoriebaum gespeichert. Sein Name tree_test_01 wird später noch gebraucht.

Jetzt benötigen wir eine zweite Tabelle in der hinterlegt ist welches Attribut in welcher Kategorie zu finden ist.

cloudy_cats_attr_for_tree.csv

Regeleditor

Diese Daten werden, mit folgenden Einstellungen, in einem Datenziel gespeichert:

Regeleditor

  1. Als Datenformat Produkttypen Attribut Liste auswählen.
  2. Den Namen des zuvor gespeicherten Kategoriebaums auswählen

Nach Ausführen des Datenziels ist die Attributzuordnung im Kategoriebaum hinterlegt.

Damit sind die Vorbereitungen zur Verwendung der Strukturierten-Transformation abgeschlossen.


Die Strukturierte-Transformation kann wie gewohnt auf die grafische Oberfläche gezogen und verbunden werden.

Regeleditor

In den Einstellungen wird der Kategoriebaum angegeben:

Regeleditor

Zusätzlich sind auf dem Tab Erweitert zwei Einstellungen zu beachten:

Regeleditor

  1. In diesem Attribut steht die Kategorie in der sich das Produkt befindet (Default: productType)
  2. In diesem Attribut steht der komplette Kategoriepfad des Produkts (Default: productTypePath) Diese beiden Angaben ermöglichen eine Zuordnung des Produkts innerhalb des Kategoriebaums.

Im Regeleditor sind nun Regeln zu den hinterlegten Attributen in der jeweiligen Kategorie zu finden:

Regeleditor

  1. Der Kategoriebaum, zum auf-/zuklappen des Baums auf die blauen Ordner klicken, um die Regeln in einer Kategorie zu sehen, auf die Schrift klicken.
  2. Die aus den Attributen gebauten Regeln, wie gewohnt können Werkzeuge und Bedingungen gesetzt werden.
  3. Die vorhandenen Attribute können zum Mapping auf die Regeln gezogen werden.