2017-10-26 9 views
0

私はNeo4Jを使い始め、Cypherに慣れ始めています。俳優、映画、カテゴリCypher - 上位カテゴリの映画に参加した俳優

エッジは、次のとおりです:

  • 俳優が映画の話題を(映画はいくつかのカテゴリを持つことができます)が含まれ
  • 映画に参加 私のグラフは、3つのエンティティの種類が含まれています

私は、俳優のすべての映画のトピックを表示するクエリを書くことができました。

グラフとクエリのデモは、私はすべての俳優のトピックとの映画に参加した後、俳優を取得するクエリを書きたい、今のNeo4jコンソールhttp://console.neo4j.org/?id=sm07j5

に設定されていますこれらのトピックカテゴリのいずれか:単一のクエリでそれを行うことは可能ですか? または、最初のカテゴリを変数に格納する必要がありますか?

Cypherはクエリ結果から変数定義をサポートしていますか?

+1

...カテゴリが評価され、注文する方法上の任意の情報を提供していませんでした:クエリ結果の上

MATCH (Robin: Actor {name: 'Robin Williams'})-[:ACTS_IN]->(m:Movie)-[:IS_ABOUT]->(t:Topic) WITH t MATCH (t:Topic)<-[:IS_ABOUT]-(r:Movie)<-[:ACTS_IN]-(a:Actor) RETURN a, COLLECT(t) 

[Neo4j Console](http://console.neo4j.org/)内のデータは何ですか? –

+1

また、あなたが俳優の一番上のカテゴリを取得するために書いた質問を私たちと共有してください。 –

+0

@BrunoPeresここにneo4jコンソールへのリンクがあります:http://console.neo4j.org/?id=sm07j5 – viebel

答えて

1

私は正しくありませんがあった場合、これは単純な答えだろう「俳優のトップカテゴリを取得し、これらのトップカテゴリのいずれかの映画に参加した俳優は、クエリ」にあなたの条件を理解していればこの "トップカテゴリ"。

(2:Actor {name:"Demi Moore"})  [(7:Topic {name:"Teenagers"})] 
(1:Actor {name:"Tom Cruise"})  [(7:Topic {name:"Teenagers"})] 
(3:Actor {name:"Tom Hanks"})  [(8:Topic {name:"School"})] 
(0:Actor {name:"Robin Williams"}) [(8:Topic {name:"School"}), (7:Topic {name:"Teenagers"})] 

@InverseFalconはコメントとして、あなたはサンプルデータセットを共有することはでき

+0

。 \t 私の質問の目的は、クエリの次の部分の入力としてクエリの一部の結果を使用する方法を理解することでした。限界/秩序の論理は、質問の不可欠な部分ではありませんでした。質問が更新されました – viebel

+0

あなたの質問に答えてください。「1つのクエリでそれを行うことは可能ですか?明らかにはいです。 前のMATCH文の結果を使用して次の文に渡す場合は、WITH句を使用します。ただし、Cypher文全体が単一のクエリとみなされます。 – hlihovac

関連する問題