def add_subs_obs(g, subs_obs_list, vertex_shapes, vertex_names):
    """
    Accepts a graph-tool graph object and a list of subjects and objects to add as vertices in the graph.
    Updates the vertex_shapes vertex property map to make each subject and object a circle
    Updates the vertex_name vertex property map to assign each subject or object string as a name for each vertex
    Creates a vertex_dict that can be used to lookup the vertex ID of a given subject or object string
    """
    vertex_dict = {}
    for vertex in subs_obs_list:
        v = g.add_vertex()
        vertex_shapes[v] = 'circle'
        vertex_names[v] = vertex
        vertex_dict.update({vertex:int(v)})
    return g, vertex_dict