Source code for snapchat.research.gbml.graph_schema_pb2

"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""
import builtins
import collections.abc
import google.protobuf.descriptor
import google.protobuf.internal.containers
import google.protobuf.message
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

[docs] DESCRIPTOR: google.protobuf.descriptor.FileDescriptor
[docs] class Node(google.protobuf.message.Message):
[docs] DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs] NODE_ID_FIELD_NUMBER: builtins.int
[docs] CONDENSED_NODE_TYPE_FIELD_NUMBER: builtins.int
[docs] FEATURE_VALUES_FIELD_NUMBER: builtins.int
[docs] node_id: builtins.int
"""should be unique for nodes per node_type"""
[docs] condensed_node_type: builtins.int
"""condensed_node_type are integer values that correspond 1:1 to a node_type: string See GraphMetadata for mapping. If not provided, assumed homogeneous. """ @property
[docs] def feature_values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: """feature_values for a node"""
def __init__( self, *, node_id: builtins.int = ..., condensed_node_type: builtins.int | None = ..., feature_values: collections.abc.Iterable[builtins.float] | None = ..., ) -> None: ...
[docs] def HasField(self, field_name: typing_extensions.Literal["_condensed_node_type", b"_condensed_node_type", "condensed_node_type", b"condensed_node_type"]) -> builtins.bool: ...
[docs] def ClearField(self, field_name: typing_extensions.Literal["_condensed_node_type", b"_condensed_node_type", "condensed_node_type", b"condensed_node_type", "feature_values", b"feature_values", "node_id", b"node_id"]) -> None: ...
[docs] def WhichOneof(self, oneof_group: typing_extensions.Literal["_condensed_node_type", b"_condensed_node_type"]) -> typing_extensions.Literal["condensed_node_type"] | None: ...
[docs] global___Node = Node
[docs] class Edge(google.protobuf.message.Message):
[docs] DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs] SRC_NODE_ID_FIELD_NUMBER: builtins.int
[docs] DST_NODE_ID_FIELD_NUMBER: builtins.int
[docs] CONDENSED_EDGE_TYPE_FIELD_NUMBER: builtins.int
[docs] FEATURE_VALUES_FIELD_NUMBER: builtins.int
[docs] src_node_id: builtins.int
"""the src_node_id & dst_node_id that the edge spans across node types for these nodes is encoded in condensed_edge_type """
[docs] dst_node_id: builtins.int
[docs] condensed_edge_type: builtins.int
"""Graph is assumed homogeneous if condensed_edge_type is not provided We store condensed representation here instead of EdgeType to optimize on storage space. Otherwise we would be storing atleast 3*32bytes of information : ( src_node_type: string, dst_node_type: string, edge_type: string ) See GraphMetadata for mapping """ @property
[docs] def feature_values(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.float]: """features_values for an edge"""
def __init__( self, *, src_node_id: builtins.int = ..., dst_node_id: builtins.int = ..., condensed_edge_type: builtins.int | None = ..., feature_values: collections.abc.Iterable[builtins.float] | None = ..., ) -> None: ...
[docs] def HasField(self, field_name: typing_extensions.Literal["_condensed_edge_type", b"_condensed_edge_type", "condensed_edge_type", b"condensed_edge_type"]) -> builtins.bool: ...
[docs] def ClearField(self, field_name: typing_extensions.Literal["_condensed_edge_type", b"_condensed_edge_type", "condensed_edge_type", b"condensed_edge_type", "dst_node_id", b"dst_node_id", "feature_values", b"feature_values", "src_node_id", b"src_node_id"]) -> None: ...
[docs] def WhichOneof(self, oneof_group: typing_extensions.Literal["_condensed_edge_type", b"_condensed_edge_type"]) -> typing_extensions.Literal["condensed_edge_type"] | None: ...
[docs] global___Edge = Edge
[docs] class EdgeType(google.protobuf.message.Message):
[docs] DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs] RELATION_FIELD_NUMBER: builtins.int
[docs] SRC_NODE_TYPE_FIELD_NUMBER: builtins.int
[docs] DST_NODE_TYPE_FIELD_NUMBER: builtins.int
[docs] relation: builtins.str
"""The relation of source / destination node_type i.e. (Person , is_friend, Person) ; "Person" is node_type for both src and dst nodes, and "is_friend" is the "relation" """
[docs] src_node_type: builtins.str
[docs] dst_node_type: builtins.str
def __init__( self, *, relation: builtins.str = ..., src_node_type: builtins.str = ..., dst_node_type: builtins.str = ..., ) -> None: ...
[docs] def ClearField(self, field_name: typing_extensions.Literal["dst_node_type", b"dst_node_type", "relation", b"relation", "src_node_type", b"src_node_type"]) -> None: ...
[docs] global___EdgeType = EdgeType
[docs] class GraphMetadata(google.protobuf.message.Message): """Stores metadata that helps map the created graph samples back to original graph"""
[docs] DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs] class CondensedEdgeTypeMapEntry(google.protobuf.message.Message):
[docs] DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs] KEY_FIELD_NUMBER: builtins.int
[docs] VALUE_FIELD_NUMBER: builtins.int
[docs] key: builtins.int
@property
[docs] def value(self) -> global___EdgeType: ...
def __init__( self, *, key: builtins.int = ..., value: global___EdgeType | None = ..., ) -> None: ...
[docs] def HasField(self, field_name: typing_extensions.Literal["value", b"value"]) -> builtins.bool: ...
[docs] def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
[docs] class CondensedNodeTypeMapEntry(google.protobuf.message.Message):
[docs] DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs] KEY_FIELD_NUMBER: builtins.int
[docs] VALUE_FIELD_NUMBER: builtins.int
[docs] key: builtins.int
[docs] value: builtins.str
def __init__( self, *, key: builtins.int = ..., value: builtins.str = ..., ) -> None: ...
[docs] def ClearField(self, field_name: typing_extensions.Literal["key", b"key", "value", b"value"]) -> None: ...
[docs] NODE_TYPES_FIELD_NUMBER: builtins.int
[docs] EDGE_TYPES_FIELD_NUMBER: builtins.int
[docs] CONDENSED_EDGE_TYPE_MAP_FIELD_NUMBER: builtins.int
[docs] CONDENSED_NODE_TYPE_MAP_FIELD_NUMBER: builtins.int
@property
[docs] def node_types(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[builtins.str]: """User provided list of node types"""
@property
[docs] def edge_types(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___EdgeType]: """User provided list of edge types"""
@property
[docs] def condensed_edge_type_map(self) -> google.protobuf.internal.containers.MessageMap[builtins.int, global___EdgeType]: """Maps condensed_edge_type: uint32 to edge_type: EdgeType; 1:1 mapping We use unit32 instead of EdgeType to save space when storing graph information """
@property
[docs] def condensed_node_type_map(self) -> google.protobuf.internal.containers.ScalarMap[builtins.int, builtins.str]: """Maps condensed_node_type: uint32 to node_type: string; 1:1 mapping We use unit32 instead of string to save space when storing graph information """
def __init__( self, *, node_types: collections.abc.Iterable[builtins.str] | None = ..., edge_types: collections.abc.Iterable[global___EdgeType] | None = ..., condensed_edge_type_map: collections.abc.Mapping[builtins.int, global___EdgeType] | None = ..., condensed_node_type_map: collections.abc.Mapping[builtins.int, builtins.str] | None = ..., ) -> None: ...
[docs] def ClearField(self, field_name: typing_extensions.Literal["condensed_edge_type_map", b"condensed_edge_type_map", "condensed_node_type_map", b"condensed_node_type_map", "edge_types", b"edge_types", "node_types", b"node_types"]) -> None: ...
[docs] global___GraphMetadata = GraphMetadata
[docs] class Graph(google.protobuf.message.Message): """Represents a graph; usually used to represent a rooted k-hop subgraph for a bigger graph"""
[docs] DESCRIPTOR: google.protobuf.descriptor.Descriptor
[docs] NODES_FIELD_NUMBER: builtins.int
[docs] EDGES_FIELD_NUMBER: builtins.int
@property
[docs] def nodes(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Node]: ...
@property
[docs] def edges(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[global___Edge]: ...
def __init__( self, *, nodes: collections.abc.Iterable[global___Node] | None = ..., edges: collections.abc.Iterable[global___Edge] | None = ..., ) -> None: ...
[docs] def ClearField(self, field_name: typing_extensions.Literal["edges", b"edges", "nodes", b"nodes"]) -> None: ...
[docs] global___Graph = Graph