0

さまざまなタイプのノードがいくつかあります。つまり、さまざまなプロパティを持つノードがあります。たとえば、fileNameとuploadDateのプロパティだけを持っているノードがいくつかあります。すべてのファイル名を確認したい場合は、次のことを行う必要がありますか?

START n=node(*) WHERE has(n.File) RETURN n;

これはベストプラクティスですか(つまり、フラット化されたデータベースのクエリ)。ありがとう!

4

1 に答える 1

4

クエリはすべてのノードをスキャンします。データセットが大きくなるにつれて、これは遅くなります。

特定のタイプのノードを識別するには、2つの一般的なアプローチがあります。

タイプ属性

'type'(または、システムプロパティとしてマークする場合は'_type_' fe)という名前のプロパティに、タイプを説明する値('File'など)を設定します。

次に、次のようなインデックスを介してノードを検索できます。

start n=node:node_auto_index(type='File') return n;

タイプノード

特定のタイプのノードを「タイプ」ノードに接続し、関係を照会します。

start type_node=node:node_auto_index(name='File')
match type_node<-[:IS_A]-file
return file;

(このページhttp://www.neo4j.org/learn/tryのビールグラフはこの例です。)

于 2013-03-08T16:55:53.580 に答える