コード例 #1
0
ファイル: engagement.py プロジェクト: alexjmacdonald/grapl
 def detach(self, *nodes: EntityView, recursive=False):
     for subgraph in nodes:
         if recursive:
             for node in traverse_view_iter(subgraph):
                 remove_from_scope(self, node)
         else:
             remove_from_scope(self, subgraph)
コード例 #2
0
ファイル: base.py プロジェクト: alexjmacdonald/grapl
    def to_adjacency_list(self):
        from grapl_analyzerlib.viewable import traverse_view_iter
        from collections import defaultdict

        node_dicts = defaultdict(dict)
        edges = defaultdict(list)
        for node in traverse_view_iter(self):
            node_dict = node.to_dict()
            node_dicts[node_dict["node"]["node_key"]] = node_dict["node"]
            edges[node_dict["node"]["node_key"]].extend(node_dict["edges"])

        return {"nodes": node_dicts, "edges": edges}