public static Graph loadGraph(String url) {
		System.err.println("Using dataset " + url);
	    Graph graph = new BasicGraph("graph");	    
		try {
			InputStream in = AbstractReader.open(url);
			GraphMLReader reader = new GraphMLReader(in, "graph", graph);
			if (reader.load() == false) return null;
			System.err.println("Read " + (graph.isDirected() ? "directed" : "undirected") + " graph '" + graph.getName() + "' with " + graph.getVerticesCount() + " vertices and " + graph.getEdgesCount() + " edges.");
			return graph;
		}
		catch (IOException e) {
			e.printStackTrace();
			return null;
		}
	}