code: def query(self, query: VectorIndexQuery) -> VectorIndexQueryResult:
      response = (
          self._client.query.get(self._collection_name, ["*"])
          .with_near_vector({"vector": query.embedding})
          .with_limit(query.top_k)
          .do()
      )
  
      data = response.get("data", {})
      results = data.get("Get", {}).get(self._collection_name, [])
  
      similarities = [
          item["_additional"]["distance"] for item in results
      ]
      ids = [item["id"] for item in results]
  
      return VectorIndexQueryResult(similarities, ids)
  
file_path: evadb/evadb/third_party/vector_stores/weaviate.py
imports: import os
  from typing import List
  from evadb.third_party.vector_stores.types import FeaturePayload, VectorIndexQuery, VectorIndexQueryResult, VectorStore
  from evadb.utils.generic_utils import try_to_import_weaviate_client
label_desc: Use image node_id 5 for calling the WeaviateVectorStore obj's underlying member method code with example usage: obj.query(query) and returns: VectorIndexQueryResult