2013-04-01から1ヶ月間の記事一覧

ラーメンデータベースとNeo4j

ラーメンデータベース 私はラーメンデータベースという、ラーメンのレビューサイトに参加して、日々ラーメンのレビューをアップしていたりするのだけど、レビューサイトの常として、投稿したレビューに対して他のユーザがコメントをつけたりすることができる…

Cypherにおけるdistinctとorder byの併用

そしてぬこは途方に暮れた。CypherのRETURN句には、distinctの指定とorder byの指定がある。order byの例 neo4j-sh (0)$ START i=node(1) MATCH p=i-[:SCHEMA]->s-[r:META*0..]->n RETURN n.name order by n.name ; ==> +-----------+ ==> | n.name | ==> +-…

Cypherの集合関数lastの挙動が変?

今日もぬこは激怒した。Cypherの集合関数として、 head tail last があるのだが、何故かlastだけうまく動作しないときがある・・・。headはOK。 neo4j-sh (0)$ START i=node(1) MATCH p=i-[:SCHEMA]->s-[r:META*0..]->n RETURN r, head(r); ==> +-----------…

pg_bigmとpg_trgmの併存

Fujii先生からのツッコミ 昨日、pg_bigmの検証のエントリを書いた後、作者(か或いは作者に近い立場と思われる)のFujii Masaoさんから、以下のコメントをもらった。 @nuko_yokohama BTW you can easily register pg_bigm and pg_trgm to the same database at…

pg_bigmを動かしてみた

kasa_zipさんのツイート 今朝、いつものようにツイートをチェックしてたら、kasa_zipさんのツイートが目に留まった。 あれ、pg_bigmリリースしたんだ? むむむ、pg_bigmとな。名前から想像するにPostgreSQL標準の全文検索モジュールpg_trgmのbi-gramバージョ…

CypherのDELETEがうまく動作しない?

ぬこは激怒した。さっきの続き。 まあ、さっきの問題は些か汚い方法だが、not()で反転させれば所定のノード群を得ることはできる。 neo4j-sh (0)$ START n=node(*) WHERE not(n.delete_flag? = false) RETURN n; ==> +-------------------------------------…

CypherのWHERE句評価の怪

こんなの絶対おかしいよノードに新規にプロパティをセットする。 START n = node(・・・) MATCH ・・・ SET delete_flag = true RETURN n;こうするとMATCH句に合致するノードに対してdelete_flagというプロパティをtrueで追加してくれる。で、その後に START…