code: def to_gremlin(self):
          
          self.validate()
  
          mark_name, field_name = self.location.get_location_name()
          validate_safe_string(mark_name)
          validate_safe_string(field_name)
  
          if '@' in field_name:
              template = u'm.{mark_name}[\'{field_name}\']'
          else:
              template = u'm.{mark_name}.{field_name}'
  
          format_value = None
          stripped_field_type = strip_non_null_from_type(self.field_type)
          if GraphQLDate.is_same_type(stripped_field_type):
              template += '.format("{format}")'
              format_value = STANDARD_DATE_FORMAT
          elif GraphQLDateTime.is_same_type(stripped_field_type):
              template += '.format("{format}")'
              format_value = STANDARD_DATETIME_FORMAT
  
          return template.format(mark_name=mark_name, field_name=field_name,
                                 format=format_value)
docs: Return a unicode object with the Gremlin representation of this expression.