code: def write_rule(self, a, b, **attrs):
          if self.reverse:
              a, b = b, a
          "a -> b [a1=x,a2=y];"
          with self.rule():
              self.write('%s -> %s' % (self._nodename(a), self._nodename(b)))
              self._delattr(attrs, 'weight', 1)
              self._delattr(attrs, 'minlen', 1)
              self.write_attributes(attrsf write_rule(self, a, b, **attrs):
          if self.reverse:
              a, b = b, a
          "a -> b [a1=x,a2=y];"
          with self.rule():
              self.write('%s -> %s' % (self._nodename(a), self._nodename(b)))
              self._delattr(attrs, 'weight', 1)
              self._delattr(attrs, 'minlen', 1)
              self.write_attributes(attrs)
docs: a -> b [a1=x,a2=y];