Kernkonzepte
Metapad basiert auf den Prinzipien der Metamodellierung - einem leistungsfähigen Ansatz zur Definition und Arbeit mit domänenspezifischen Modellen. Diese Anleitung erklärt die wichtigsten Konzepte, denen Sie begegnen werden.
Die Modellierungsschichten
Metapad verwendet eine Schichtenarchitektur, die von der Meta-Object Facility (MOF) der OMG inspiriert ist. Das Verständnis dieser Schichten ist entscheidend für den effektiven Einsatz von Metapad.
M3: Das Meta-Metamodell (Systemschicht)
Dies ist das eingebaute Fundament von Metapad - Sie ändern es nicht direkt. Es definiert:
- Was ein "Node Type" ist
- Was ein "Relationship Type" ist
- Was eine "Property" ist
- Was ein "Diagram" ist
Betrachten Sie M3 als die Grammatik der Modellierungssprache selbst.
M2: Ihr Metamodell (Typ-Schicht)
Hier definieren Sie, welche Arten von Dingen in Ihrer Domäne existieren können:
| M2-Konzept | Beschreibung | Beispiel |
|---|---|---|
| Node Type | Eine Kategorie von Dingen | "Department", "Employee", "Server" |
| Relationship Type | Eine Kategorie von Verbindungen | "works_in", "depends_on", "hosts" |
| Property Definition | Attribute, die Instanzen haben können | "budget" (Number), "name" (Text) |
| Allowed Connection | Regeln für gültige Beziehungen | "Employee kann 'work_in' Department" |
Ihre M2-Schicht ist im Wesentlichen eine domänenspezifische Sprache für Ihr Unternehmen.
M1: Ihr Modell (Instanz-Schicht)
Hier erstellen Sie konkrete Dinge basierend auf Ihren M2-Typen:
| M1-Konzept | Beschreibung | Beispiel |
|---|---|---|
| Node | Eine konkrete Instanz eines Node Type | "Engineering" (ein Department) |
| Relationship | Eine konkrete Verbindung | "Alice works_in Engineering" |
| Property Value | Tatsächliche Daten einer Instanz | budget = 500000 |
Ihre M1-Schicht ist Ihr eigentliches Modell - der Knowledge Graph Ihrer Domäne.
Node Types und Nodes
Node Types (M2)
Ein Node Type definiert eine Kategorie von Elementen. Beim Erstellen eines Node Type geben Sie Folgendes an:
- Name: Wie dieser Typ heißt (z.B. "Department")
- Properties: Welche Attribute Instanzen haben werden
- Visueller Stil: Farbe, Form (für Diagramme)
Nodes (M1)
Ein Node ist eine konkrete Instanz eines Node Type. Jeder Node hat:
- Name: Die Bezeichnung dieser Instanz (z.B. "Engineering")
- Type: Zu welchem Node Type er gehört
- Property Values: Tatsächliche Daten für jede definierte Property
Relationship Types und Relationships
Relationship Types (M2)
Ein Relationship Type definiert eine Kategorie von Verbindungen. Er gibt an:
- Name: Wie diese Beziehung heißt (z.B. "works_in")
- Properties: Optionale Attribute für die Verbindung selbst
Relationships (M1)
Eine Relationship verbindet zwei konkrete Nodes:
- Source: Wo die Beziehung beginnt (z.B. "Alice")
- Target: Wo sie endet (z.B. "Engineering")
- Type: Welchen Relationship Type sie verwendet (z.B. "works_in")
Allowed Connections
Allowed Connections sind Einschränkungen, die festlegen, welche Relationships zwischen welchen Node Types gültig sind.
Warum Einschränkungen wichtig sind
Ohne Einschränkungen könnten Sie versehentlich ungültige Verbindungen erstellen:
- "Department works_in Employee" (verkehrt herum!)
- "Server works_in Department" (falsche Typen!)
Allowed Connections definieren
Eine Allowed Connection legt fest:
- Relationship Type: Welche Beziehung (z.B. "works_in")
- Source Type: Welcher Node Type die Quelle sein kann (z.B. "Employee")
- Target Type: Welcher Node Type das Ziel sein kann (z.B. "Department")
Dies stellt sicher, dass Ihr Modell strukturelle Integrität bewahrt.
Properties
Properties sind Attribute, die Nodes und Relationships beschreiben.
Property Definitions (M2)
Beim Definieren einer Property geben Sie Folgendes an:
| Attribut | Beschreibung |
|---|---|
| Name | Der Property-Bezeichner (z.B. "budget") |
| Type | Datentyp: Text, Number, Boolean, Date, List |
| Required | Ob Instanzen diesen Wert haben müssen |
| Default | Optionaler Standardwert |
Property Values (M1)
Jede Node- oder Relationship-Instanz kann Werte für die Properties ihres Typs haben:
Engineering (Department)
├── name: "Engineering"
├── budget: 500000
└── location: "Berlin"
Diagramme
Diagramme sind visuelle Darstellungen Ihres Modells. Sie enthalten nicht die Daten - sie referenzieren sie.
Wichtige Konzepte
- Ein Modell, viele Diagramme: Sie können mehrere Diagramme erstellen, die verschiedene Aspekte zeigen
- Gleicher Node, mehrere Diagramme: Ein Node kann in mehreren Diagrammen erscheinen
- Layout ist pro Diagramm: Position und Größe werden pro Diagramm gespeichert, nicht pro Node
Diagramm-Arten
- Übersichtsdiagramme: Zeigen das große Ganze
- Detaildiagramme: Fokus auf einen bestimmten Bereich
- Typ-Diagramme: Zeigen Ihre M2-Metamodellstruktur
Der Knowledge Graph
Wenn Sie Nodes und Relationships kombinieren, erstellen Sie einen Knowledge Graph - ein vernetztes Informationsnetz über Ihre Domäne.
┌─────────────┐ works_in ┌─────────────────┐
│ Alice │─────────────►│ Engineering │
│ (Employee) │ │ (Department) │
└─────────────┘ └─────────────────┘
│ │
│ manages │ part_of
▼ ▼
┌─────────────┐ ┌─────────────────┐
│ Bob │ │ Company │
│ (Employee) │ │ (Organization) │
└─────────────┘ └─────────────────┘
Dieser Graph kann:
- Abgefragt werden: "Wer arbeitet in Engineering?"
- Analysiert werden: "Wie hoch ist das Gesamtbudget?"
- Exportiert werden: Nach Neo4j, RDF oder in andere Formate
- Visualisiert werden: Durch verschiedene Diagrammansichten
Analogie aus der Praxis
Stellen Sie es sich wie eine Datenbank vor, nur flexibler:
| Datenbank-Konzept | Metapad-Entsprechung |
|---|---|
| Tabellenschema | Node Type |
| Spaltendefinition | Property Definition |
| Tabellenzeile | Node |
| Fremdschlüssel-Constraint | Allowed Connection |
| Join/Beziehung | Relationship |
Aber im Gegensatz zu einer Datenbank bietet Metapad:
- Eine visuelle Modellierungsoberfläche
- KI-gestützte Erstellung
- Echtzeit-Zusammenarbeit
- Fokus auf Graph-Beziehungen statt Tabellen
Zusammenfassung
| Schicht | Enthält | Zweck |
|---|---|---|
| M3 | System-Primitive | Definiert, welche Modellierungskonstrukte existieren |
| M2 | Ihr Metamodell | Definiert, was in Ihrer Domäne gültig ist |
| M1 | Ihr Modell | Enthält Ihre tatsächlichen Daten |
Das Verständnis dieser Schichten hilft Ihnen:
- Saubere, gut strukturierte Modelle zu entwerfen
- Mit Ihrem Team in einheitlicher Terminologie zu kommunizieren
- Die vollen Möglichkeiten von Metapad auszuschöpfen
Tipp: Möchten Sie diese Konzepte in Aktion sehen? Erkunden Sie das Tutorial-Modell in unserer Galerie — es zeigt Node Types, Relationship Types, Allowed Connections und mehr.
Nächste Schritte
- Erste Schritte - Richten Sie Ihr erstes Modell ein
- Tutorial - Erstellen Sie Schritt für Schritt ein vollständiges Modell
- Template-Galerie - Sehen Sie praxisnahe Beispiele