2016-10-07 3 views
1

私はグラフデータベースを使って簡単なニュースフィードをモデル化して実験しています。グラフをトラバースして頂点上のデータを収集し、結果と一緒に出力するにはどうすればよいですか?

http://neo4j.com/docs/snapshot/cypher-cookbook-newsfeed.html

がグレムリンのクエリは以下のようにも、ユーザーが記事を所有するよう、ユーザーの友人のそれぞれから15件の最新記事を取得します。私はのNeo4jを使用していないが、私は大体私のグラフのためにこのモデルを、次のい。 (私はランク付けし、後でこれをフィルタリングして改ページする)。

g.V().hasLabel("user").has("userid", "john.smith") 
    .union(
     out("posted"), 
     both("friend").out("posted") 
    ).next(15).toList(); 

問題は、usersに関するデータを取得する必要があることです。アバターURL、表示名などのようなものです。このデータは、各user頂点にプロパティとして保存されます。

このデータをグラフを横断して各投稿とともに出力するには、どうすればこのデータを収集できますか?単に、各ポストに接続user頂点のすべてのプロパティを含む、注入userオブジェクトに各ポストを返すことができるように素晴らしいことだ

任意の助けを大幅に高く評価されるだろう。これを行うには

答えて

3

一つの方法は、select()

g.V().hasLabel("user").has("userid", "john.smith").as('user') 
    .union(
     out("posted"), 
     both("friend").out("posted") 
    ).as('posts').select('user','posts').next(15).toList(); 
+0

パーフェクトを使用することです、私は、データベースをグラフ化する新たなんだと、あなたの例では、私はいくつかの基本的な概念を把握し支援してきました。乾杯! – gordyr

関連する問題