torch_geometric.data.SQLiteDatabase

class SQLiteDatabase(path: str, name: str, schema: ~typing.Union[~typing.Any, ~typing.Dict[str, ~typing.Any], ~typing.Tuple[~typing.Any], ~typing.List[~typing.Any]] = <class 'object'>)[source]

基础类:Database

一个基于sqlite3的基于索引的键/值数据库。

注意

此数据库实现需要sqlite3包。

Parameters:
  • path (str) – 数据库应保存的路径。

  • name (str) – 保存数据的表的名称。

  • schema (AnyTuple[Any] 或 Dict[str, Any], 可选) – 输入数据的模式。 可以接受 int, float, str, object, 或 带有 dtypesize 键的字典(用于指定张量数据)作为输入,并且可以嵌套为元组或字典。 指定模式将提高效率,因为默认情况下数据库将使用 Python 的 pickle 进行序列化和反序列化。(默认值:object

connect() None[source]

连接到数据库。 数据库在实例化时会自动连接。

Return type:

None

close() None[source]

关闭与数据库的连接。

Return type:

None

insert(index: int, data: Any) None[source]

在指定索引处插入数据。

Parameters:
  • index (int) – 插入的索引位置。

  • data (任意) – 要插入的对象。

Return type:

None

get(index: int) Any[source]

从指定的索引获取数据。

Parameters:

index (int) – 要查询的索引。

Return type:

Any

multi_get(indices: Union[Sequence[int], Tensor, slice, range], batch_size: Optional[int] = None) List[Any][source]

从指定的索引获取一块数据。

Parameters:
  • indices (List[int] 或 torch.Tensorrange) – 要查询的索引。

  • batch_size (int, optional) – 如果指定,将以batch_size的大小从数据库中请求数据。 (默认: None)

Return type:

List[Any]

multi_insert(indices: Union[Sequence[int], Tensor, slice, range], data_list: Sequence[Any], batch_size: Optional[int] = None, log: bool = False) None

在指定的索引处插入一块数据。

Parameters:
  • indices (List[int] 或 torch.Tensorrange) – 插入的索引位置。

  • data_list (List[Any]) – 要插入的对象。

  • batch_size (int, optional) – 如果指定,将以batch_size的大小批量插入数据到数据库。 (默认: None)

  • log (bool, optional) – 如果设置为 True,将会在控制台记录进度。(默认值:False

Return type:

None