---
jupytext:
  cell_metadata_filter: -all
  formats: md:myst
  text_representation:
    extension: .md
    format_name: myst
    format_version: 0.13
    jupytext_version: 1.11.5
kernelspec:
  display_name: Python 3
  language: python
  name: python3
---

# Schnitzel (DE)

In einer Unterrichtsstunde über Zielgruppenanalysen in der Gastronomie benötigen wir eine Abbildung (Slide, Visualisierung) - und später dann auch formale Ontologie - für folgenden Auszug aus einer Speisekarte:

* Nr. 8 Kindeschnitzel (Schweineschnitzel) mit Pommes: 6.90 €
* Nr. 65 Seniorenschnitzel (Kalbschnitzel) auf Spargelbett: 18.90 € 

Uns interessieren insbesondere  diese Begriffe:

   * Schweineschnitzel
   * Kinderschnitzel
   * Kalbschnitzel
   * Seniorenschnitzel

Begriffe zu unterscheiden, zu schärfen, zueinander in Beziehung zu setzen: Das basiert in der Praxis oft auf Basis von mehr oder weniger gut ausgewählten Beispielen.

Zwei Fragen sind besonders wichtig: 
* Was ist das Gemeinsame - und
* was ist der Unterschied? 

Beispiel 1:

    Schnitzel
        Schweineschnitzel
        Kalbschnitzel

Ein entscheidender Unterschied zwischen einem Schweine- und einem Kalbschnitzel ist offensichtlich die Herkunft des Fleisches. Außerdem ist Schweinefleisch preisgünstiger, ein Kalbschnitzel zarter. Es gibt also viele Möglichkeiten, Schweine- und Kalbschnitzel voneinander zu unterscheiden. Wer eine Ontologie baut ist interessiert daran zu eruieren, welcher der vielen Unterschiede *in diesem Fall* der eigentlich relevante ist. Wir nehmen im Folgenden an, dass der mehr oder weniger *essentielle* Unterschied zwischen Schweine- und Kalbschnitzel *Schwein oder Kalb* lautet, jedenfalls essentieller als der Preis oder die Zartheit.

Beispiel 2:

    Schnitzel
        Kinderschnitzel
        Seniorenschnitzel

In Restaurants werden als Kinderschnitzel typischerweise preisgünstige und dick panierte Schweineschnitzel, als Seniorenschnitzel eher hochpreisige und premiumgarnierte Kalbschnitzel angeboten. Exakt wie Schweine- und Kalbschnitzel unterscheiden sich Kinder- und Seniorenschnitzel im Preis und in der Zartheit, aber vermutlich sind auch das nicht die essentiellen Unterschiede. Wir wollen annehmen, dass der entscheidende Unterschied hier *Kind oder Senior* lautet.

![](../images/666kb_com_i_bs2x8h864gighmpl2.jpg)

Dabei fällt uns sofort auf, dass unserer bisherigen Art und Weise, Unterscheidungen zu treffen, eine Schwachstelle hat: In Beispiel 1 ist bei *Schwein oder Kalb* die Herkunft des Schnitzels gemeint, in Beispiel 2 ist bei *Kind oder Senior* die angesprochene Zielgruppe gemeint.

Wir halten fest: Es genügt nicht, nur *Kind oder Senior* oder *Schwein oder Kalb* zur Unterscheidung heranzuziehen, sondern wir sollten auch angeben, ob wir hier über die *Herkunft* oder die *Zielgruppe* sprechen.

Beispiel 3:

    Schnitzel
        Schweineschnitzel
        Kinderschnitzel

Wer auf solch eine Unterscheidung trifft, mag zurecht bemerken: "Da geht einiges durcheinander, so kann man das nicht machen". Wodurch entsteht das Problem? offensichtlich ist beim Schweineschnitzel das Schwein als  *Herkunft*, beim Kinderschnitzel das Kind als *Zielgruppe* gemeint. Im folgenden Beispiel werden Schweineschnitzel nach Sauce weiter unterschieden:

Beispiel 4:

    Schnitzel
        Jägerschnitzel
        Zigeunerschnitzel
        Rahmschnitzel

Nächster Schritt: Die Beispiele in einer Darstellung integrieren ... die folgende Darstellung gibt das wieder: 

    Schnitzel
        <Schnitzel nach Herkunft>
            Schweineschnitzel
            Kalbschnitzel
        <Schnitzel nach Zielgruppe>
            Kinderschnitzel
            Seniorenschnitzel
        <Schnitzel nach Sauce>
            Jägerschnitzel
            Balkanschnitzel (früher: Zigeunerschnitzel)
            Rahmschnitzel



In dieser Darstellung sind folgende Aussagen implizit enthalten:

* Unser Schnitzel hat als Herkunft *entweder* Schwein *oder* Kalb, beides zugleich ist biologisch nicht möglich.
* Auch Senioren bestellen für sich selbst bisweilen ein Kinderschnitzel, wenn sie Panade mögen und/oder die Rente knapp ist. (Bei unserem Imbiss an der Ecke unterscheiden sich Kinder- und Seniorenschnitzel nur in der Beilage  Majo oder Dosengemüse).
* *Herkunft* und *Zielgruppe* sind in anderer Weise unterschiedlich als Kinder und Senioren oder Schweine- und Kalbschnitzel.


Offensichtlich lassen sich die jeweiligen Schnitzel-Typen gruppieren, z.B.  Schnitzel nach Herkunft, Schnitzel nach Zielgruppe.

* Innerhalb einer Schnitzel-Gruppe haben wir ein exklusives Entweder-Oder (XOR). Mathematisch ist das eine Zerlegung in paarweise disjunkte Teilmengen, eine *Partitionierung*
* Ein Schnitzel lässt sich leicht durch jede einzelne Schnitzel-Gruppe  genauer beschreiben, hier herrscht keine Konkurrenz: Herkunft oder Zielgruppe eines Schnitzels sind paarweise unabhängige Dimensionen (Achsen) zur Beschreibung von Schnitzeln, Schweine- / Kalb- oder Kinder- / Senioren-Schnitzel sind unterschiedliche Werte der jeweiligen Achse. (Und auch Einkaufspreis und Finanzkraft sind Achsen, dazu später mehr).


Hier sind wir unvermittelt im Feld der philosophischen Ontologie angekommen: In unserem Beispiel sind "Schwein" und "Kalb" Entitäten aus der biologischen Welt, und "Kind" und "Senior" sind Entitäten aus der sozialen Lebenswelt. Ganz anders hingegen "Herkunft" und "Zielgruppe": Auch das sind Entitäten aus der sozialen Lebenswelt, die wir aber in unserem Beispiel - in anderen Beispielen und Kontexten mag das ganz anders sein - in einer zusätzlichen Funktion, nämlich zur *Unterscheidung von Unterscheidungen* verwenden.


<!--
```{code-cell} python
print(6*7)
```
-->


## Die vollständige Schnitzel-Ontologie in GenDifS

<!--
    Schnitzel
        BY hat_Herkunft SOME Tier
            Schweineschnitzel
              SOME Schwein
            Kalbschnitzel
              SOME Kalb
        BY wendet_sich_an SOME Zielgruppe
            Kinderschnitzel
              SOME Kind
            Seniorenschnitzel
              SOME Senjor
        BY serviert_an SOME Sauce
            Jägerschnitzel
              SOME Pfifferlinge
            Balkanschnitzel (früher: Zigeunerschnitzel)
              SOME Paprika
            Rahmschnitzel
              SOME Sahne
-->


```{code-cell} python
from gd05 import GenDifS_Map
mm = "Schnitzel_DE"
o = GenDifS_Map(f"../mm/{mm}.mm")
```

In der Mindmap wurden diese Ontologie-Knoten entdeckt und geparst:

```{code-cell} python
o.parser_markdown()
```
