fujaba / org.fujaba.graphengine

This project's aim is to build a graph engine, that is able to build and compare graphs - and to match patterns and apply actions on the graph, to effectively use it as a graph-transformation framework.
BSD 3-Clause "New" or "Revised" License
1 stars 0 forks source link

change structure of pattern classes #4

Closed hoechp closed 7 years ago

hoechp commented 7 years ago

20161125_115739 Siehe auch #3

hoechp commented 7 years ago

Ein Pattern kann als Graph ausgelegt werden, es kann Sub-Pattern geben, die wiederrum als getrennte Graphen ausgelegt werden können - nur, dass Knoten eben Kanten in andere Pattern haben können. Kanten und Attribute werden ebenfalls mit eigenen Klassen implementiert. Die Pattern und Sub-Pattern haben eine Art Baumstruktur untereinander, die zeigt, welche Pattern welche Sub-Pattern (Kinder) haben. Dabei können alle Elemente (Pattern-Graphen, Pattern-Knoten, Pattern-Kanten und Pattern-Attribute) auch negativ sein, aber nur Knoten, Kanten und Attribute können Aktionen haben (match, create, remove).

Ich werde als abstrakte Oberklasse Pattern (mit negative-Attribut) erzeugen, wovon die ebenfalls abstrakte Oberklasse PatternElement (mit action-Attribut) erbt. PatternGraph erbt von Pattern - PatternNode, PatternEdge und PatternAttribute erben von PatternElement.

Auch das Serialisieren und Deserialisieren mittels gson TypeAdapter sollte direkt implementiert und getestet werden.

hoechp commented 7 years ago

Scheint soweit zu funktionieren