Neo 4 j学習ノート

11699 ワード

関連ドキュメント
Neo 4 j関連公式ドキュメント
Neo 4 jのインストール
1.Install Neo 4 j Ubuntu 16.04サーバーにNeo 4 j neo 4 jをインストールする初歩的な認識とLinuxシステムを使用してブラウザなしでneo 4 jパスワードを初期化する
CREATE
create-ノードまたは関係の作成
//     n, label Person,      name born,   return    
CREATE (n:Person { name:'Tom Hanks', born:1956 }) RETURN n

//   a b     DIRECTED,      r, r id, r type
MATCH (a:Person),(b:Movie)
WHERE a.name = 'Robert Zemeckis' AND b.title = 'Forrest Gump'
CREATE (a)-[r:DIRECTED]->(b)
RETURN r, id(r), type(r)

//   a b     ACTED_IN,       roles
MATCH (a:Person), (b:Person) 
WHERE a.name='Tom Hanks' AND b.title='Forrest Gump' 
CREATE (a)-[r:ACTED_IN { roles:['Forrest'] }]->(b) 
RETURN r, id(r), type(r)

// Hello World!
//     database, message,   r;     database    r    message
CREATE (database:Database {name:"Neo4j"})-[r:SAYS]->(message:Message {name:"Hello World!"}) 
RETURN database, message, r

MATCH
match-ノードまたは関係を一致させ、return文と連用する
//          
match(n) return n

//   born    1952   
MATCH (n) WHERE n.born < 1952 RETURN n

//       label   
MATCH (n:Movie) RETURN n, labels(n)

//      Movie        
match(n)--(m:Movie) 
return n

//      Person,name Tom Hanks       
MATCH (:Person { name: 'Tom Hanks' })-->(movie) RETURN movie;

//     n1    r    n2        ,          25
MATCH (n1)-[r]->(n2) RETURN r, n1, n2 LIMIT 25

MERGE
merge-機能はcreateとmatchに相当する.モードが存在する場合、そのモードに一致する.モードが存在しない場合、そのモードが作成されます.merge文の後にon createとon merge文を指定できます
//    Person   ,       ;           
MERGE (michael:Person { name: 'Michael Douglas' })
RETURN michael;

//    keanu   ,      ;        ,           keanu created  
MERGE (keanu:Person { name: 'Keanu Reeves' }) 
ON CREATE SET keanu.created=timestamp()
RETURN keanu;

エンティティ関連関数
id()-ノードまたは関係のidを取得する
//   label Person, name Tom Hanks     r id
MATCH (:Person { name: 'Tom Hanks' })-[r]->(movie)
RETURN id(r);

type()-関係を取得するタイプ
//   label Person, name Tom Hanks     r     
MATCH (:Person { name: 'Tom Hanks' })-[r]->(movie)
RETURN type(r);

Labels()-ノードラベルの取得
//   label Person, name Tom Hanks          movie   
MATCH (:Person { name: 'Tom Hanks' })-[r]->(movie)
RETURN labels(movie);

keys()-ノードまたはリレーションのプロパティkeyを取得
MATCH (a)
WHERE a.name = 'Alice'
RETURN keys(a)

properties()-ノードまたはリレーションのプロパティを取得するproperty
//   id p, label Person,     name,city   ,            
CREATE (p:Person { name: 'Stefan', city: 'Berlin' })
RETURN properties(p)

Cypherノート(一)Cypher基礎入門Neo 4 jシリーズ-Cypher入門(四)Neo 4 jのクエリー文法ノート(二)