text: # coding: utf-8
  
  from __future__ import absolute_import
  from datetime import date, datetime  # noqa: F401
  
  from typing import List, Dict  # noqa: F401
  
  from openapi_server.models.base_model_ import Model
  from openapi_server import util
  
  
  class Predicate(Model):
      """NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
  
      Do not edit the class manually.
      """
  
      def __init__(self, subject=None, predicate=None, object=None):  # noqa: E501
          """Predicate - a model defined in OpenAPI
  
          :param subject: The subject of this Predicate.  # noqa: E501
          :type subject: str
          :param predicate: The predicate of this Predicate.  # noqa: E501
          :type predicate: str
          :param object: The object of this Predicate.  # noqa: E501
          :type object: str
          """
          self.openapi_types = {
              'subject': str,
              'predicate': str,
              'object': str
          }
  
          self.attribute_map = {
              'subject': 'subject',
              'predicate': 'predicate',
              'object': 'object'
          }
  
          self._subject = subject
          self._predicate = predicate
          self._object = object
  
      @classmethod
      def from_dict(cls, dikt) -> 'Predicate':
          """Returns the dict as a model
  
          :param dikt: A dict.
          :type: dict
          :return: The predicate of this Predicate.  # noqa: E501
          :rtype: Predicate
          """
          return util.deserialize_model(dikt, cls)
  
      @property
      def subject(self):
          """Gets the subject of this Predicate.
  
  
          :return: The subject of this Predicate.
          :rtype: str
          """
          return self._subject
  
      @subject.setter
      def subject(self, subject):
          """Sets the subject of this Predicate.
  
  
          :param subject: The subject of this Predicate.
          :type subject: str
          """
          if subject is None:
              raise ValueError("Invalid value for `subject`, must not be `None`")  # noqa: E501
  
          self._subject = subject
  
      @property
      def predicate(self):
          """Gets the predicate of this Predicate.
  
  
          :return: The predicate of this Predicate.
          :rtype: str
          """
          return self._predicate
  
      @predicate.setter
      def predicate(self, predicate):
          """Sets the predicate of this Predicate.
  
  
          :param predicate: The predicate of this Predicate.
          :type predicate: str
          """
          if predicate is None:
              raise ValueError("Invalid value for `predicate`, must not be `None`")  # noqa: E501
  
          self._predicate = predicate
  
      @property
      def object(self):
          """Gets the object of this Predicate.
  
  
          :return: The object of this Predicate.
          :rtype: str
          """
          return self._object
  
      @object.setter
      def object(self, object):
          """Sets the object of this Predicate.
  
  
          :param object: The object of this Predicate.
          :type object: str
          """
          if object is None:
              raise ValueError("Invalid value for `object`, must not be `None`")  # noqa: E501
  
          self._object = object
  