code: def to_gremlin(self):
          
          self.validate()
  
          immediate_operator_format = u'({left} {operator} {right})'
          dotted_operator_format = u'{left}.{operator}({right})'
          intersects_operator_format = u'(!{left}.{operator}({right}).empty)'
  
          translation_table = {
              u'=': (u'==', immediate_operator_format),
              u'!=': (u'!=', immediate_operator_format),
              u'>=': (u'>=', immediate_operator_format),
              u'<=': (u'<=', immediate_operator_format),
              u'>': (u'>', immediate_operator_format),
              u'<': (u'<', immediate_operator_format),
              u'+': (u'+', immediate_operator_format),
              u'||': (u'||', immediate_operator_format),
              u'&&': (u'&&', immediate_operator_format),
              u'contains': (u'contains', dotted_operator_format),
              u'intersects': (u'intersect', intersects_operator_format),
              u'has_substring': (u'contains', dotted_operator_format),
          }
  
          gremlin_operator, format_spec = translation_table.get(self.operator, (None, None))
          if not gremlin_operator:
              raise AssertionError(u'Unrecognized operator used: '
                                   u'{} {}'.format(self.operator, self))
  
          return format_spec.format(operator=gremlin_operator,
                                    left=self.left.to_gremlin(),
                                    right=self.right.to_gremlin())
docs: Return a unicode object with the Gremlin representation of this expression.