Skip to content

How can I output the filtered graph using the toolkit 0.9.1 #4

Open
@ZhitongLei

Description

@ZhitongLei

I'm trying to filter a graph by node degree using the toolkit 0.9.1.
The number of nodes is ok after filtered, but after exporting the graph, I can find the filtered nodes in the gexf file.
So how I can output the filtered graph?
Thanks.

    GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
    FilterController filterController = Lookup.getDefault().lookup(FilterController.class);
    DegreeRangeFilter degreeFilter = new DegreeRangeFilter();
    degreeFilter.init(graphModel.getGraph());
    degreeFilter.setRange(new Range(1, Integer.MAX_VALUE));     //Remove isolated nodes
    Query query = filterController.createQuery(degreeFilter);
    GraphView view = filterController.filter(query);
    graphModel.setVisibleView(view);    //Set the filter result as the visible view

    // See if graph is well imported and filtered
    graph = graphModel.getDirectedGraphVisible();
    System.out.println("Nodes: " + graph.getNodeCount());   // number of nodes is ok after filtered
    System.out.println("Edges: " + graph.getEdgeCount())

    ExportController ec = Lookup.getDefault().lookup(ExportController.class)
    ec.exportFile(new File(outputFile)) ;  // filtered nodes is still in outputFile

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions