Search in sources :

Example 96 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class GraphDistanceNGTest method testSpecial2DirectedGraphRadius.

@Test
public void testSpecial2DirectedGraphRadius() {
    GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
    DirectedGraph directedGraph = graphModel.getDirectedGraph();
    Node node1 = graphModel.factory().newNode("0");
    Node node2 = graphModel.factory().newNode("1");
    Node node3 = graphModel.factory().newNode("2");
    Node node4 = graphModel.factory().newNode("3");
    Node node5 = graphModel.factory().newNode("4");
    directedGraph.addNode(node1);
    directedGraph.addNode(node2);
    directedGraph.addNode(node3);
    directedGraph.addNode(node4);
    directedGraph.addNode(node5);
    Edge edge12 = graphModel.factory().newEdge(node1, node2);
    Edge edge14 = graphModel.factory().newEdge(node1, node4);
    Edge edge23 = graphModel.factory().newEdge(node2, node3);
    Edge edge25 = graphModel.factory().newEdge(node2, node5);
    Edge edge35 = graphModel.factory().newEdge(node3, node5);
    Edge edge43 = graphModel.factory().newEdge(node4, node3);
    Edge edge51 = graphModel.factory().newEdge(node5, node1);
    Edge edge54 = graphModel.factory().newEdge(node5, node4);
    directedGraph.addEdge(edge12);
    directedGraph.addEdge(edge14);
    directedGraph.addEdge(edge23);
    directedGraph.addEdge(edge25);
    directedGraph.addEdge(edge35);
    directedGraph.addEdge(edge43);
    directedGraph.addEdge(edge51);
    directedGraph.addEdge(edge54);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(undirectedGraph);
    d.calculateDistanceMetrics(graphModel.getGraph(), indicies, true, false);
    double radius = d.getRadius();
    assertEquals(radius, 2.0, TOLERANCE);
}
Also used : DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) Node(org.gephi.graph.api.Node) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Edge(org.gephi.graph.api.Edge) GraphController(org.gephi.graph.api.GraphController) Test(org.testng.annotations.Test)

Example 97 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class GraphDistanceNGTest method testNullGraphDiameter.

@Test
public void testNullGraphDiameter() {
    GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(5);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(undirectedGraph);
    d.calculateDistanceMetrics(graphModel.getGraph(), indicies, false, false);
    double diameter = d.getDiameter();
    assertEquals(diameter, 0.0, TOLERANCE);
}
Also used : GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 98 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class GraphDistanceNGTest method testCyclicGraphAvPathLength.

@Test
public void testCyclicGraphAvPathLength() {
    GraphModel graphModel = GraphGenerator.generateCyclicUndirectedGraph(5);
    GraphDistance d = new GraphDistance();
    d.initializeStartValues();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    HashMap<Node, Integer> indicies = d.createIndiciesMap(undirectedGraph);
    d.calculateDistanceMetrics(graphModel.getGraph(), indicies, false, false);
    double averageDegree = d.getPathLength();
    assertEquals(averageDegree, 1.5, TOLERANCE);
}
Also used : GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 99 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class MergeColumnsUI method loadColumns.

private void loadColumns() {
    availableColumnsModel.clear();
    columnsToMergeModel.clear();
    GraphModel am = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
    Column[] columns;
    if (mode == Mode.NODES_TABLE) {
        table = am.getNodeTable();
        columns = table.toArray();
    } else {
        table = am.getEdgeTable();
        columns = table.toArray();
    }
    for (Column column : columns) {
        availableColumnsModel.addElement(new ColumnWrapper(column));
    }
    availableColumnsList.setModel(availableColumnsModel);
    columnsToMergeList.setModel(columnsToMergeModel);
}
Also used : Column(org.gephi.graph.api.Column) GraphModel(org.gephi.graph.api.GraphModel) GraphController(org.gephi.graph.api.GraphController)

Example 100 with GraphModel

use of org.gephi.graph.api.GraphModel in project gephi by gephi.

the class InterEdgesBuilder method getBuilders.

@Override
public FilterBuilder[] getBuilders(Workspace workspace) {
    List<FilterBuilder> builders = new ArrayList<>();
    GraphModel gm = Lookup.getDefault().lookup(GraphController.class).getGraphModel(workspace);
    Graph graph = gm.getGraph();
    AppearanceModel am = Lookup.getDefault().lookup(AppearanceController.class).getModel(workspace);
    //Force refresh
    am.getNodeFunctions(graph);
    for (Column nodeCol : gm.getNodeTable()) {
        if (!nodeCol.isProperty()) {
            if (am.getNodePartition(graph, nodeCol) != null) {
                InterEdgesFilterBuilder builder = new InterEdgesFilterBuilder(nodeCol, am);
                builders.add(builder);
            }
        }
    }
    return builders.toArray(new FilterBuilder[0]);
}
Also used : Graph(org.gephi.graph.api.Graph) AppearanceModel(org.gephi.appearance.api.AppearanceModel) Column(org.gephi.graph.api.Column) FilterBuilder(org.gephi.filters.spi.FilterBuilder) GraphModel(org.gephi.graph.api.GraphModel) ArrayList(java.util.ArrayList) AppearanceController(org.gephi.appearance.api.AppearanceController) GraphController(org.gephi.graph.api.GraphController)

Aggregations

GraphModel (org.gephi.graph.api.GraphModel)235 Node (org.gephi.graph.api.Node)169 Test (org.testng.annotations.Test)168 UndirectedGraph (org.gephi.graph.api.UndirectedGraph)115 GraphController (org.gephi.graph.api.GraphController)105 DirectedGraph (org.gephi.graph.api.DirectedGraph)92 Edge (org.gephi.graph.api.Edge)80 Graph (org.gephi.graph.api.Graph)57 HashMap (java.util.HashMap)52 Column (org.gephi.graph.api.Column)16 LinkedList (java.util.LinkedList)12 ArrayList (java.util.ArrayList)11 FilterBuilder (org.gephi.filters.spi.FilterBuilder)6 GraphView (org.gephi.graph.api.GraphView)6 XMLStreamException (javax.xml.stream.XMLStreamException)5 IOException (java.io.IOException)4 AppearanceController (org.gephi.appearance.api.AppearanceController)4 AppearanceModel (org.gephi.appearance.api.AppearanceModel)4 TimeFormat (org.gephi.graph.api.TimeFormat)4 Element (org.gephi.graph.api.Element)3