2017-10-17 12 views
0

が質問にフォローアップ:Organize alternative names (nicknames, aliases) in neo4jのNeo4jの複数のインデックスを作成名

このような何かをする方法はあります:

CREATE INDEX ON :Node(name); 
CREATE (n:Node {name: ["nameA", "nameB"]}); 
MATCH (n:Node {name: "nameA"}) return n; 
  1. ノードのnameプロパティのインデックス作成します。
  2. ノード名の名前のコレクション(配列)を使用します。
  3. これらの名前の1つを検索し、ノードを返します。

レガシーインデックスを使用する必要がありますか、これは通常のインデックス作成で達成できますか?

元の質問は3歳以上であり、同様の機能が追加されている可能性があるので、私は尋ねています。

答えて

0

いいえ、「通常の」インデックス作成では対応していません。

しかし、複数のNameノードが同じNodeノードを指し、インデックス:Name(name)を指すようにデータモデルを変更することができます。このようなもの:

CREATE INDEX ON :Name(name); 

CREATE 
    (node:Node {id: 123}), 
    (:Name {name: "nameA"})-[:NAME_OF]->(node), 
    (:Name {name: "nameB"})-[:NAME_OF]->(node); 

MATCH (:Name {name: "nameA"})-[:NAME_OF]->(node) return node; 
関連する問題