def METHOD_NAME(graph) -> pd.DataFrame:
    df = pd.DataFrame([
        util.merge_two_dicts(
            { key: value for (key, value) in node.items() },
            util.merge_two_dicts(
                { 
                    node_id_key: node.element_id, 
                    node_type_key: ",".join(sorted([str(label) for label in node.labels])) 
                },
                { node_label_prefix_key + str(label): True for label in node.labels }))
        for node in graph.nodes
    ])
    if len(df) == 0:
        util.warn('Query returned no nodes')
        return pd.DataFrame({
            node_id_key: pd.Series([], dtype='int32'),
            node_type_key: pd.Series([], dtype='object')
        })
    return neo_df_to_pd_df(df)