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);
}
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);
}
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);
}
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);
}
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);
}
Aggregations