2017-07-10 4 views
0

IはOGM使用v3のPy2neoを通してのNeo4jするクエリを持っている:Py2neo V3パスクエリー戻り判読不能

出力= graph.run(「MATCH(M:カラム{名: 'コード'})、(N:カラム{名: 'locale_language_cd'})、P = shortestPath((M) - [のrels:PART_OF *] - (N))戻りP」)を評価()

印刷(出力)

この正常私はそれが何をしたい行いますが、ノードは

(f0b4322)読みやすいではありません - [:PART_OF] - >(f86202d)< - [:PART_OF] - (a16fb7b) - [:PART_OF] - >(B35 62af)< - [:PART_OF] - (a7bfe43)

Iは、再びコードを実行する場合:

(b539883) - [:PART_OF] - >(c83d89b)< - [:PART_OF] - (f2adac1) - [:PART_OF] - >(fd469a6)< - [:PART_OF] - ここで(e373bf4)

データはのNeo4jのように見えるものへのリンクです:Neo4j output with same search parameters

私は、コードの出力を実行するたびに私は数字をGraphObjectの名前(それらの主キー)に置き換えたいと思っています。

答えて

0

name = code、name = 'locale_language_cd'に一致するノードのみを検索しているので、本当に大きなリンゴの袋からランダムなリンゴを選んでいるとします。apple .. mmmm ...

あなたが手に入るたびに、別のリンゴが得られます。
パスと同じことです。あなたは '最短経路'か何かを求めていません。あなたは事実上、データベースに、最初に見つけたパスを、n & & mの間で選択するように要求しています。

あなたはより多くの一貫性のある結果を取得したい場合は、検索のいずれかのノード上の主キーによって、またはソート別の属性によって、利用可能な「第一」を選ぶ。..

2番目の質問に答えるのではなく、結果を印刷するにはset、つまりパスオブジェクトではなく、ノードを返して印刷します。

または組み込み関数を使用して結果を反復処理します。

ような何か:P

+0

に何があるか確認するに

for x in results: p = x['p'] # This is the path print p 

は、返信いただきありがとうございますが、どのように私は、主キーで検索するには? __primarykey__属性がnameプロパティであると設定しました。これは私がすでに主キーで検索しているのではないでしょうか? –

+0

はい!すでに名前のプロパティで検索しています。 (m:Column {name: 'code'})...しかし、あなたはpを返しています。ここで、pはパスです。たぶん私はあなたの質問の意図を見逃しています。 – chrisfauerbach

関連する問題