さまざまなタイプのノードがいくつかあります。つまり、さまざまなプロパティを持つノードがあります。たとえば、fileNameとuploadDateのプロパティだけを持っているノードがいくつかあります。すべてのファイル名を確認したい場合は、次のことを行う必要がありますか?
START n=node(*) WHERE has(n.File) RETURN n;
これはベストプラクティスですか(つまり、フラット化されたデータベースのクエリ)。ありがとう!
さまざまなタイプのノードがいくつかあります。つまり、さまざまなプロパティを持つノードがあります。たとえば、fileNameとuploadDateのプロパティだけを持っているノードがいくつかあります。すべてのファイル名を確認したい場合は、次のことを行う必要がありますか?
START n=node(*) WHERE has(n.File) RETURN n;
これはベストプラクティスですか(つまり、フラット化されたデータベースのクエリ)。ありがとう!
クエリはすべてのノードをスキャンします。データセットが大きくなるにつれて、これは遅くなります。
特定のタイプのノードを識別するには、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のビールグラフはこの例です。)