最新の Neo4j 2.0 M01 を試しています。また、完全な cinecast graph.db をダウンロードし、Michael による優れたビデオ チュートリアルに従って 2.0 ストアで動作するように構成しました。こちらを参照してください: http://vimeo.com/63707662
ラベルに慣れたいので、User、Person としてインデックスされているいくつかのノードにいくつかのラベルを追加することを考えました。
start n=node:Person("id: ") set n:Humans return count ( );
それは機能し、インデックス付けされているすべてのノードにラベルを追加しました(ただし、Webコンソールで視覚的に見ることはできません..しかし、クエリを実行するとそこに表示されます)
ただし、これは機能しません。
neo4j-sh (0)$ start n=node:Person("id:*") match n where ID(n)>700 and ID(n)<710 set n:Journalist return n;
ResourceAcquisitionFailedException: トランザクションはロールバック専用としてマークされています
2 つの問題: 現在、関数文字列を int に型キャストするものはありますか? ID、名前などは文字列であるため、インデックスの部分ノードを更新するために思いついたのは ID(n) だけでした。
次に、上記のノード グループに Journalist ラベルを設定しないのはなぜですか? http://docs.neo4j.org/chunked/2.0.0-M01/query-set.html#set-set-a-label-on-a-node
また、ラベルは次のような複数の単語にすることもできます:
start a=node(1,2,3,4)
match a
where a.name='Anders'
set a:helicopter pilot
return a
エラー: 期待される有効なクエリ本文 "set a:helicopter pilot "
そして最後に、Neo4j api docs でクエリを試してみると、node(0) ルートが機能しないものがあります。以下は有効なクエリです (少なくとも有用です)。
start a=node(*)
match a
where a.name='Anders'
return a
エラー: org.neo4j.cypher.EntityNotFoundException: プロパティ 'name' が Node[0] に存在しません
ありがとうございました!