26

ワイルドカード (*) 記号を使用して、次のような Cypher クエリのすべての参照を返すことができることを理解しています。

MATCH p:Product WHERE p.price='1950' RETURN *;

  ==> +----------------------------------------------------------------+
  ==> | p                                                              |
  ==> +----------------------------------------------------------------+
  ==> | Node[686]{title:"Giorgio Armani Briefcase",price:"1950",...    |
  ==> +----------------------------------------------------------------+

ただし、結果は「p」という名前の単一ノード「列」を持つ行であり、そこからプロパティにアクセスできます。ただし、結果セットの「行」にプロパティ名を「列」として付けたいと思います。何かのようなもの:

MATCH p:Product WHERE p.price='1950' RETURN p.*;

  ==> +-------------------------------------------+
  ==> | title | price | ...                       |
  ==> +-------------------------------------------+
  ==> | "Giorgio Armani Briefcase" | "1950" | ... |
  ==> +-------------------------------------------+

その特定のクエリは有効ではありませんが、同じ結果を達成する方法はありますか ( p.title,p.price,p... のように、すべてのプロパティを明示的にリストする以外に)?

4

7 に答える 7

9

キーの取得を拡張するには:

MATCH (p:product) WITH DISTINCT keys(p) AS keys
UNWIND keys AS keyslisting WITH DISTINCT keyslisting AS allfields
RETURN allfields;
于 2016-12-14T16:02:58.333 に答える
1

「as」句を使用して、各プロパティと、列に付けたい名前を識別できます。ただし、返される各プロパティを個別に識別する必要があります。

元:

MATCH p.product where WHERE p.price='1950' RETURN p.price as price, p.title as title, p.whatever, as anythingYouWant
于 2013-07-18T23:27:09.513 に答える
-1

私はサイファーが初めてですが、これは特定のタイプのノードのすべてのキーを返すようです:

MATCH (p:product) RETURN keys(p)

Neo4J 3.0 で動作します。

于 2016-05-31T14:35:02.097 に答える