Neo4j的多个索引名称与架构指标

问题描述:

跟进的问题:Organize alternative names (nicknames, aliases) in neo4jNeo4j的多个索引名称与架构指标

有没有办法做这样的事情:

CREATE INDEX ON :Node(name); 
CREATE (n:Node {name: ["nameA", "nameB"]}); 
MATCH (n:Node {name: "nameA"}) return n; 
  1. 索引节点的name属性。
  2. 使用名称的集合(数组)作为节点的名称。
  3. 搜索其中一个名称并返回节点。

我必须使用传统索引还是可以通过常规索引来实现?

我在问自从原来的问题已经超过3岁,并且我认为可能已经添加了类似的功能。

不,“正常”索引不支持这一点。

但是,您可以更改数据模型以允许多个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;