annotate index.html @ 1:a5e7d50b110a draft

fix presentation
author nobuyasu
date Fri, 07 Sep 2012 20:09:57 +0900
parents 7f57cb53663a
children c7316a75c5ea
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 <!DOCTYPE html>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 <html>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 <head>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 <style type="text/css">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 .center {
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 margin-left: auto;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 margin-right: auto;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8 text-align: center;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 }
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 </style>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 <title>Presentation</title>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 <meta charset='utf-8'>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 <script src='./slides.js'></script>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
15 </head>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
16 <body style='display: none'>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
17 <section class='slides layout-regular template-default'>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
18 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
19 <h1>GraphDB 入門<br>TinkerPop の使い方</h1>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
20 <p>Shoshi Tamaki<br>Nobuyasu Oshiro<br>8 Sep 2012</p>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
21 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
22 <!--
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
23 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
24 <h3>TinkerPop</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
25 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
26 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
27 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
28 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
29 <img class="centered" height="300px" src="./images/tinkerpop_with_name.png"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
30 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
31 -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
32
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
33 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
34 <h3>もくじ</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
35 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
36 <li>ストライクウィッチーズで,GraphDB / TinkerPop 入門</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
37 <li>TinkerPop を利用した GraphDB 上の PageRank の計算</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
38 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
39 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
40
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
41 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
42 <h3>GraphDB とは?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
43 <p>グラフ構造を保存するためのデータベース.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
44 <p>グラフ構造とは,たとえばこんなもの</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
45 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
46 <img src="./images/de2bf86e.jpeg" class="centered" height="470px"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
47 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
48
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
49 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
50 <h3>GraphDB とは?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
51 <p>このような構造をしたグラフは<span style="color: red">Property Graph</span>と呼ばれる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
52 <p>Property Graph はこんな特徴がある.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
53 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
54 <img src="./images/propertygraph_sw.png" height="470px" class="centered"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
55 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
56
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
57 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
58 <h3>Property Graph</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
59 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
60 <p><span color="red">関係・人物・名前・特徴</span>は<span color="red">辺・頂点・ラベル・プロパティ</span>と呼ばれる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
61 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
62 <li>辺 ( 関係 ) が方向を持つ</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
63 <li>頂点 ( 人物 ) と辺 ( 関係 ) はラベル ( 名前 ) を持つ</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
64 <li><span style="color: red">頂点と辺は Key / Value のマップ ( 特徴 ) を持っている.</span></li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
65 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
66 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
67 <img src="./images/propertygraph_sw2.png" height="400px" class="centered"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
68 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
69
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
70 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
71 <h3>GraphDB とは?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
72 <p>複数存在する GraphDB は,主に<span color="red"> Property Graph </span>を格納する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
73 <p>GraphDB は,保存された Graph の辺を渡り歩き,目的のデータを取得するようなデータベースである.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
74 <img src="./images/traverse_sw.png" class="centered"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
75 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
76
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
77 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
78 <h3>GraphDB 入門</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
79 <p>ここまでに,GraphDB とそのデータ構造である,Property Graph とは何か説明してきた.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
80 <p>今日は,この<span style="color: red">ストライクウィッチーズの相関図</span>を GraphDB に叩きこみ <span style="color:red">TinkerPop</span> を使って解析する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
81 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
82 <img src="./images/today-demo.png" class="centered"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
83 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
84
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
85 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
86 <h3>TinkerPop</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
87 <p>TinkerPop は複数存在する GraphDB を統一した手法で利用出来るようにする,ことを目的としたプロジェクトの集合である.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
88 <p>GraphDB を操作する様々なツールも開発している.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
89 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
90 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
91 <img height="300px" src="./images/tinkerpop_with_name.png" class="centered"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
92 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
93
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
94 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
95 <h3>TinkerPop</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
96 <p>本日は,Blueprints , Pipes , Gremlin , Rexster を利用する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
97 <p><span style="color:red">Frames</span> と <span style="color:red">Furnace</span> に関しては利用しないので触れない.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
98 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
99 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
100 <img height="300px" src="./images/today-used.png" class="centered"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
101 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
102
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
103 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
104 <h3>Blueprints</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
105 <p>Blueprints は,Property Graph Model のための interface , implementation , outplementations(造語?) を提供する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
106 <p>GraphDB の世界の JDBC の立場を目指している.</p><br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
107 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
108 Blueprints を実装している GraphDB の一例
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
109 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
110 <li>Neo4j<li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
111 <li>OrientDB</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
112 <li>MongoDB</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
113 <li>etc...</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
114 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
115 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
116 <img src="./images/blueprints-logo.png" height="100px"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
117 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
118
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
119 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
120 <h3>Pipes</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
121 <p>Pipes は,Graph を処理するためのフレームワーク.複数の処理を Pipe として定義する.その Pipe をつなげることにより,Graph を走査し目的のデータを取得する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
122 <p>Gremlin は Pipe を利用して Graph を Traverse する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
123 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
124 <pre>Graph g = ...
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
125 GremlinPipeline pipe = new GremlinPipeline();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
126 pipe.start(g.getVertex(1)).out("knows").property("name");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
127 pipe.setStarts(new SingleIterator&gt;Vertex&lt;(graph.getVertex(1)));
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
128 for(Object name : pipe){
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
129 System.out.println((String)name);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
130 }</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
131 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
132 <img src="./images/pipes-logo.png" />
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
133 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
134
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
135 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
136 <h3>Gremlin</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
137 <p>Graph を走査するための言語.GraphDB に対して Query を発行することが出来る.Shell の様なプロンプトも利用することが可能である.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
138 <pre>gremlin&gt; // lets traverse to marko's 30+ year old friends' created projects
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
139 gremlin> v.out('knows').filter{it.age > 30}.out('created').name
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
140 ==>ripple
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
141 ==>lop</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
142 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
143 <img src="./images/gremlin-logo.png"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
144 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
145
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
146 <!--
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
147 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
148 <h3>Rexster</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
149 <p>Rextster は,Blueprints を対応した GraphDB に対して HTTP による API を提供するサーバーである.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
150 <p>HTTP 経由でデータの取得を行うことが出来るほか.Graph の編集を付属の WebApplication で行うことが出来る</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
151 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
152 <pre>http://localhost:8182/graphs/tinkergraph/vertices/1
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
153 {
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
154 "version":"*.*",
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
155 "results": { "_type":"vertex", "_id":"1",
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
156 "name":"marko", "age":29
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
157 },"queryTime":0.12351
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
158 }</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
159 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
160 <img src="./images/rexster-logo.png"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
161 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
162 -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
163
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
164 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
165 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
166 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
167 <ol>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
168 <li>Blueprints で TinkerGraph にストライクウィッチーズの相関図を入力する.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
169 <li>Gremlin を使って,TinkerGraph を読み込み,</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
170 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
171 <li>Java から Gremlin を使って解析してみる.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
172 <li>Gremlin のコンソールから解析してみる.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
173 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
174 </ol>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
175 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
176 <p>まずは,TinkerGraph にストライクウィッチーズの相関図を入力する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
177 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
178
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
179 <!--
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
180 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
181 <h3>Rexster + TinkerGraph で GraphDB を用意する.</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
182 <p>Rexster の downloads より <span style="color:red">rexster-server-2.1.0.zip</span> をダウンロードし解凍.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
183 <p><a href="https://github.com/tinkerpop/rexster/downloads">https://github.com/tinkerpop/rexster/downloads</a></p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
184 <pre>$ cd rexster-server-2.1.0/bin
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
185 $ ./rexster.sh --start</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
186 <p>Rexster はデフォルトで TinkerGraph が有効になるのでそのまま起動するだけで良い.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
187 <p>これで,HTTP経由で TinkerGraph にアクセスできるようになり,GraphDB を用意できた.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
188 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
189 -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
190
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
191 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
192 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
193 <p>Blueprints は,GraphDB へのインターフェイスを提供する.TinkerGraph は Blueprints を用いて利用できる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
194 <p>相関図の Graph を作るためには,<span style="color:red">Graph</span> を作成し<span style="color:red">人物(頂点)</span>と<span style="color:red">関係(辺)</span>,<span style="color:red">特徴</span>を作る必要がある.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
195 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
196 <pre>// 相関図(Graph) の作成
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
197 Graph g = new TinkerGraph();</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
198 <pre>// 人物(頂点)の作成
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
199 Vertex character = g.addVertex(ID);</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
200 <pre>// 関係(辺)の作成
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
201 Edge relation = g.addEdge(ID,From,To,Label);</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
202 <pre>// 特徴(プロパティ)の作成 , 頂点・辺ともに同様のメソッド
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
203 character.setProperty(PropertyName,PropertyValue);</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
204 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
205 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
206
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
207 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
208 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
209 <p>画像を見ながらコードに書き起こすと・・・</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
210 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
211 <pre>Graph g = new TinkerGraph("./strikewitches"); // データの保存先
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
212 Vertex strikeWitches = g.addVertex("StrikeWitches");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
213 Vertex yoshika = g.addVertex("yoshika");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
214 yoshika.setProperty(propName,"Yoshika Miyafuji");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
215 yoshika.setProperty(propRank,"Sergeant");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
216 yoshika.setProperty(propAge,14);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
217 yoshika.setProperty(propCV,"Misato Fukuen");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
218 yoshika.setProperty(propUnit,"扶桑皇国海軍遣欧艦隊");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
219 yoshika.setProperty(propPersonality,"明るく前向きで一生懸命");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
220 Vertex lynett = g.addVertex("lynett");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
221 lynett.setProperty(propName,"リネット・ビショップ");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
222 lynett.setProperty(propRank,"軍曹");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
223 lynett.setProperty(propAge, 15);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
224 lynett.setProperty(propCV,"名塚佳織");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
225 lynett.setProperty(propUnit,"ブリタニア空軍");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
226 lynett.setProperty(propPersonality,"家庭的で戦闘は苦手");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
227 g.addEdge(null,yoshika,lynett,"仲良し新人コンビ");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
228 g.addEdge(null,lynett,yoshika,"仲良し新人コンビ");</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
229 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
230 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
231
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
232 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
233 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
234 <p>Blueprints を用いて TinkerGraph に相関図を書き込むことが出来た.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
235 <p>今回は,Graph 探索のサンプルのため"StrikeWitches"というキャラクター全員が所属する頂点を追加してある.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
236 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
237 <ol>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
238 <li>Blueprints で TinkerGraph にストライクウィッチーズの相関図を入力する.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
239 <span style="color:red">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
240 <li>Gremlin を使って,TinkerGraph を読み込み,</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
241 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
242 <li>Java から Gremlin を使って解析してみる.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
243 <li>Gremlin のコンソールから解析してみる.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
244 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
245 </span>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
246 </ol>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
247 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
248 <p>では,Gremlin を利用して相関図を解析してみる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
249 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
250
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
251 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
252 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
253 <p>Gremlin のセットアップ</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
254 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
255 <li>github tinkerpop / gremlin &gt; Wiki の downloads から <span style="color:red">gremlin-groovy-2.1.0.zip</span>を利用する.</span></li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
256 <li>解凍して展開する.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
257 <li>bin/gremlin.sh を実行</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
258 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
259 <pre>shoshi@collett% ./gremlin.sh [~/Downloads/gremlin-groovy-2.1.0/bin]
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
260 Picked up _JAVA_OPTIONS: -Dfile.encoding=UTF-8
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
261 \,,,/
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
262 (o o)
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
263 -----oOOo-(_)-oOOo-----
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
264 gremlin&gt;</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
265 <p>こんなの表示される.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
266 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
267
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
268 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
269 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
270 <p>Gremlin に相関図を食べさせて,解析開始.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
271 <pre>gremlin&gt; g = new TinkerGraph("path_to_graph");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
272 ==>tinkergraph[vertices:12 edges:32 directory:path_to_graph]
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
273 gremlin&gt; </pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
274 <p>頂点の一覧を取得してみる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
275 <pre>gremlin> g.V
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
276 ==>v[mio]
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
277 ...
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
278 ==>v[minna]
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
279 ==>v[lynett]
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
280 ...
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
281 ==>v[gertrud]
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
282 ==>v[francesca]</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
283 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
284
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
285 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
286 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
287 <p><span style="color:red">宮藤芳佳</span>の<span style="color:red">年齢</span>を取得.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
288 <pre>gremlin&gt; g.v("yoshika").age
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
289 ==&gt;14</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
290 <p><span style="color:red">宮藤芳佳</span>を<span style="color:red">指導</span>しているのは誰?</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
291 <pre>gremlin&gt; g.v("yoshika").in("指導").name
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
292 ==&gt;坂本美緒</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
293 <p><small><span style="color:red">宮藤芳佳</span>のことを<span style="color:red">きっー!なんなんですのアナタは!?</span>と思っている人が<span style="color:red">勤務態度に不満</span>を持っている人たち</small></p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
294 <pre>gremlin&gt; g.v("yoshika").in("きっー!なんなんですのアナタは!?")
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
295 .out("勤務態度に不満").name
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
296 ==&gt;シャーロット・E・イエーガー
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
297 ==&gt;フランチェスカ・ルッキーニ</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
298 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
299
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
300 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
301 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
302 <p><span style="color:red">16歳以下</span>の<span style="color:red">ウィッチ一覧</span></p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
303 <pre>gremlin&gt; g.v("StrikeWitches").out.filter{it.age &lt; 16}.name
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
304 ==&gt;宮藤芳佳
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
305 ==&gt;エイラ・イルマタル・ユーティライネン
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
306 ==&gt;サーニャ・V・リトヴャク
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
307 ==&gt;リネット・ビショップ
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
308 ==&gt;ペリーヌ・クロステルマン
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
309 ==&gt;フランチェスカ・ルッキーニ</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
310 <p>これを Java のプログラムからもやってみる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
311 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
312
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
313 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
314 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
315 <p>Gremlin を Java から使うためには,Maven を利用するのが簡単である.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
316 <p>Maven はプロジェクト管理ツールであり,他のプロジェクトのライブラリを簡単に取り込むことができる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
317 <p>pom.xml に Gremlin を取り込むように記述する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
318 <pre>&lt;dependency&gt;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
319 &lt;groupId&gt;com.tinkerpop.gremlin&lt;/groupId&gt;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
320 &lt;artifactId&gt;gremlin-java&lt;/artifactId&gt;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
321 &lt;version&gt;2.1.0&lt;/version&gt;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
322 &lt;/dependency&gt;</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
323 <p>"Using Gremlin through Java" より tinkerpop / gremlin wiki</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
324 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
325
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
326 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
327 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
328 <p>TinkerGraph で作った,相関図を読み込む</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
329 <pre>Graph g = new TinkerGraph("path_to_graph");</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
330 <p>GremlinPipeline の作成</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
331 <pre>GremlinPipeline pipe = new GremlinPipeline();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
332 pipe.start(g.getVertex("yoshika"))....</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
333 <p>Gremlin は Graph に対して、ある処理をする Pipe をつなげることにより,複雑な探索を可能にする.Gremlin コンソールではあまり見えないが,Java では Pipes を利用しているのが確認できる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
334 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
335
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
336 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
337 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
338 <p><span style="color:red">宮藤芳佳</span>を<span style="color:red">指導</span>しているのは誰?</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
339 <pre>pipe.start(g.getVertex("yoshika")).in("指導").property("name");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
340 for(Object name : pipe){
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
341 System.out.println("name")
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
342 }</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
343 <p><small><span style="color:red">宮藤芳佳</span>のことを<span style="color:red">きっー!なんなんですのアナタは!?</span>と思っている人が<span style="color:red">勤務態度に不満</span>を持っている人たちの年齢</small></p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
344 <pre>pipe.start(g.getVertex("yoshika")).in("きっー!なんなんですのアナタは!?")
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
345 .out("勤務態度に不満").property("age");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
346 for(Object age : pipe){
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
347 System.out.println("age");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
348 }</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
349 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
350
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
351 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
352 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
353 <p><span style="color:red">15歳以上</span>の<span style="color:red">ウィッチーズの名前</span></p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
354 <pre>pipe.start(g.getVertex("StrikeWitches")).out("member")
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
355 .filter(new PipeFunction&lt;Integer,Boolean&gt;(){
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
356 public Boolean compute(Integer _argument){
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
357 return _argument >= 15;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
358 }
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
359 }).name;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
360 for(Object name : pipe){
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
361 System.out.println(name);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
362 }</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
363 <p>書き方としては,Gremlin コンソールでのほうが簡潔.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
364 <pre>gremlin&gt; g.v("StrikeWitches").out.filter{it.age &gt; 15}.name</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
365 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
366
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
367 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
368 <h3>ストライクウィッチーズの相関図を解析するには?</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
369 <p>Gremlin コンソールでの書き方を Java で利用することができる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
370 <pre>Pipe pipe = Gremlin.compile("_().out.filter{it.age &gt; 15}.name");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
371 pipe.setStarts(
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
372 new SingleIterator&lt;Vertex&gt;(g.getVertex("StrikeWitches"));
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
373 for(Object name : pipe){
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
374 System.out.println(name);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
375 }</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
376 <p>こっちのほうが簡単である.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
377 <p>このようにして,TinkerPop を使って,ストライクウィッチーズの相関図を解析してみることができた.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
378 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
379
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
380 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
381 <h3>まとめ</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
382 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
383 <li>GraphDB は,保存された Graph の辺を渡り歩き,目的のデータを取得するようなデータベースである</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
384 <li>TinkerPop は複数存在する GraphDB を統一した手法で利用出来るようにする,ことを目的としたプロジェクトの集合である.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
385 <li>Blueprints は,Property Graph Model のための interface を提供する.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
386 <li>Pipes は,Graph を処理するためのフレームワーク.複数の処理を Pipe として定義する.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
387 <li>Gremlin は,Graph を走査するための言語.GraphDB に対して Query を発行することが出来る.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
388 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
389 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
390
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
391 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
392 <h3>まとめ</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
393 <p>次は,GraphDB の例題として GraphDB を利用した PageRank の計算を TinkerPop を利用して行なって見る.</p>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
394
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
395 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
396
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
397
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
398 <!--
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
399 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
400 <h1><font size=10em>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
401 TinkerPop による PageRank の実装
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
402 </font>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
403 </h1>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
404 <p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
405 琉球大学 大城信康
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
406 <br>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
407 Sep. 08, 2012
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
408 </p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
409 </article>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
410 -->
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
411
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
412
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
413 <article>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
414 <h3>Google の PageRank アルゴリズム</h3>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
415 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
416 <li>Google の Webページ検索エンジンに使われているアルゴリズム。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
417 <li>あるページの『重要度』を示す値で、各ページ毎に持っている。 </li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
418 <li>PageRank が高いほど検索結果の上位に表示される。</li>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
419 <li>『多くの良質なページからリンクされているページは、やはり良質なページである』という考えのアルゴリズム<br></li>
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
420 <li>GraphDB は PageRank の計算に向いている。</li>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
421 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
422 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
423
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
424
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
425 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
426 <h3>なぜ PageRank なのか</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
427 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
428 <li>PageRank は Page と Page のリンクの有無を利用して計算できる。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
429 <li>GraphDB は Vertex と Vertex を結ぶ Edge を走査(Traverse)することで、
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
430 目的のデータを得るようなデータベースである。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
431 <li>また、GraphDB は局所性のあるデータを高速に計算することができる。 </li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
432 <li>PageRank の Page の関係は GraphDB の Vertex と Edge で表すことが出来る。 </li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
433 <li>また、Page の数が増えても局所的な計算ができるため GraphDB は PageRank
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
434 を求める DB に向いている。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
435 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
436 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
437
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
438
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
439
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
440 <article>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
441 <h3>Page と PageRank の GraphDB による表現</h3>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
442 <ul>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
443 <li>アンサイクロペディアの各ページを GraphDB で表す。</li>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
444 <li>1 Vertex が1つのページを表す。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
445 <li>各Vertex は Page Title と PageRank を Property として持つ。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
446 <li>リンクは "HAS_LINK" という関係で表される。</li>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
447 <li>PageRank は double で初期値は 0.15 , 最大値はページ数*0.15</li>
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
448 <li>アンサイクロペディアでは URI はページタイトルと同じ。</li>
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
449 <li>URI に対してユニークな Vertex ID を割り振る。</li>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
450 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
451 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
452
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
453 <article>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
454 <h3>TinkerPop による PageRank の計算</h3>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
455 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
456 <p class="center">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
457 <img src="./pic/graph.png" style="height:70%;">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
458 </p>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
459 <small><p>例:アンサイクロペディア内のページ『琉球大学』のリンクの関係 </li></small>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
460 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
461 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
462
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
463 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
464 <h3>PageRank アルゴリズム</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
465 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
466 <li>PageRank は次の計算式で求めることができる。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
467 <pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
468 PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))</pre>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
469 <li>PR(A) は A というページの PageRank を表す。</li>
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
470 <li>d は定数で 0.85</li>
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
471 <li>C(T1) は T1 というページがリンクを張っている数を表す。 </li>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
472 <li>PageRank はリンクを張ってくるページの PageRank が加算される。 </li>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
473 <li>T1...Tn は A をリンクしているページなので、C(T1)...C(Tn) は 0 にならない。</li>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
474 <li>この時加算される PageRank はリンクの数で割られた値となる。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
475 <p class="center">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
476 <img src="./pic/page_rank.png" style="height:40%;">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
477 </p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
478
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
479 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
480 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
481
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
482 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
483 <h3>PageRank の取得</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
484 <ul>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
485 <li>TinkerPop 上で PageRank の値を出すために以下の2つの値が必要</li>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
486 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
487 <li>リンク("HasLink")の関係を張ってくる Vertex の取得</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
488 <li>リンクしてくる Vertex がどれだけリンクを張っているかを取得</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
489 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
490 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
491 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
492
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
493 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
494 <h3>PageRank </h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
495 <ul>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
496 <li>TinkerPop 上での表現</li>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
497 <p class="center">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
498 <img src="./pic/graph2.png" style="height:70%;">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
499 </p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
500 <small><p>PageRankは小数点第三位で四捨五入</p></small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
501 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
502 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
503
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
504 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
505 <h3>PageRank を求める </h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
506 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
507 <li>では実際に PageRank を求めるコードを見てみる。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
508 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
509 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
510
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
511 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
512 <h3>Pipes </h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
513 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
514 <li>あるページへとリンクを張るページ(Vertex)の取得</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
515 <pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
516 GremlinPipeline pipe = new GremlinPipeline();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
517 pipe.start(graph.getVertex(id)).in("HasLink");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
518 pipe.setStarts(new SingleIterator<Vertex>(graph.getVertex(id)));
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
519 for (Object inVerObj : pipe) {
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
520 Vertex inVer = (Vertex)inVerObj;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
521 :
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
522 } </pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
523 <p class="center">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
524 <img src="./pic/inHasLink.png" style="height:30%;">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
525 </p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
526 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
527 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
528
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
529
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
530 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
531 <h3>Pipes</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
532 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
533 <li>あるページが張っているリンクの数の取得</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
534 <pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
535 GremlinPipeline pipe = new GremlinPipeline();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
536 inPipe.start(graph.getVertex(id)).out("HasLink");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
537 long linkNum = pipe.count();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
538 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
539 <p class="center">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
540 <img src="./pic/outHasLink.png" style="height:30%;">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
541 </p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
542
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
543 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
544
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
545 <article>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
546 <h3>TinkerPop による PageRank の計算</h3>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
547 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
548 <pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
549 double sum = 0.0;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
550 double pageRank = 0.0;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
551 Vertex v = graph.getVertex(id);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
552 GremlinPipeline pipe = new GremlinPipeline();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
553 pipe.start(graph.getVertex(id)).in("HasLink");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
554 pipe.setStarts(new SingleIterator<Vertex>(graph.getVertex(id)));
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
555 for (Object inVerObj : pipe) {
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
556 Vertex inVer = (Vertex) inVerObj;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
557 Object inVerId = inVer.getId();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
558 GremlinPipeline inPipe = new GremlinPipeline();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
559 inPipe.start(graph.getVertex(inVerId)).out("HasLink");
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
560 long linkNum = inPipe.count();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
561 double pr = (Double) inVer.getProperty(PAGE_RANK);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
562 sum += (double) pr / linkNum;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
563 }
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
564 pageRank = (double) 1 - weight + (double) sum * weight;
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
565 v.setProperty(PAGE_RANK, pageRank);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
566 </pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
567 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
568 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
569
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
570 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
571 <h3>TinkerPop による PageRank の計算</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
572 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
573 <li>アンサイクロペディア内で PageRank の高いページ</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
574 <table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
575 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
576 <td>ページ名</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
577 <td>リンク数</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
578 <td>PageRank</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
579 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
580 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
581 <td>ユーモア枯渇症</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
582 <td>7162</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
583 <td>71.12</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
584 <!-- <td>2.9387157726301383E-4</td> -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
585 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
586 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
587 <td>日本</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
588 <td>3537</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
589 <td>54.58</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
590 <!-- <td>2.2555002445844352E-4</td> -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
591 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
592 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
593 <td>アンサイクロペディア</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
594 <td>3887</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
595 <td>54.16</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
596 <!-- <td>2.2381320294806578E-4</td> -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
597 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
598 </table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
599 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
600 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
601
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
602
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
603
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
604 <article>
1
a5e7d50b110a fix presentation
nobuyasu
parents: 0
diff changeset
605 <h3>今日理解してほしいこと</h3>
0
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
606 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
607 <li>今回、TinkerPop を用いてアンサイクロペディアの各ページの PageRank を求めた。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
608 <li>各ページと Vertex, リンクの関係を Edge で表すことで各ページ間の関係を TinkerPop 上で表した。 </li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
609 <li>Gremlin を用いて各 Vertex を渡り歩ことで PageRank の計算を行った。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
610 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
611 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
612
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
613 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
614 <h3>参考文献・サイト</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
615 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
616 <small><li>[1] Google の秘密 - PageRank 徹底解説<br>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
617 <a href="http://homepage2.nifty.com/baba_hajime/wais/pagerank.html">http://homepage2.nifty.com/baba_hajime/wais/pagerank.html</a></li></small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
618 <small><li>[2] Lawrence Page, Sergey Brin, Rajeev Motwani, Terry Winograd, 'The PageRank Citation Ranking: Bringing Order to the Web', 1998,<br>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
619 <a href="http://www-db.stanford.edu/~backrub/pageranksub.ps">http://www-db.stanford.edu/~backrub/pageranksub.ps</a></li></small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
620 <small><li>[3] The PageRank Algorithm<br>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
621 <a href="http://pr.efactory.de/e-pagerank-algorithm.shtml">http://pr.efactory.de/e-pagerank-algorithm.shtml</a></li></small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
622
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
623 <small><li>[4] グラフデータベースを用いた PageRank 実装の試み:スケーラブルなグラフ処理系に向けて<br>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
624 <a href="http://live-e.naist.jp/sensor_overlay/5/doc/hanai.pdf">http://live-e.naist.jp/sensor_overlay/5/doc/hanai.pdf</a></li></small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
625 <!--
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
626 <small><li>Taher H. Haveliwala, 'Efficient Computation of PageRank', Stanford Technical Report, 1999,<br>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
627 <a href="http://dbpubs.stanford.edu:8090/pub/1999-31">http://dbpubs.stanford.edu:8090/pub/1999-31</a></li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
628 -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
629 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
630 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
631 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
632
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
633
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
634
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
635 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
636 <h3>RDB (SQL文)との比較</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
637 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
638 <li>RDB 上で PageRank を計算するとどうなるのか。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
639 <li>次のグラフを RDB で表し、 PageRank を求める SQL文を考えてみる。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
640 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
641 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
642
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
643
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
644 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
645 <h3>RDB (SQL文)との比較</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
646 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
647 <p class="center">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
648 <img src="./pic/rdbGraph.png" style="height:70%;">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
649 </p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
650 <small><li>全てのエッジの関係は"HasLink"とする。</li></small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
651 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
652 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
653
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
654 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
655 <h3>RDB (SQL文)との比較</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
656 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
657 <li>Table は、Vertex と Edge のプロパティの情報を持つものと、
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
658 Edge が伸びている方向を表すものができる。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
659 <table style="width:50%;">
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
660 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
661 <td>vid</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
662 <td>pageTitle</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
663 <td>pageRank</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
664 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
665 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
666 <td>1</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
667 <td></td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
668 <td></td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
669 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
670 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
671 <td>2</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
672 <td></td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
673 <td></td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
674 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
675 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
676 <td>3</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
677 <td></td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
678 <td></td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
679 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
680 <caption>vid</caption>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
681 </table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
682 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
683 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
684
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
685 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
686 <h3>RDB (SQL文)との比較</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
687 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
688 <table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
689 <td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
690 <table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
691 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
692 <td>eid</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
693 <td>relationship</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
694 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
695 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
696 <td>1</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
697 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
698 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
699 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
700 <td>2</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
701 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
702 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
703 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
704 <td>3</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
705 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
706 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
707 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
708 <td>4</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
709 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
710 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
711 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
712 <td>5</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
713 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
714 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
715 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
716 <td>6</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
717 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
718 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
719 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
720 <td>7</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
721 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
722 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
723 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
724 <td>8</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
725 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
726 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
727 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
728 <td>9</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
729 <td>HasLink</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
730 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
731 <caption>eid</caption>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
732 </table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
733 </td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
734 <td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
735 <table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
736 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
737 <td>eid</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
738 <td>fromVer</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
739 <td>toVer</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
740 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
741 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
742 <td>1</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
743 <td>8</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
744 <td>5</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
745 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
746 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
747 <td>2</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
748 <td>7</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
749 <td>5</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
750 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
751 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
752 <td>3</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
753 <td>6</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
754 <td>5</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
755 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
756 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
757 <td>4</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
758 <td>1</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
759 <td>5</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
760 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
761 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
762 <td>5</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
763 <td>1</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
764 <td>4</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
765 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
766 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
767 <td>6</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
768 <td>1</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
769 <td>3</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
770 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
771 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
772 <td>7</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
773 <td>1</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
774 <td>2</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
775 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
776 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
777 <td>8</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
778 <td>2</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
779 <td>2</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
780 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
781 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
782 <td>9</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
783 <td>4</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
784 <td>3</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
785 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
786 <caption>graph</caption>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
787 </table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
788 </td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
789 </table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
790
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
791 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
792 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
793
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
794 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
795 <h3>RDB (SQL文)との比較</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
796 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
797 <!-- <li>SQL 文で PageRank を求める。</li> -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
798 <li>Vertex 5 に対してリンクを張っている Vertex(SQL) </li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
799 <pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
800 select vid from vid,eid,graph
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
801 where eid.relationship='HasLink' and eid.eid=graph.eid
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
802 and graph.fromVer=vid.vid and graph.toVer=5; </pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
803 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
804 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
805
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
806 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
807 <h3>RDB (SQL文)との比較</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
808 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
809 <li>RDB(SQL文)では GraphDB の走査(Traverse) がしにくい。</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
810 <li></li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
811 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
812 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
813
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
814
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
815
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
816
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
817
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
818
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
819
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
820 <!--
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
821
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
822 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
823 <h3>GraphDB の定義</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
824 <p><span style="color:red">Property Graph</span> を実装して,その API を提供すれば GraphDB となるわけではない.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
825 <p>GraphDB は</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
826 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
827 <p><span style="color:red">index-free adjacency</span></p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
828 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
829 <p>でなければいけない.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
830 <p>これは,GraphDB の実装において,頂点に隣接する頂点を参照する際に,再度 Graph 全体のインデックスを参照してはいけないということである.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
831 <p>頂点は隣接する頂点への参照を自身で保持している.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
832 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
833
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
834 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
835 <h3>GraphDB の定義</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
836 <p>内部の実装がこんな感じだとダメ</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
837 <p>内部で,頂点に接続されている頂点のデータを取得する際に再度Index-Treeを参照している.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
838 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
839 <img class="centered" src="./images/index-dependent-adjacency.png"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
840 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
841
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
842 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
843 <h3>GraphDB の定義</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
844 <p>これはOK</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
845 <p>頂点が他の頂点への参照を保持する,Index-Tree を参照しない ( index-free )</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
846 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
847 <img class="centered" src="./images/index-free-adjacency.png"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
848 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
849
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
850 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
851 <h3>GraphDB の実装</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
852 <p>GraphDB の実装にはどんなものがあるの?</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
853 <table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
854 <tbody>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
855 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
856 <th>名前</th>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
857 <th>言語</th>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
858 <th>特徴</th>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
859 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
860 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
861 <td>Neo4j</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
862 <td>Java</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
863 <td>ライブラリ・ツールがたくさんある</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
864 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
865 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
866 <td>OrientDB</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
867 <td>Java</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
868 <td>SQL ライクな構文が使える</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
869 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
870 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
871 <td>sones</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
872 <td>C#</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
873 <td>Property Hyper Graph , GQL</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
874 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
875 <tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
876 <td>InfiniteGraph</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
877 <td>C++</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
878 <td>Distributed Graph Database</td>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
879 </tr>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
880 </tbody>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
881 </table>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
882 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
883 <p>沢山の GraphDB 実装がある.それぞれの GraphDB でインターフェイスが異なり,ベンダーロックインな実装になることが多いと言われている.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
884 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
885
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
886
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
887 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
888 <h3>Frames</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
889 <p>Graph をオブジェクトとして気軽に扱えるようにするためのフレームワーク,アノテーションにより,オブジェクトと Graph の関係を定義する.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
890 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
891 <pre>public interface Person {
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
892 @Property("name") public String getName();
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
893 }
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
894 public class Frames {
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
895 public Frames() {
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
896 FramedGraph<Neo4jGraph> graph = new FramedGraph<Neo4jGraph>(new Neo4jGraph("/tmp/neo4j"));
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
897 Person person = graph.getVertex(1, Person.class);
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
898 person.getName(); // equals "marko"
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
899 }
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
900 }</pre>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
901 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
902 <img src="./images/frames-logo.png" height="100px"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
903 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
904
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
905 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
906 <h3>Furnace</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
907 <p>グラフ解析のためのアルゴリズムパッケージ</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
908 <p>世の中には沢山のグラフ理論に基づくアルゴリズムが考案されているが,しかし多くは Property Graph のものではない,</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
909 <p>Furnace は Property Graph をそれらのアルゴリズムで利用できるようにする.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
910 <p>まだあんまり進んでいないようで・・・</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
911 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
912 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
913 <img src="./images/furnace-logo.png"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
914 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
915
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
916 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
917 <h3>TinkerPop を使ってみよう</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
918 <p>今日は実際に以下のプロジェクトを利用してみます.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
919 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
920 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
921 <li>Blueprints</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
922 <li>Pipes</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
923 <li>Gremlin</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
924 <li>Rexster</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
925 <li>TinkerGraph</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
926 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
927 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
928 <p>TinkerGraph は TinkerPop に付属しているインメモリグラフデータベース</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
929 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
930
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
931 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
932 <h3>TinkerPop を使ってみよう</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
933 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
934 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
935 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
936 <li>TinkerGraph (In-Memory GraphDB) を Rexster で使ってみる.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
937 <li>Rexster の RESTAPI を Blueprints を使ってアクセスしてみよう.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
938 <li>作った Graph を Rexster の GodHouse から見てみよう.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
939 <li>Gremlin で Rexster に書き込んだ Graph を Traverse してみよう.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
940 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
941 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
942 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
943 <img height="300px" src="./images/today-demo.png"/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
944 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
945
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
946 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
947 <h3>TinkerPop を使ってみよう</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
948 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
949 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
950 <p>TinkerGraph (In-Memory GraphDB) を Rexster で使ってみる.</p>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
951 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
952 <Ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
953 <li>Rexster を tinkerpop/rexster wiki からダウンロードして展開する</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
954 <li>今回利用した Rexster は 2.1.0 を利用.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
955 <li>bin/rexster.sh --start</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
956 <li>これで,localhost:8182 でサーバーが起動する.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
957 <li>管理画面 : http://localhost:8182/doghouse/main/graph/tinkergraph</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
958 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
959 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
960 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
961
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
962 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
963 <h3>TinkerPop を使ってみよう</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
964 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
965 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
966 <p>Rexster の RESTAPI を Blueprints を使ってアクセスしよう</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
967 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
968 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
969 <li>Blueprints を使ってグラフを書き込んでみる.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
970 <li>利用した Blueprints は 2.1.0 を利用</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
971 <li>Eclipse + m2eclipse を使う.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
972 <li>どっかにソースコードをあげます.</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
973 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
974 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
975 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
976
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
977 <article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
978 <h3>TinkerPop を使ってみよう</h3>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
979 <small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
980 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
981 <p>Rexster の RESTAPI を Blueprints を使ってアクセスしよう</li>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
982 <br/>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
983 <ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
984 </ul>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
985 </small>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
986 </article>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
987
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
988 -->
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
989 </section>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
990 </body>
7f57cb53663a add presen
Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
991 </html>