def get_edge_direction_and_name(vertex_field_name):
    """Get the edge direction and name from a non-root vertex field name."""
    edge_direction = None
    edge_name = None
    if vertex_field_name.startswith(OUTBOUND_EDGE_FIELD_PREFIX):
        edge_direction = OUTBOUND_EDGE_DIRECTION
        edge_name = vertex_field_name[len(OUTBOUND_EDGE_FIELD_PREFIX):]
    elif vertex_field_name.startswith(INBOUND_EDGE_FIELD_PREFIX):
        edge_direction = INBOUND_EDGE_DIRECTION
        edge_name = vertex_field_name[len(INBOUND_EDGE_FIELD_PREFIX):]
    else:
        raise AssertionError(u'Unreachable condition reached:', vertex_field_name)

    validate_safe_string(edge_name)

    return edge_direction, edge_name
Get the edge direction and name from a non-root vertex field name.