torch_geometric.data.LargeGraphIndexer

class LargeGraphIndexer(nodes: Iterable[str], edges: Iterable[Tuple[str, str, str]], node_attr: Optional[Dict[str, List[Any]]] = None, edge_attr: Optional[Dict[str, List[Any]]] = None)[source]

Bases: object

对于一个由多个子图组成的数据集,假设这些子图是一个更大图的一部分,将这些值整理到一个大型图存储中以节省资源。

classmethod from_triplets(triplets: Iterable[Tuple[str, str, str]], pre_transform: Optional[Callable[[Tuple[str, str, str]], Tuple[str, str, str]]] = None) LargeGraphIndexer[source]

从一系列表示节点之间边关系的三元组生成一个新索引。 格式为 (source_node, edge, dest_node)。

Parameters:
  • triplets (KnowledgeGraphLike) – 表示知识图谱关系的三元组系列。

  • pre_transform (Optional[Callable[[TripletLike], TripletLike]]) – 可选的预处理函数,应用于三元组。 默认为 None。

Returns:

唯一节点和边的索引。

Return type:

LargeGraphIndexer

classmethod collate(graphs: Iterable[LargeGraphIndexer]) LargeGraphIndexer[source]

将一系列大型图索引合并为一个单一的大型图索引。

Parameters:

graphs (Iterable[LargeGraphIndexer]) – 需要合并的索引。

Returns:

所有节点和边的唯一索引

在输入索引中。

Return type:

LargeGraphIndexer

get_unique_node_features(feature_name: str = 'pid') List[str][source]

获取特定节点属性的所有唯一值。

Parameters:

feature_name (str, optional) – 要获取的特征名称。 默认为 NODE_PID。

Returns:

指定特征的唯一值列表。

Return type:

List[str]

add_node_feature(new_feature_name: str, new_feature_vals: Union[Sequence[Any], Tensor], map_from_feature: str = 'pid') None[source]
Adds a new feature that corresponds to each unique node in

图表。

Parameters:
  • new_feature_name (str) – 新特性的名称。

  • new_feature_vals (FeatureValueType) – 为该新特征映射的值。

  • map_from_feature (str, optional) – 要映射的特征的键。 大小必须与特征值的数量匹配。 默认为NODE_PID。

Return type:

None

get_node_features(feature_name: str = 'pid', pids: Optional[Iterable[str]] = None) List[Any][source]
Get node feature values for a given set of unique node ids.

返回的值不一定是唯一的。

Parameters:
  • feature_name (str, optional) – 要获取的特征名称。默认为NODE_PID。

  • pids (可选[可迭代[str]], 可选) – 要获取的节点ID。默认为None,表示获取所有节点。

Returns:

与指定ID对应的节点特征。

Return type:

List[Any]

get_node_features_iter(feature_name: str = 'pid', pids: Optional[Iterable[str]] = None, index_only: bool = False) Iterator[Any][source]

get_node_features 的迭代器版本。如果 index_only 为 True,则生成索引而不是值。

Return type:

Iterator[Any]

get_unique_edge_features(feature_name: str = 'e_pid') List[str][source]

获取特定边属性的所有唯一值。

Parameters:

feature_name (str, optional) – 要获取的特征名称。 默认为 EDGE_PID。

Returns:

指定特征的唯一值列表。

Return type:

List[str]

add_edge_feature(new_feature_name: str, new_feature_vals: Union[Sequence[Any], Tensor], map_from_feature: str = 'e_pid') None[source]

添加一个新特性,该特性对应于图中的每个唯一边。

Parameters:
  • new_feature_name (str) – Name to call the new feature.

  • new_feature_vals (FeatureValueType) – 为该新特征映射的值。

  • map_from_feature (str, optional) – 要映射的特征的键。 大小必须与特征值的数量匹配。 默认为 EDGE_PID。

Return type:

None

get_edge_features(feature_name: str = 'e_pid', pids: Optional[Iterable[str]] = None) List[Any][source]
Get edge feature values for a given set of unique edge ids.

返回的值不一定是唯一的。

Parameters:
  • feature_name (str, optional) – 要获取的特征名称。 默认为 EDGE_PID。

  • pids (可选[可迭代[str]], 可选) – 要获取的边的ID。默认为None,表示获取所有边。

Returns:

与指定ID对应的节点特征。

Return type:

List[Any]

get_edge_features_iter(feature_name: str = 'e_pid', pids: Optional[Iterable[Tuple[str, str, str]]] = None, index_only: bool = False) Iterator[Any][source]

get_edge_features 的迭代器版本。如果 index_only 为 True,则生成索引而不是值。

Return type:

Iterator[Any]

to_data(node_feature_name: str, edge_feature_name: Optional[str] = None) Data[source]
Return a Data object containing all the specified node and

边缘特征和图。

Parameters:
  • node_feature_name (str) – 用于节点的特征

  • edge_feature_name (可选[str], 可选) – 用于边的特征。默认为 None。

Returns:

包含指定节点和

边特征以及图的数据对象。

Return type:

Data