digraph G {
  rankdir=LR
  node [shape=plaintext]
  a [
     label=<

   class
   qualifier

>
  ]
    b [shape=ellipse style=filled
  label=<

   elephant 
       two 
           
            corn 
            c 
            f 

       penguin 
  
    4 

>
  ]
  c [ 
  label=<long line 1
line 2
line 3
>
  ]

  subgraph { rank=same b c }
  a:here -> b:there [dir=both arrowtail = diamond]
  c -> b
  d [shape=triangle]
  d -> c [label=<

       Edge labels
also

>
  ]
 
}

