def _get_subgraph()

in identity-resolution/notebooks/identity-graph/nepytune/usecase/user_summary.py [0:0]


def _get_subgraph(g, identity_group_id):
    return (
        g.V(identity_group_id)
            .project("props", "persistent_ids")
                .by(valueMap(True))
                .by(
                    out("member")
                    .group()
                    .by()
                    .by(
                        project("props", "transient_ids")
                            .by(valueMap(True))
                            .by(
                                out("has_identity")
                                .group()
                                .by()
                                .by(
                                    project("props", "ip_location", "random_website_paths")
                                    .by(valueMap(True))
                                    .by(
                                        out("uses").valueMap(True).fold()
                                    )
                                    .by(
                                        out("visited").as_("start")
                                        .in_("links_to").as_("end")
                                        .limit(100)
                                        .path()
                                            .by(valueMap("url"))
                                            .by(valueMap("url", "categoryCode"))
                                        .from_("start").to("end")
                                        .dedup()
                                        .fold()
                                    )
                                ).select(
                                    Column.values
                                )
                             )
                    ).select(Column.values)
                )
    )