以前のリビジョンの文書です
ノードと呼ばれるオブジェクトを複数作成できる。
ノードは同一ラベル、同一プロパティでも複数作成される。(idが異なる)
(ノード:ラベル{プロパティ1:xxx,プロパティ2:yyy})
ノード間は方向性のあるリレーションで結ぶことができる。
(ノード)-[:ラベル{プロパティ1:xxx,プロパティ2:yyy}]→(ノード)
#追加 create(a:Person{name:"taro",age:44}) #検索 match(n:Person)where n.name="taro" return n #更新 match(n:Person)where n.name="taro" set n.age=45 #追加 create(a:Person{name:"hana",age:10}) create(a:Person{name:"sabu",age:30}) #リレーション追加 match(a:Person)where a.name="taro" match(b:Person)where b.name<>"taro" create (a)-[:like]->(b) #リレーションの削除 MATCH ()-[e:like]-() delete e #全リレーションの削除 MATCH ()-[e]-() delete e
#データベース作成 ※エンタープライズエディションのみ CREATE DATABASE [名前] #全てを削除 MATCH (n) DETACH DELETE n #ノードを作成する #CREATE データを作成する句 #() ノードを示す括弧 #ee:Person 新しいノードの変数「ee」とラベル「Person」 CREATE (ee:Person { name: "Emil", from: "Sweden", klout: 99 }) #検索 match (nn:Person)where nn.name="taro" match(mm:Person)where mm.name="hana" return nn,mm #リレーションの作成 match (nn:Person)where nn.name="ryu" match(mm:Person)where mm.name="hana" create(nn)-[:FRIEND]->(mm) #ノードとリレーションを作成する create(taro)-[:FRIEND]->(hana) #全ノードを表示する MATCH (n) RETURN n LIMIT 25 #全リレーションを表示する MATCH p=()-[r:KNOWS]->() RETURN p LIMIT 25 #Emilを表すノードを検索 #MATCH ノードと関係のパターンを指定する句 #(ee:Person) 変数「ee」に一致を割り当てるラベル「Person」の単一ノードパターン #WHERE 結果を制約する句 #ee.name = "Emil" 名前プロパティを値「Emil」と比較します #RETURN 特定の結果を要求するために使用される句 MATCH (ee:Person) WHERE ee.name = "Emil" RETURN ee; #一度に多くのノードとリレーションを作成する MATCH (ee:Person) WHERE ee.name = "Emil" CREATE (js:Person { name: "Johan", from: "Sweden", learn: "surfing" }), (ir:Person { name: "Ian", from: "England", title: "author" }), (rvb:Person { name: "Rik", from: "Belgium", pet: "Orval" }), (ally:Person { name: "Allison", from: "California", hobby: "surfing" }), (ee)-[:KNOWS {since: 2001}]->(js),(ee)-[:KNOWS {rating: 5}]->(ir), (js)-[:KNOWS]->(ir),(js)-[:KNOWS]->(rvb), (ir)-[:KNOWS]->(js),(ir)-[:KNOWS]->(ally), (rvb)-[:KNOWS]->(ally) #Emailのパターンマッチ MATCH (ee:Person)-[:KNOWS]-(friends) WHERE ee.name = "Emil" RETURN ee, friends # MATCH (js:Person)-[:KNOWS]-()-[:KNOWS]-(surfer) WHERE js.name = "Johan" AND surfer.hobby = "surfing" RETURN DISTINCT surfer PROFILE MATCH (js:Person)-[:KNOWS]-()-[:KNOWS]-(surfer) WHERE js.name = "Johan" AND surfer.hobby = "surfing" RETURN DISTINCT surfer