def _indptr_node_type_offset_list(self) -> Optional[list]:
        """Returns the indptr node type offset list which presents the column id
        space when it does not match the global id space. It is useful when we
        slice a subgraph from another FusedCSCSamplingGraph.

        Returns
        -------
        list or None
            If present, returns a 1D integer list of shape
            `(num_node_types + 1,)`. The list is in ascending order as nodes
            of the same type have continuous IDs, and larger node IDs are
            paired with larger node type IDs. The first value is 0 and last
            value is the number of nodes. And nodes with IDs between
            `node_type_offset_[i]~node_type_offset_[i+1]` are of type id 'i'.
        """
        return (
            self._indptr_node_type_offset_list_
            if hasattr(self, "_indptr_node_type_offset_list_")
            else None
        )
Returns the indptr node type offset list which presents the column id
        space when it does not match the global id space. It is useful when we
        slice a subgraph from another FusedCSCSamplingGraph.

        Returns
        -------
        list or None
            If present, returns a 1D integer list of shape
            `(num_node_types + 1,)`. The list is in ascending order as nodes
            of the same type have continuous IDs, and larger node IDs are
            paired with larger node type IDs. The first value is 0 and last
            value is the number of nodes. And nodes with IDs between
            `node_type_offset_[i]~node_type_offset_[i+1]` are of type id 'i'.
        
python/dgl/graphbolt/impl/fused_csc_sampling_graph.py