Wgraph:Ahnen

From FollowTheScore
Revision as of 11:02, 27 September 2007 by Gero (talk | contribs)
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=80 |

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: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: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: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:Tante               |/^\s*(.*)\s*$/|\1}}}}{{#vardefine:m|{{#replace:Onkel               |/^\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}}" {}
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 }

}}