From GamingWiki
Jump to: navigation, search
 
(10 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
-->{{#vardefine: root | {{{root|{{PAGENAME}}}}} }}<!--
 
-->{{#vardefine: root | {{{root|{{PAGENAME}}}}} }}<!--
  
--><noinclude>{{#vardefine: root | Bob Hurst }}</noinclude><!--
+
--><noinclude>{{#vardefine: root | Maia Guarao }}</noinclude><!--
  
 
-->{{#hashdefine: relhash |<!--
 
-->{{#hashdefine: relhash |<!--
Line 15: Line 15:
 
-->}}<!--
 
-->}}<!--
  
-->{{#ifeq: {{#hashsize: relhash}}|0||<!--
+
-->{{#hashdefine: invhash |<!--
 +
  -->{{#ask: [[Is relationship of::+]][[Has name::{{#var:root}}]]
 +
      |mainlabel=-
 +
      |?Is relationship of=
 +
      |?Has description=
 +
      |format=array |propsep=;|sep=,}}<!--
 +
-->}}<!--
  
-->{{#tag:graphviz |
+
-->{{#vardefine:hasrel|{{#if: {{#hashprint: relhash}}|1}}}}<!--
 +
-->{{#vardefine:hasinv|{{#if: {{#hashprint: invhash}}|1}}}}<!--
 +
 
 +
--><noinclude>{{#tag:pre|{{#hashprint: relhash}} }}</noinclude><!--
 +
--><noinclude>{{#tag:pre|{{#hashprint: invhash}} }}</noinclude><!--
 +
 
 +
-->{{#if: {{#var:hasrel}}{{#var:hasinv}}|<!--
 +
 
 +
    Trim out "<MANY>" from descriptions
 +
-->{{#hashprint: relhash ||%%%%|@@@@|{{#if:{{#explode:@@@@|<MANY>|1}}|{{#hashinclude:relhash|%%%%={{#explode:@@@@|<MANY>|0}}}}}}}}<!--
 +
-->{{#hashprint: invhash ||%%%%|@@@@|{{#if:{{#explode:@@@@|<MANY>|1}}|{{#hashinclude:invhash|%%%%={{#explode:@@@@|<MANY>|0}}}}}}}}<!--
 +
 
 +
-->{{#tag: graphviz |
 
  digraph character {
 
  digraph character {
   {
+
   rankdir=LR;
   node [fontcolor=blue];
+
   node [fontcolor=blue,fontsize=12];
 
   "{{#var:root}}" [URL="{{#var:root}}"];
 
   "{{#var:root}}" [URL="{{#var:root}}"];
   {{#hashprint: relhash |;|%%%% |@@@@ |"%%%%" [URL="%%%%", label="%%%%"]}};
+
 
 +
   { rank=same;
 +
{{#if: {{#var:hasrel}}|{{#hashprint: relhash ||%%%% |@@@@ |{{#if: %%%%|
 +
  "%%%%" [URL="%%%%"];
 +
}}}}}}
 +
{{#if: {{#var:hasinv}}|{{#hashprint: invhash ||%%%% |@@@@ |{{#if: %%%%|
 +
  {"%%%%" [URL="%%%%"]};
 +
}}}}}}
 
   }
 
   }
   edge [len=2];
+
 
  {{#hashprint: relhash ||%%%% |@@@@ |"{{#var:root}}" -> "%%%%" [label="@@@@"];}}
+
   edge [fontsize=9];
 +
{{#if: {{#var:hasrel}}|{{#hashprint: relhash ||%%%% |@@@@ |{{#if: %%%%|
 +
  "{{#var:root}}" -> "%%%%" [label="@@@@"];
 +
}}}}}}
 +
{{#if: {{#var:hasinv}}|{{#hashprint: invhash ||%%%% |@@@@ |{{#if: %%%%|
 +
  "%%%%" -> "{{#var:root}}" [label="@@@@"];
 +
}}}}}}
 +
 
 
  }
 
  }
|border=frame |format=png |renderer=neato }}<!--
+
|border=frame |format=png |renderer=dot }}<!-- endtag
  
-->}}<!-- endifeq
+
-->}}<!-- endif
  
 
--></onlyinclude>
 
--></onlyinclude>

Latest revision as of 18:51, 6 May 2014

Draw a graph of the relationships of a character or other entity.

|sep=,  
|sep=,  

<graphviz border="frame" format="png" renderer="dot">

digraph character {
 rankdir=LR;
 node [fontcolor=blue,fontsize=12];
 "Maia Guarao" [URL="Maia Guarao"];
 { rank=same;

"Template:((#ask: Is relationship of::Maia Guarao

     |mainlabel=-
     |?Has name=
     |?Has description=
     |format=array |propsep=" [URL="Template:((#ask: Is relationship of::Maia Guarao
     |mainlabel=-
     |?Has name=
     |?Has description=
     |format=array |propsep="];"Template:))" [URL="Template:))"];

{"Template:((#ask: Is relationship of::+Has name::Maia Guarao

     |mainlabel=-
     |?Is relationship of=
     |?Has description=
     |format=array |propsep=" [URL="Template:((#ask: Is relationship of::+Has name::Maia Guarao
     |mainlabel=-
     |?Is relationship of=
     |?Has description=
     |format=array |propsep="]};{"Template:))" [URL="Template:))"]};
 }
 edge [fontsize=9];

"Maia Guarao" -> "Template:((#ask: Is relationship of::Maia Guarao

     |mainlabel=-
     |?Has name=
     |?Has description=
     |format=array |propsep=" [label="|sep="];"Maia Guarao" -> "Template:))" [label=""];

"Template:((#ask: Is relationship of::+Has name::Maia Guarao

     |mainlabel=-
     |?Is relationship of=
     |?Has description=
     |format=array |propsep=" -> "Maia Guarao" [label="|sep="];"Template:))" -> "Maia Guarao" [label=""];
}

</graphviz>