def mesh_split_face(mesh, fkey, u, v):
    """Split a face by inserting an edge between two specified vertices.

    Parameters
    ----------
    mesh : compas.datastructures.Mesh
        Instance of a mesh
    fkey : str
        The face key.
    u : str
        The key of the first split vertex.
    v : str
        The key of the second split vertex.

    """
    if u not in mesh.face[fkey] or v not in mesh.face[fkey]:
        raise ValueError('The split vertices do not belong to the split face.')
    face = mesh.face[fkey]
    i = face.index(u)
    j = face.index(v)
    if i + 1 == j:
        raise ValueError('The split vertices are neighbors.')
    if j > i:
        f = face[i:j + 1]
        g = face[j:] + face[:i + 1]
    else:
        f = face[i:] + face[:j + 1]
        g = face[j:i + 1]
    f = mesh.add_face(f)
    g = mesh.add_face(g)
    del mesh.face[fkey]
    return f, g
