def __init__(
        self,
        graph_identifier: str,
        embedding_dimension: int,
        client: Any = None,
        credentials_profile_name: Optional[str] = None,
        region_name: Optional[str] = None,
        hybrid_search: bool = False,
        node_label: str = "Chunk",
        text_node_property: str = "text",
        retrieval_query: str = None,
        **kwargs: Any,
    ) -> None:
        """Create a new Neptune Analytics graph wrapper instance."""
        super().__init__(
            graph_identifier=graph_identifier,
            embedding_dimension=embedding_dimension,
            node_label=node_label,
            text_node_property=text_node_property,
            hybrid_search=hybrid_search,
            retrieval_query=retrieval_query,
        )

        try:
            if client is not None:
                self._client = client
            else:
                import boto3

                if credentials_profile_name is not None:
                    session = boto3.Session(profile_name=credentials_profile_name)
                else:
                    # use default credentials
                    session = boto3.Session()

                if region_name:
                    self._client = session.client(
                        "neptune-graph", region_name=region_name
                    )
                else:
                    self._client = session.client("neptune-graph")

        except ImportError:
            raise ModuleNotFoundError(
                "Could not import boto3 python package. "
                "Please install it with `pip install boto3`."
            )
        except Exception as e:
            if type(e).__name__ == "UnknownServiceError":
                raise ModuleNotFoundError(
                    "NeptuneGraph requires a boto3 version 1.34.40 or greater."
                    "Please install it with `pip install -U boto3`."
                ) from e
            else:
                raise ValueError(
                    "Could not load credentials to authenticate with AWS client. "
                    "Please check that credentials in the specified "
                    "profile name are valid."
                ) from e

        # Verify that the analytics graph has a vector search index and that the dimensions match
        self._verify_vectorIndex()
Create a new Neptune Analytics graph wrapper instance.
llama-index-integrations/vector_stores/llama-index-vector-stores-neptune/llama_index/vector_stores/neptune/base.py