2016-07-15 6 views
0

Excelのフィルタ機能を使用してDWHテーブルからソーステーブルと列を簡単に識別できるように、データ系列の表形式リストを作成したいと考えています。 しかし、以下のCypherコードは機能しません。Neo4jのCypherを使用して、異なる基数の戻り値からアイテムのリストを作成するにはどうすればよいですか?

MATCH(a:DB {TABLE:'CONT'})-[b:RELATED*1..3]->(c:DB) 
WHERE ALL (tmp IN b WHERE tmp.CLAUSE IN ['where','join','unknown']) 
RETURN a.table,a.column,b.clause,c.table,c.column 
LIMIT 200 

次のエラーが発生しました。私は "A、B、CのRETURN" を指定した場合

Type mismatch: expected Map, Node or Relationship but was Collection<Relationship> (line 3, column 25 (offset: 147)) 

"RETURNのa.table、a​​.column、b.clause、c.table、c.column"

、私は次のようになりました。

a b c 
{"TABLE":"TXX","COLUMN":"CXX","DB":"DXX"} [{"CLAUSE":"unknown"}] {"TABLE":"TYYY","COLUMN":"CYYY","DB":"DYYY"} 

しかし、以下のようにしたいと考えています。

TABLE,COLUMN,DB,CLAUSE,TABLE,COLUMN, 
"TXX","CXX","DXX","unknown","TYYY","CYYY","DYYY" 

どのようにすればいいですか?

答えて

0

したがって、bにバインドした関係は1から3の実際の関係の可変長関係であるため、bを参照すると、1つの関係ではなくそれらの関係の集合が得られます。

a、b、cだけを使用したときの出力では、unknown句の角括弧に注意してください。そのコレクションには2つまでの他のオブジェクトが存在する可能性があります。一部のデータについては、「A、B、Cのリターンは」次のようになりますこと:あなたが代わりのリストからプロパティを求めているので、戻っb.clauseは、意味がない理由

{"TABLE":"TXX","COLUMN":"CXX","DB":"DXX"} [{"CLAUSE":"unknown"}, {"CLAUSE":"join"}, {"CLAUSE":"where"}] {"TABLE":"TYYY","COLUMN":"CYYY","DB":"DYYY"} 

だことオブジェクトのいくつかの種類。

おそらくUNWIND bをsomethingElseとして実行できます。次にsomethingElse.clauseを実行して、その作業を行うことができます。 UNWINDは何かのリストを行に変更しますが、複数の:RELATED関係がある場合、それらはそれぞれaとcの組み合わせでそれぞれの行に表示されます。

関連する問題