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:
- classmethod collate(graphs: Iterable[LargeGraphIndexer]) LargeGraphIndexer[source]
将一系列大型图索引合并为一个单一的大型图索引。
- Parameters:
graphs (Iterable[LargeGraphIndexer]) – 需要合并的索引。
- Returns:
- 所有节点和边的唯一索引
在输入索引中。
- Return type:
- 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
图表。
- 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.
返回的值不一定是唯一的。
- 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,则生成索引而不是值。
- add_edge_feature(new_feature_name: str, new_feature_vals: Union[Sequence[Any], Tensor], map_from_feature: str = 'e_pid') None[source]
添加一个新特性,该特性对应于图中的每个唯一边。
- 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.
返回的值不一定是唯一的。