Wgraph:Ahnen

From FollowTheScore
Jump to: navigation, search

This is one of the examples on the aiSee website.

We show how the genealogy graph can be produced using two templates which raise the semantic level of expression compared to the native description in gdl. The wiki source structure is like this:

 ...
 {{Nachkommen |Mutter              |Schwester           |Bruder              |*Jana               }}
 {{Paar       |Jana                |Ehemann             }}
 {{Nachkommen |Jana                |*Tochter            |Sohn                }}
 {{Paar       |Tochter             |Schwiegersohn       }}
 ...

{{#wgraph: svg | thumb=60 | wgl | gdl |

smanhattan_edges = yes
equal_y_dist     = yes
portsharing      = yes
{{#vardefine:v|{{#replace: Urgroßmutter     |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: Großonkel           |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: Großtante |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:*Großmutter |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:v|{{#replace: Großmutter       |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: *Mutter             |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: Tante |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:|/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:v|{{#replace: Mutter           |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: Schwester           |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: Bruder |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:*Jana |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:v|{{#replace: Jana             |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: *Tochter            |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: Sohn |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:|/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:v|{{#replace: Bruder           |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: Nichte              |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: Neffe |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:|/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:v|{{#replace: Tochter          |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: Enkel               |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: *Enkelin |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:|/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:v|{{#replace: Enkelin          |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: *Urenkelin          |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: Urenkel |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:|/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:v|{{#replace: Tante            |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: Kusine              |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: Vetter |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:|/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:v|{{#replace: Schwiegermutter  |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:n|{{#replace: Ehemann             |/^\s*(.*)\s*$/|\1}}}}edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:n|{{#replace: Schwager |/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {} {{#vardefine:n|{{#replace:|/^\s*(.*)\s*$/|\1}}}} edge "{{#var:v}}" to "{{#var:n}}" {}

{{#vardefine:w|{{#replace: Urgroßmutter     |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Urgroßvater         |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
{{#vardefine:w|{{#replace: Großmutter       |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Großvater           |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
{{#vardefine:w|{{#replace: Schwiegermutter  |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Schwiegervater      |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
{{#vardefine:w|{{#replace: Mutter           |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Vater               |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
{{#vardefine:w|{{#replace: Jana             |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Ehemann             |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
{{#vardefine:w|{{#replace: Tochter          |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Schwiegersohn       |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
{{#vardefine:w|{{#replace: Sohn             |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Schwiegertochter    |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
{{#vardefine:w|{{#replace: Enkelin          |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Ehemann der Enkelin |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
{{#vardefine:w|{{#replace: Tante            |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace: Onkel               |/^\s*(.*)\s*$/|\1}}}}nearedge "{{#var:w}}" to "{{#var:m}}" {}
node Schwiegermutter   { vertical_order 2 }
node Jana              { type Fokus }
nodetype Fokus         { bordercolor blue font helvB10 borderwidth 3}
nodetype *             { bordercolor white font helvR10 }
edgetype Fokus         { thickness 4 }
edgetype *             { arrowstyle none color blue }

}}