Search in sources :

Example 96 with Graph

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

the class ClusteringCoefficientNGTest method testSpecial2UndirectedGraphClusteringCoefficient.

@Test
public void testSpecial2UndirectedGraphClusteringCoefficient() {
    GraphModel graphModel = Lookup.getDefault().lookup(GraphController.class).getGraphModel();
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    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");
    Node node6 = graphModel.factory().newNode("5");
    Node node7 = graphModel.factory().newNode("6");
    undirectedGraph.addNode(node1);
    undirectedGraph.addNode(node2);
    undirectedGraph.addNode(node3);
    undirectedGraph.addNode(node4);
    undirectedGraph.addNode(node5);
    undirectedGraph.addNode(node6);
    undirectedGraph.addNode(node7);
    Edge edge12 = graphModel.factory().newEdge(node1, node2, false);
    Edge edge23 = graphModel.factory().newEdge(node2, node3, false);
    Edge edge31 = graphModel.factory().newEdge(node3, node1, false);
    Edge edge14 = graphModel.factory().newEdge(node1, node4, false);
    Edge edge45 = graphModel.factory().newEdge(node4, node5, false);
    Edge edge51 = graphModel.factory().newEdge(node5, node1, false);
    Edge edge16 = graphModel.factory().newEdge(node1, node6, false);
    Edge edge67 = graphModel.factory().newEdge(node6, node7, false);
    Edge edge71 = graphModel.factory().newEdge(node7, node1, false);
    undirectedGraph.addEdge(edge12);
    undirectedGraph.addEdge(edge23);
    undirectedGraph.addEdge(edge31);
    undirectedGraph.addEdge(edge14);
    undirectedGraph.addEdge(edge45);
    undirectedGraph.addEdge(edge51);
    undirectedGraph.addEdge(edge16);
    undirectedGraph.addEdge(edge67);
    undirectedGraph.addEdge(edge71);
    Graph graph = graphModel.getGraph();
    ClusteringCoefficient cc = new ClusteringCoefficient();
    ArrayWrapper[] network = new ArrayWrapper[7];
    int[] triangles = new int[7];
    double[] nodeClustering = new double[7];
    HashMap<String, Double> results = cc.computeClusteringCoefficient(graph, network, triangles, nodeClustering, false);
    double cl2 = nodeClustering[1];
    double avClusteringCoefficient = results.get("clusteringCoefficient");
    double resAv = 0.8857;
    double diff = 0.01;
    assertEquals(cl2, 1.0);
    assertTrue(Math.abs(avClusteringCoefficient - resAv) < diff);
}
Also used : Node(org.gephi.graph.api.Node) Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) 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 Graph

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

the class PageRank method execute.

@Override
public void execute(GraphModel graphModel) {
    Graph graph;
    if (isDirected) {
        graph = graphModel.getDirectedGraphVisible();
    } else {
        graph = graphModel.getUndirectedGraphVisible();
    }
    execute(graph);
}
Also used : Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph)

Example 98 with Graph

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

the class DegreeNGTest method testCompleteGraphDegree.

@Test
public void testCompleteGraphDegree() {
    GraphModel graphModel = GraphGenerator.generateCompleteUndirectedGraph(5);
    Graph graph = graphModel.getGraph();
    Node n = graph.getNode("2");
    Degree d = new Degree();
    int degree = d.calculateDegree(graph, n);
    assertEquals(degree, 4);
}
Also used : Graph(org.gephi.graph.api.Graph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) Node(org.gephi.graph.api.Node) Test(org.testng.annotations.Test)

Example 99 with Graph

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

the class GraphDensityNGTest method testOneNodeDensity.

@Test
public void testOneNodeDensity() {
    GraphModel graphModel = GraphGenerator.generateNullUndirectedGraph(1);
    Graph graph = graphModel.getGraph();
    GraphDensity d = new GraphDensity();
    double density = d.calculateDensity(graph, false);
    assertEquals(density, Double.NaN);
}
Also used : Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) Test(org.testng.annotations.Test)

Example 100 with Graph

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

the class GraphDensityNGTest method testCompleteGraphWithSelfLoopsDensity.

@Test
public void testCompleteGraphWithSelfLoopsDensity() {
    GraphModel graphModel = GraphGenerator.generateCompleteUndirectedGraph(3);
    UndirectedGraph undirectedGraph = graphModel.getUndirectedGraph();
    Node n1 = undirectedGraph.getNode("0");
    Node n2 = undirectedGraph.getNode("1");
    Node n3 = undirectedGraph.getNode("2");
    Edge currentEdge = graphModel.factory().newEdge(n1, n1, false);
    undirectedGraph.addEdge(currentEdge);
    currentEdge = graphModel.factory().newEdge(n2, n2, false);
    undirectedGraph.addEdge(currentEdge);
    currentEdge = graphModel.factory().newEdge(n3, n3, false);
    undirectedGraph.addEdge(currentEdge);
    Graph graph = graphModel.getGraph();
    GraphDensity d = new GraphDensity();
    double density = d.calculateDensity(graph, false);
    assertEquals(density, 2.0);
}
Also used : Graph(org.gephi.graph.api.Graph) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) DirectedGraph(org.gephi.graph.api.DirectedGraph) GraphModel(org.gephi.graph.api.GraphModel) UndirectedGraph(org.gephi.graph.api.UndirectedGraph) Node(org.gephi.graph.api.Node) Edge(org.gephi.graph.api.Edge) Test(org.testng.annotations.Test)

Aggregations

Graph (org.gephi.graph.api.Graph)104 GraphModel (org.gephi.graph.api.GraphModel)57 Node (org.gephi.graph.api.Node)50 DirectedGraph (org.gephi.graph.api.DirectedGraph)43 Test (org.testng.annotations.Test)36 GraphController (org.gephi.graph.api.GraphController)27 UndirectedGraph (org.gephi.graph.api.UndirectedGraph)24 Edge (org.gephi.graph.api.Edge)21 Column (org.gephi.graph.api.Column)9 ArrayList (java.util.ArrayList)8 Function (org.gephi.appearance.api.Function)6 GraphView (org.gephi.graph.api.GraphView)6 AttributeFunction (org.gephi.appearance.api.AttributeFunction)5 AppearanceController (org.gephi.appearance.api.AppearanceController)4 AppearanceModel (org.gephi.appearance.api.AppearanceModel)4 IOException (java.io.IOException)3 HashMap (java.util.HashMap)3 TransformerUI (org.gephi.appearance.spi.TransformerUI)3 GraphElementsController (org.gephi.datalab.api.GraphElementsController)3 DataTablesController (org.gephi.datalab.api.datatables.DataTablesController)3