class_docstr: This handler handles connection and execution of the Weaviate statements.
class_docstr_tok: ["This","handler","handles","connection","and","execution","of","the","Weaviate","statements","."]
code: def __init__(self, name: str, **kwargs):
      super().__init__(name)
  
      self._connection_data = kwargs.get("connection_data")
  
      self._client_config = {
          "weaviate_url": self._connection_data.get("weaviate_url"),
          "weaviate_api_key": self._connection_data.get(
              "weaviate_api_key"
          ),
          "persistence_directory": self._connection_data.get(
              "persistence_directory"
          ),
      }
  
      if not (
          self._client_config.get("weaviate_url")
          or self._client_config.get("persistence_directory")
      ):
          raise Exception(
              "Either url or persist_directory is required for weaviate connection!"
          )
  
      self._client = None
      self._embedded_options = None
      self.is_connected = False
      self.connect()
  
imports: from collections import OrderedDict
  from datetime import datetime
  from typing import List, Optional
  import weaviate
  from weaviate.embedded import EmbeddedOptions
  import pandas
  from mindsdb.integrations.libs.const import HANDLER_CONNECTION_ARG_TYPE
  from mindsdb.integrations.libs.response import RESPONSE_TYPE
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.libs.response import HandlerResponse
  from mindsdb.integrations.libs.response import HandlerStatusResponse
  from mindsdb.integrations.libs.vectordatabase_handler import FilterCondition, FilterOperator, TableField, VectorStoreHandler
  from mindsdb.utilities import log
  from weaviate.util import generate_uuid5
label_desc: Use image node_id 1 to create a new WeaviateDBHandler object from inherited base classes: VectorStoreHandler with example: obj = WeaviateDBHandler(name)