Search in sources :

Example 76 with Graph

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

the class HitsNGTest method testGraphWithSelfLoopsHits.

@Test
public void testGraphWithSelfLoopsHits() {
    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");
    undirectedGraph.addNode(node1);
    undirectedGraph.addNode(node2);
    undirectedGraph.addNode(node3);
    Edge edge12 = graphModel.factory().newEdge(node1, node2, false);
    Edge edge23 = graphModel.factory().newEdge(node2, node3, false);
    Edge edge11 = graphModel.factory().newEdge(node1, node1, false);
    Edge edge33 = graphModel.factory().newEdge(node3, node3, false);
    undirectedGraph.addEdge(edge12);
    undirectedGraph.addEdge(edge23);
    undirectedGraph.addEdge(edge11);
    undirectedGraph.addEdge(edge33);
    Graph graph = graphModel.getUndirectedGraph();
    Hits hit = new Hits();
    HashMap<Node, Integer> indices = hit.createIndicesMap(graph);
    double[] authority = new double[3];
    double[] hubs = new double[3];
    hit.calculateHits(graph, hubs, authority, indices, false, EPSILON);
    Node n1 = graph.getNode("0");
    Node n2 = graph.getNode("1");
    int index1 = indices.get(n1);
    int index2 = indices.get(n2);
    double auth1 = authority[index1];
    double auth2 = authority[index2];
    assertTrue(auth2 > auth1);
}
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) GraphController(org.gephi.graph.api.GraphController) Test(org.testng.annotations.Test)

Example 77 with Graph

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

the class Degree method execute.

/**
     *
     * @param graphModel
     */
@Override
public void execute(GraphModel graphModel) {
    Graph graph = graphModel.getGraphVisible();
    execute(graph);
}
Also used : Graph(org.gephi.graph.api.Graph) DirectedGraph(org.gephi.graph.api.DirectedGraph)

Example 78 with Graph

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

the class DynamicNbEdges method loop.

@Override
public void loop(GraphView window, Interval interval) {
    Graph graph = graphModel.getGraph(window);
    int count = graph.getEdgeCount();
    graphModel.getGraphVisible().setAttribute(NB_EDGES, count, interval.getLow());
    graphModel.getGraphVisible().setAttribute(NB_EDGES, count, interval.getHigh());
    counts.put(interval.getLow(), count);
    counts.put(interval.getHigh(), count);
}
Also used : Graph(org.gephi.graph.api.Graph)

Example 79 with Graph

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

the class ClusteringCoefficientNGTest method testSpecial1UndirectedGraphClusteringCoefficient.

@Test
public void testSpecial1UndirectedGraphClusteringCoefficient() {
    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 edge13 = graphModel.factory().newEdge(node1, node3, false);
    Edge edge14 = graphModel.factory().newEdge(node1, node4, false);
    Edge edge15 = graphModel.factory().newEdge(node1, node5, false);
    Edge edge16 = graphModel.factory().newEdge(node1, node6, false);
    Edge edge17 = graphModel.factory().newEdge(node1, node7, false);
    Edge edge23 = graphModel.factory().newEdge(node2, node3, false);
    Edge edge34 = graphModel.factory().newEdge(node3, node4, false);
    Edge edge45 = graphModel.factory().newEdge(node4, node5, false);
    Edge edge56 = graphModel.factory().newEdge(node5, node6, false);
    Edge edge67 = graphModel.factory().newEdge(node6, node7, false);
    Edge edge72 = graphModel.factory().newEdge(node7, node2, false);
    undirectedGraph.addEdge(edge12);
    undirectedGraph.addEdge(edge13);
    undirectedGraph.addEdge(edge14);
    undirectedGraph.addEdge(edge15);
    undirectedGraph.addEdge(edge16);
    undirectedGraph.addEdge(edge17);
    undirectedGraph.addEdge(edge23);
    undirectedGraph.addEdge(edge34);
    undirectedGraph.addEdge(edge45);
    undirectedGraph.addEdge(edge56);
    undirectedGraph.addEdge(edge67);
    undirectedGraph.addEdge(edge72);
    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 cl1 = nodeClustering[0];
    double cl3 = nodeClustering[2];
    double res3 = 0.667;
    double diff = 0.01;
    assertEquals(cl1, 0.4);
    assertTrue(Math.abs(cl3 - res3) < 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 80 with Graph

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

the class GraphDensity method execute.

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

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