2017-09-10 14 views
0

gremlin-pythonを使用してデータをプッシュしました。今私はspcificクエリを実行したいです。私はそれにギズモを使用しています。Gremlin Python Gizmoグラフdbでの問い合わせ方法

私は基本的に各ノードの集中度を達成したいと考えています。それ、どうやったら出来るの?

現在、私は同じを返すために、クエリました:私はそれがある達成していますどのように

g.V().group(). 
......1> by(id). 
......2> by(union(__(), outE('mentions').count()).fold()) 

:私が欲しいもの

def query(self, q): 
    from gizmo import Mapper, Request 
    from gremlinpy import Gremlin 

    req = Request('localhost', 8182) 
    gremlin = Gremlin('g') 

    mapper = Mapper(request=req, gremlin=gremlin) 
    # s = mapper.gremlin.V().inE('mentions').count().toList() 
    # res = mapper.query(gremlin=s) 

    # print(res.get_data()[0]) 
    print("Something") 

    res = mapper.query(script=q) 

    # print(res.get_data()[0]) 
    print("Something") 
    print(res.data) 

    print(res.first(), res.data) 
    # exit(0) 
    return res.first() 

解像度の内側にフェッチされたデータを表示することです変数。

しかし、私のようにエラーが出たび:

私がしようと
AttributeError: 'coroutine' object has no attribute 'data' 
AttributeError: 'coroutine' object has no attribute 'get_data' 

または類似のもの。

コルーチンオブジェクトからフェッチした結果を取得するにはどうすればよいですか?

:私は、クエリを機能するように渡しているサンプルクエリは、())GV(ある(カウント)

グレムリンシェルでのpythonから任意の汎用クエリを実行するために、他のより良い方法はあります。結果を取得しますか?

グラフDB: JanusGraph

バックエンド:カサンドラ

インデックスバックエンド: Elasticsearch

答えて

2

あなたが複数のプロジェクトに関連する可能性がギズモを言及し、私はあなたがこの1を意味だと思います:

https://github.com/emehrkay/gizmo

ドキュメントによると、このプロジェクトはTinkerPop 2.xとRexsterを対象としています。 JanusGraphが基づいているTinkerPop 3.xとGremlin Serverで動作するとは思えません。あなたはTinkerPop 3.xのためのいくつかの並べ替えのPythonのOGMが必要な場合は検討するかもしれない:

https://github.com/davebshow/goblin

+0

をおかげで、ゴブリンは、問題の私達のユースケースで動作しているようです。 :-) –

関連する問題