滿漂亮的
雖然當初拍的時候只覺得很忙碌,也不敢多想到拍出來會是怎樣,今天看到修完片的照片,只能說真是太棒了。雖然照片多多少少在細節上都有一些小缺陷,但是現在來看整體拍起來的感覺其實還挺不錯的,不知道很多年之後再來看會是怎樣的感覺。
Read more
addy7788 = addy7788 + 'ucxray' + '.' + 'berkeley' + '.' + 'edu';很明顯的除了特殊符號之外,一般文字也在裏頭,但是HTML::Entities只能處理掉特殊符號,必須要再用Text::Unidecode把文字轉出來(你要把它手動轉成\x{101}這樣也是可以拉,不過有寫好的套件不用白不用),用法大概就是這樣:
unidecode(decode_entities($str));搞定
my $n1 = REST::Neo4p::Node->new( {name => $val} );接著我要對這一個Node增加Relationship的用法是
$n1->relate_to($to_node,'RELTYPE');$to_node表示對象node,第二個變數是Relationship的類別,第三個變數如果你要同時設定property的話再寫入就可以了。接下來是一個查詢:
my $query = REST::Neo4p::Query->new("START n=node(156) MATCH (n)-[r]-(x) RETURN n,r,x");
$query->execute();
while(my $row = $query->fetch){
print $row->[0]->id."\n";
print $row->[1]->type."\n";
print $row->[2]->id."\n";
}
新增並返回查詢CREATE
n = {name :
'Andres'
, title :
'Developer'
}
新增relationship並增添屬性CREATE
(a {name :
'Andres'
})
RETURN
a
START
a=
node
(1), b=
node
(2)
CREATE
a-[r:RELTYPE {name : 'like'
}]->b
RETURN
r
複數個nodeSTART
n=
node
(1)
RETURN
n
搜尋複數個node於一列START
n=
node
(1, 2, 3)
RETURN
n
START
a=
node
(1), b=
node
(2)
RETURN
a,b
查詢relationshipSTART
n=
node
(*)
RETURN
n
利用index查詢 node或者relationship,注意nodes及rels代表是index的名子START
r=
relationship
(0)
RETURN
r
START
n=
node
:
nodes
(name =
"A"
)
RETURN
n
START
r=
relationship
:rels(name =
"Andrés"
)
RETURN
r
指定方向性(由node3出去的)START
n=
node
(3)
MATCH
(n)--(x)
RETURN
x
查詢與node有關聯的relationship,返回relationshipSTART
n=
node
(3)
MATCH
(n)-->(x)
RETURN
x
一樣返回 relationship,但是限定為BLOCKSSTART
n=
node
(3)
MATCH
(n)-[r]->()
RETURN
r
BLOCKS或KNOWS都行START
n=
node
(3)
MATCH
(n)-[r:BLOCKS]->()
RETURN
r
指向node3START
n=
node
(3)
MATCH
(n)-[r:BLOCKS|KNOWS]->()
RETURN
r
限定relationship為BLOCKS,返回nodeSTART
n=
node
(3)
MATCH
(n)<-[r:BLOCKS|KNOWS]-()
RETURN
r
接下來這個Case比較特殊,查詢node3,2,4並且其關聯為KNOWS,此外關聯可以允數的層數為第一層到第三層,所以即使node3並沒有與node4有KNOWS的關聯,但是因為node4與node2有KNOW的關聯,所以也在符合條件的範圍內。START
n=
node
(3)
MATCH
(n)-[:BLOCKS]->(x)
RETURN
x
限制與a關聯為LOVESSTART
a=
node
(3), x=
node
(2, 4)
MATCH
a-[:KNOWS*1..3]->x
RETURN
a,x
START
a=
node
(3)
MATCH
a-[r?:LOVES]->()
RETURN
a,r
或者是所有START
d=
node
(1), e=
node
(2)
MATCH
p =
allShortestPaths
( d-[*..15]->e )
RETURN
p
START
d=
node
(1), e=
node
(2)
MATCH
p =
allShortestPaths
( d-[*..15]->e )
RETURN
p
以上資料來源
這東西從我想要拿來試到現在已經有8,9個月了,果然執行力還是不夠,不過幸好我記性好...。花了快兩個小時k這些東西,不過花這時間是值得的,看來把這資料庫拿來儲存pathway鈽但方便使用,而且要做搜尋也更方便更直覺。
這禮拜五已經把KEGG的Parser用XML::SAX大概寫完了,接下來就是要看怎樣把資料塞進去了。