other = []
        elif isinstance(other, str):
            other = [other]
        self._set_value(other, self.SUPPORTED_VAL_TYPES, operator)  # type: ignore
    @check_operator_misuse
    def __eq__(
        self, other: Union[List[str], Set[str], Tuple[str], str]
    ) -> "RedisFilterExpression":
        """Create a RedisTag equality filter expression.
        Args:
            other (Union[List[str], Set[str], Tuple[str], str]):
                The tag(s) to filter on.
        Example:
            >>> from langchain_community.vectorstores.redis import RedisTag
            >>> filter = RedisTag("brand") == "nike"
        """
        self._set_tag_value(other, RedisFilterOperator.EQ)
        return RedisFilterExpression(str(self))
    @check_operator_misuse
    def __ne__(
        self, other: Union[List[str], Set[str], Tuple[str], str]
    ) -> "RedisFilterExpression":
        """Create a RedisTag inequality filter expression.
        Args:
            other (Union[List[str], Set[str], Tuple[str], str]):
                The tag(s) to filter on.
        Example:
            >>> from langchain_community.vectorstores.redis import RedisTag
            >>> filter = RedisTag("brand") != "nike"
        """
        self._set_tag_value(other, RedisFilterOperator.NE)
        return RedisFilterExpression(str(self))
    @property
    def _formatted_tag_value(self) -> str:
        return "|".join([self.escaper.escape(tag) for tag in self._value])
    def __str__(self) -> str:
        """Return the query syntax for a RedisTag filter expression."""
        if not self._value:
            return "*"