Mercurial > hg > Papers > 2012 > JavaKuche
changeset 2:c7316a75c5ea draft
fix index.html
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Sat, 08 Sep 2012 01:19:00 +0900 |
parents | a5e7d50b110a |
children | 13b3a33da179 |
files | index.html pic/graph.graffle pic/graph.png pic/graph2.graffle pic/graph2.png |
diffstat | 5 files changed, 51 insertions(+), 34 deletions(-) [+] |
line wrap: on
line diff
--- a/index.html Fri Sep 07 20:09:57 2012 +0900 +++ b/index.html Sat Sep 08 01:19:00 2012 +0900 @@ -29,7 +29,7 @@ <img class="centered" height="300px" src="./images/tinkerpop_with_name.png"/> </article> --> - + <article> <h3>もくじ</h3> <ul> @@ -453,10 +453,11 @@ <article> <h3>TinkerPop による PageRank の計算</h3> <ul> + <li>○は Vertex を、→ は Edge を表す。</li> <p class="center"> <img src="./pic/graph.png" style="height:70%;"> </p> - <small><p>例:アンサイクロペディア内のページ『琉球大学』のリンクの関係 </li></small> + <small><p>例:アンサイクロペディア内のページ『琉球大学』のリンクの関係 </p></small> </ul> </article> @@ -469,13 +470,12 @@ <li>PR(A) は A というページの PageRank を表す。</li> <li>d は定数で 0.85</li> <li>C(T1) は T1 というページがリンクを張っている数を表す。 </li> + <li>T1...Tn は A をリンクしているページなので、C(T1)...C(Tn) は 0 にならない。</li> + <li>Google の PageRank はこれを改良したものである。</li> +<!-- <li>PageRank はリンクを張ってくるページの PageRank が加算される。 </li> - <li>T1...Tn は A をリンクしているページなので、C(T1)...C(Tn) は 0 にならない。</li> <li>この時加算される PageRank はリンクの数で割られた値となる。</li> - <p class="center"> - <img src="./pic/page_rank.png" style="height:40%;"> - </p> - +--> </ul> </article> @@ -486,10 +486,16 @@ <ul> <li>リンク("HasLink")の関係を張ってくる Vertex の取得</li> <li>リンクしてくる Vertex がどれだけリンクを張っているかを取得</li> + <small><p>*各ページの情報は XML から取り出し Blueprints を用いて TinkerGraph に書き込み済み。</p></small> + <p class="center"> + <img src="./pic/page_rank.png" style="height:40%;"> + </p> + </ul> </ul> </article> +<!-- <article> <h3>PageRank </h3> <ul> @@ -500,22 +506,30 @@ <small><p>PageRankは小数点第三位で四捨五入</p></small> </ul> </article> +--> +<!-- + <article> + <h3>アンサイクロペディのページを TinkerGraph で表現</h3> + <ol> + <li>XML のデータからページとリンクの関係を取り出す。</li> + <li>Blueprints を用いて TinkerGraph にページの情報を書き込む。</li> + <li></li> + </ol> + <ul> + <li>PageRank の計算に必要な処理を Pipes を使って行う。</li> + </ul> + </article> +--> <article> - <h3>PageRank を求める </h3> - <ul> - <li>では実際に PageRank を求めるコードを見てみる。</li> - </ul> - </article> - - <article> - <h3>Pipes </h3> + <h3>Pipes による走査</h3> <ul> <li>あるページへとリンクを張るページ(Vertex)の取得</li> <pre> +Graph graph = ... GremlinPipeline pipe = new GremlinPipeline(); -pipe.start(graph.getVertex(id)).in("HasLink"); -pipe.setStarts(new SingleIterator<Vertex>(graph.getVertex(id))); +pipe.start(graph.getVertex(id)); +pipe.in("HasLink"); for (Object inVerObj : pipe) { Vertex inVer = (Vertex)inVerObj; : @@ -528,12 +542,14 @@ <article> - <h3>Pipes</h3> + <h3>Pipes による走査</h3> <ul> <li>あるページが張っているリンクの数の取得</li> <pre> +Graph graph = ... GremlinPipeline pipe = new GremlinPipeline(); -inPipe.start(graph.getVertex(id)).out("HasLink"); +pipe.start(graph.getVertex(id)); +pipe.out("HasLink"); long linkNum = pipe.count(); </ul> <p class="center"> @@ -546,12 +562,12 @@ <h3>TinkerPop による PageRank の計算</h3> <ul> <pre> +final double weight = 0.85; double sum = 0.0; double pageRank = 0.0; Vertex v = graph.getVertex(id); GremlinPipeline pipe = new GremlinPipeline(); pipe.start(graph.getVertex(id)).in("HasLink"); -pipe.setStarts(new SingleIterator<Vertex>(graph.getVertex(id))); for (Object inVerObj : pipe) { Vertex inVer = (Vertex) inVerObj; Object inVerId = inVer.getId(); @@ -571,6 +587,7 @@ <h3>TinkerPop による PageRank の計算</h3> <ul> <li>アンサイクロペディア内で PageRank の高いページ</li> + <li>総ページ数: 242014 ページ</li> <table> <tr> <td>ページ名</td>
--- a/pic/graph2.graffle Fri Sep 07 20:09:57 2012 +0900 +++ b/pic/graph2.graffle Sat Sep 08 01:19:00 2012 +0900 @@ -46,7 +46,7 @@ <key>Creator</key> <string>Nobuyasu Oshiro</string> <key>DisplayScale</key> - <string>1 0/72 in = 1 0/72 in</string> + <string>1 0/72 in = 1.0000 in</string> <key>GraphDocumentVersion</key> <integer>8</integer> <key>GraphicsList</key> @@ -105,7 +105,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc -\f0\fs24 \cf0 HAS_LINK}</string> +\f0\fs24 \cf0 HasLink}</string> <key>VerticalPad</key> <integer>0</integer> </dict> @@ -436,7 +436,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc -\f0\fs24 \cf0 HAS_LINK}</string> +\f0\fs24 \cf0 HasLink}</string> <key>VerticalPad</key> <integer>0</integer> </dict> @@ -495,7 +495,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc -\f0\fs24 \cf0 HAS_LINK}</string> +\f0\fs24 \cf0 HasLink}</string> <key>VerticalPad</key> <integer>0</integer> </dict> @@ -641,7 +641,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc -\f0\fs24 \cf0 HAS_LINK}</string> +\f0\fs24 \cf0 HasLink}</string> <key>VerticalPad</key> <integer>0</integer> </dict> @@ -658,8 +658,8 @@ <integer>33</integer> <key>Points</key> <array> - <string>{238.01389937027326, 389.19325748261065}</string> - <string>{171.89656782319756, 431.16032123628878}</string> + <string>{238.04720551051321, 389.24257326742662}</string> + <string>{171.98081860193039, 431.28430065915296}</string> </array> <key>Style</key> <dict> @@ -737,7 +737,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc -\f0\fs24 \cf0 HAS_LINK}</string> +\f0\fs24 \cf0 HasLink}</string> <key>VerticalPad</key> <integer>0</integer> </dict> @@ -796,7 +796,7 @@ {\colortbl;\red255\green255\blue255;} \pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\qc -\f0\fs24 \cf0 HAS_LINK}</string> +\f0\fs24 \cf0 HasLink}</string> <key>VerticalPad</key> <integer>0</integer> </dict> @@ -813,8 +813,8 @@ <integer>34</integer> <key>Points</key> <array> - <string>{356.62826465655269, 226.41637728923743}</string> - <string>{306.09482470252522, 317.02419529747681}</string> + <string>{356.67829672911643, 226.44268586211004}</string> + <string>{306.24714800061105, 317.10376327247388}</string> </array> <key>Style</key> <dict> @@ -850,8 +850,8 @@ <integer>35</integer> <key>Points</key> <array> - <string>{222.92647030846064, 228.45500249855408}</string> - <string>{261.04148956828192, 315.138405630693}</string> + <string>{222.94511729821261, 228.44727198294012}</string> + <string>{261.09490906709306, 315.11619999453995}</string> </array> <key>Style</key> <dict> @@ -992,7 +992,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2012-09-06 14:36:46 +0000</string> + <string>2012-09-07 14:24:45 +0000</string> <key>Modifier</key> <string>Nobuyasu Oshiro</string> <key>NotesVisible</key>