annotate memo.txt @ 4:761d04aecfcb

added Graph API and some implementation
author shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
date Tue, 19 Jun 2012 23:38:31 +0900
parents 9eb9fabd9f29
children 07b26b4b21e0
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
1 2012/06/11
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
2 ・誰が Editor を提供する API を保持するべきか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3 ・Editor の役割
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
4 ・commit したら必要な Node を NodeProvider に push する。
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
5 ・ということは, 内部に NodeProvider への参照を保持してないといけない? NodeProvider へのリンクを保持しているのは Jungle である。
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
6 ・Jungle が NodeProvider を持っているのは正しいのか? TreeGroup でもいいのではないか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
7 ・commit したら TreeGroup の情報は破壊される。つまり? commit は TreeGroup に対して行われる。
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
8  ・TreeGroup のメソッドで Tree を渡して Editor を作成するが良いか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
9 ・tree を編集する
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
10 ・Editor は TreeGroup が保持するとする。ならば、NodeProvider はどうするか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
11 ・NodeFactory (?) をつくる? NodeProvider と何が違うのか?
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
12 ・NodeProvider は、Tree/TreeNode/Link を作成する。
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
13 ・NodeProvider で、createTreeGroup , createTree , createTreeNode , createLink を依頼する
b1fa4c494416 added tests , etc..
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
14 ・初期では、パスの検索は深さ優先探索で行う
3
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
15 ・TreeGroupについて、TreeGroupは最初に初期Treeを1つ作らなければならない?
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
16
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
17 2012/06/12
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
18 ・NodeTable と NodeTable の状態を同期させる。
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
19 ・Table , Record , PropertySequence をつくる、Record がひとつの Node に対応する
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
20 ・これを用いて Node , TreeGroup , Tree , TreeNode , Link を作成する
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
21 ・ Node : Record の Property で Attribute を表現
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
22 ・ TreeGroup : Node で表すべき?
9eb9fabd9f29 added Table framework
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 1
diff changeset
23 ・ Tree : TreeNode を継承している よって Node で表す、 Children や Links は PropertySequence による.
4
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
24 ・ Link : Node で表す。
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
25
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
26 2012/06/15
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
27 ・Functional Java を使って PropertySequence を実装するといいかも?
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
28 ・Record , PropertySequence の hashCode , equals の実装について、ちゃんとテストを作ること!(重要)
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
29 ・なるべく、equals と hashCode はオーバーライドしないようにする、独自の比較メソッドを提供する。
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
30 ・Table , Record , PropertySequence に Atomic なオペレーションを追加する
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
31  ・Table は Record の作成に CAS を追加する
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
32  ・Record は Map と PropertySequence に CAS を追加する。
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
33  ・PropertySequence は・・・いらないか・・
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
34 ・Jungle の API から getTreeGroups を削除した
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
35 ・Table , Record , PropertySequence では足りない、もっと美味いやりかたがあるはず
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
36
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
37 2012/06/19
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
38 ・Graph API を定義することにした
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
39 ・ Graph , Vertex , Vertexes
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
40 ・Neo4j で言うと
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
41 ・ GraphDB , Node , Iterator<Relationship>
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
42 ・とりあえずこれで実装してみる。
761d04aecfcb added Graph API and some implementation
shoshi <shoshi@cr.ie.u-ryukyu.ac.jp>
parents: 3
diff changeset
43 ・今日は、SimpleVertexes をほぼ完成させた、あとすこしとテストコードを追加すること。