MCPcopy Create free account
hub / github.com/alibaba/GraphScope / VertexLabel

Class VertexLabel

python/graphscope/framework/graph_utils.py:60–140  ·  view source on GitHub ↗

Holds meta informations about a single vertex label.

Source from the content-addressed store, hash-verified

58
59
60class VertexLabel(object):
61 """Holds meta informations about a single vertex label."""
62
63 def __init__(
64 self,
65 label: str,
66 loader: Any,
67 properties: Union[Sequence, None] = None,
68 vid_field: Union[str, int] = 0,
69 session_id=None,
70 id_type: str = "int64_t",
71 vformat=None,
72 ):
73 self.label = label
74 # loader to take various data source
75 if isinstance(loader, Loader):
76 self.loader = loader
77 else:
78 self.loader = Loader(loader)
79 # raw properties passed by user parameters
80 self.raw_properties = properties
81 # finally properties for constructing graph
82 self.properties = []
83 # column index or property name used as id field
84 self.vid_field = vid_field
85 # type of vertex original id
86 # should be consistent with the original graph
87 self.id_type = id_type
88 self._session_id = session_id
89 self._vformat = vformat
90 # normalize properties
91 # add vid to property list
92 self.add_property(str(self.vid_field), self.id_type)
93 if self.raw_properties:
94 self.add_properties(self.raw_properties)
95 elif self.loader.deduced_properties:
96 self.add_properties(self.loader.deduced_properties)
97 # set selected columns to loader
98 self.loader.select_columns(
99 self.properties, include_all=bool(self.raw_properties is None)
100 )
101
102 def __str__(self) -> str:
103 s = "\ntype: VertexLabel"
104 s += "\nlabel: " + self.label
105 s += "\nproperties: " + str(self.properties)
106 s += "\nvid: " + str(self.vid_field)
107 s += "\nid_type: " + self.id_type
108 s += "\nloader: " + repr(self.loader)
109 return s
110
111 def __repr__(self) -> str:
112 return self.__str__()
113
114 def add_property(self, prop: str, dtype=None) -> None:
115 """prop is a str, representing name. It can optionally have a type."""
116 self.properties.append((prop, utils.unify_type(dtype)))
117

Callers 2

add_verticesMethod · 0.90
process_labelFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected