def bothE(self, from_to, *edge_classes, **kwargs): """Get outgoing/incoming edges from/to vertex or class. :param from_to: Vertex id, class, or class name :param edge_classes: Filter by these edges :param **kwargs: conditons """ condition_str = self._get_condition_str(**kwargs) if condition_str: sql_string = 'SELECT EXPAND( bothE({0}) ) FROM {1}{2}'.format( ','.join(Graph.coerce_class_names_to_quoted(edge_classes)), self.coerce_class_names(from_to), condition_str) else: sql_string = 'SELECT EXPAND( bothE({0}) ) FROM {1}'.format( ','.join(Graph.coerce_class_names_to_quoted(edge_classes)), self.coerce_class_names(from_to)) records = self.client.query(sql_string, -1) return [self.edge_from_record(r) for r in records] \ if records else []
def in_(self, to, *edge_classes, **kwargs): """Get adjacent incoming vertexes to vertex or class. :param to: Vertex id, class, or class name :param edge_classes: Filter by these edges :param **kwargs: conditons """ condition_str = self._get_condition_str(**kwargs) if condition_str: sql_string = 'SELECT EXPAND( in({0}) ) FROM {1}{2}'.format( ','.join(Graph.coerce_class_names_to_quoted(edge_classes)), self.coerce_class_names(to), condition_str) else: sql_string = 'SELECT EXPAND( in({0}) ) FROM {1}'.format( ','.join(Graph.coerce_class_names_to_quoted(edge_classes)), self.coerce_class_names(to)) records = self.client.query(sql_string, -1) return [self.vertex_from_record(v) for v in records] \ if records else []