# HG changeset patch # User one # Date 1346827137 -32400 # Node ID 140272228818a2738f1064f046e946ac9dfc2fc9 # Parent dcd59917a2dd265df417b419dd9dad2c8ae8f1c0 fix LinkToVertex.java diff -r dcd59917a2dd -r 140272228818 src/pagerank/LinkConvertGraph.java --- a/src/pagerank/LinkConvertGraph.java Wed Sep 05 12:44:08 2012 +0900 +++ b/src/pagerank/LinkConvertGraph.java Wed Sep 05 15:38:57 2012 +0900 @@ -90,8 +90,8 @@ public static void main(String[] args) { -// final String filename = "./resources/article.xml"; - final String filename = "/Users/aotokage/testProgram/wiki/ja-pages_current.xml"; + final String filename = "./resources/article.xml"; +// final String filename = "/Users/aotokage/testProgram/wiki/ja-pages_current.xml"; LinkConvertGraph lcg; @@ -112,29 +112,32 @@ Graph graph = new TinkerGraph(); FileOutputStream out = new FileOutputStream(new File(fileDB)); - LinkToVertex ltn = new LinkToVertex(graph); - + LinkToVertex ltv = new LinkToVertex(graph); + + long countId = 1; for (Map.Entry> map : hash.entrySet()) { String pageTitle = map.getKey(); Vertex v;// = graph.addVertex(null); - if ( ltn.getId(pageTitle) == null ) { - v = ltn.createVertexWithPageTitle(pageTitle); - + if ( ltv.getId(pageTitle) == null ) { + v = ltv.createVertexWithPageTitle(pageTitle,countId); + ltv.setPageRank(v, (Double)0.0); + countId++; } else { - v = ltn.getVertex(pageTitle); + v = ltv.getVertex(pageTitle); } for (String linkPageTitle : map.getValue()) { Vertex linkV; - if ( ltn.getId(linkPageTitle) == null) { - linkV = ltn.createVertexWithPageTitle(linkPageTitle); - ltn.setPageRank(linkV, (Double)0.0); + if ( ltv.getId(linkPageTitle) == null) { + linkV = ltv.createVertexWithPageTitle(linkPageTitle,countId); + countId++; + ltv.setPageRank(linkV, (Double)0.0); } else { - linkV = ltn.getVertex(linkPageTitle); + linkV = ltv.getVertex(linkPageTitle); } - ltn.setHasLink(v, linkV); + ltv.setHasLink(v, linkV); } } diff -r dcd59917a2dd -r 140272228818 src/pagerank/LinkToVertex.java --- a/src/pagerank/LinkToVertex.java Wed Sep 05 12:44:08 2012 +0900 +++ b/src/pagerank/LinkToVertex.java Wed Sep 05 15:38:57 2012 +0900 @@ -14,7 +14,7 @@ Graph graph; public final static String PAGE_TITLE = "pageTitle"; public final static String PAGE_RANK = "pageRank"; - private HashMap pageIdTable = new HashMap(); + private HashMap pageIdTable = new HashMap(); private HashMap wikiPageHash = new HashMap(); private long AllVertexNumber; @@ -29,7 +29,7 @@ AllVertexNumber = 0; } - public Long getId(String pageTitle) { + public Object getId(String pageTitle) { return pageIdTable.get(pageTitle); } @@ -45,12 +45,17 @@ return graph.addVertex(id); } - private Vertex createVertexWithProperty(String key, Object value) { - Vertex v = graph.addVertex(null); + + Vertex createVertexWithProperty(String key, Object value, Object id) { + Vertex v = createVertex(id); v.setProperty(key,value); return v; } + Vertex createVertexWithProperty(String key, Object value) { + return createVertexWithProperty(key, value, null); + } + public String getPageTitle(Vertex v) { return (String) v.getProperty(PAGE_TITLE); } @@ -59,11 +64,16 @@ return (Double) v.getProperty(PAGE_RANK); } + + Vertex createVertexWithPageTitle(String pageTitle, Object id) { + Vertex v = createVertexWithProperty(PAGE_TITLE, pageTitle, id); + setPageRank(v, (Double)0.0); + pageIdTable.put(pageTitle, id ); + return v; + } + Vertex createVertexWithPageTitle(String pageTitle) { - Vertex v = createVertexWithProperty(PAGE_TITLE, pageTitle); - String id = (String)v.getId(); - pageIdTable.put(pageTitle, Long.parseLong(id) ); - return v; + return createVertexWithPageTitle(pageTitle, null); } Vertex setPageRank(Vertex v, Double rank) { @@ -72,11 +82,11 @@ } Vertex getVertex(String name) { - long id = pageIdTable.get(name); + Object id = pageIdTable.get(name); return graph.getVertex(id); } - Vertex getNode(int nodeId) { + Vertex getNode(String nodeId) { return graph.getVertex(nodeId); } @@ -94,8 +104,8 @@ for (Vertex v : graph.getVertices()) { if ( (v.getProperty(PAGE_TITLE) != null) && (v.getProperty(PAGE_RANK)) != null ) { - WikiPage wiki = new WikiPage(v); - pageIdTable.put((String) v.getProperty(PAGE_TITLE), (Long) v.getId()); + WikiPage wiki = new WikiPage(v); + pageIdTable.put((String) v.getProperty(PAGE_TITLE), v.getId()); wiki.setInHasLink(computeInHasLink(v)); wiki.setOutHasLink(computeOutHasLink(v)); wikiPageHash.put((String) v.getProperty(PAGE_TITLE), wiki); @@ -110,7 +120,7 @@ if ( (v.getProperty(PAGE_TITLE) != null) && (v.getProperty(PAGE_RANK) != null)) { WikiPage wiki = new WikiPage(v); - pageIdTable.put((String) v.getProperty(PAGE_TITLE), (Long) v.getId()); + pageIdTable.put((String) v.getProperty(PAGE_TITLE), v.getId()); wiki.setInHasLink(computeInHasLink(v)); wiki.setOutHasLink(computeOutHasLink(v)); wikiPageHash.put((String) v.getProperty(PAGE_TITLE), wiki); @@ -122,7 +132,7 @@ return wikiPageHash; } - HashMap getPageIdTable() { + HashMap getPageIdTable() { return pageIdTable; } diff -r dcd59917a2dd -r 140272228818 src/pagerank/WikiPage.java --- a/src/pagerank/WikiPage.java Wed Sep 05 12:44:08 2012 +0900 +++ b/src/pagerank/WikiPage.java Wed Sep 05 15:38:57 2012 +0900 @@ -25,7 +25,7 @@ WikiPage(Vertex v) { this.title = (String) v.getProperty(LinkToVertex.PAGE_TITLE); - this.id = (Long) v.getId(); + this.id = Long.parseLong((String)v.getId()); this.rank = (Double)v.getProperty(LinkToVertex.PAGE_RANK); this.outHasLink = 0; this.inHasLink = 0;