我有一张小图:
CREATE (Thing:Class {title:'Thing'})
CREATE (Places:Class{title:'Places'})
CREATE (Lemma:Class {title:'Lemma'})
CREATE (Country:Class {title:'Country'})
CREATE (Region:Class {title:'Region'})
CREATE (loc1:Index {title:'loc00001'})
CREATE (loc1_1:Index {title:'loc00001.01'})
CREATE (Abc:Placename {title:'Abc', gender:'n'})
CREATE
(Thing)-[:HAS_SUBCLASS]->(Places),
(Thing)-[:HAS_SUBCLASS]->(Lemma),
(Places)-[:HAS_SUBCLASS]->(Country),
(Country)-[:HAS_SUBCLASS]->(Region),
(Country)-[:HAS_SUBCLASS]->(Region),
(Places)-[:HAS_INDIVID]->(loc1),
(loc1)-[:HAS_LA_VAR]->(loc1_1),
(loc1_1) -[:HAS_VAR_NAME]->(Abc)
RETURN Thing
;如果我想从一个特定的节点(比方说loc1 )开始查询,我需要对它进行索引:
CREATE INDEX ON :Index(title)然后我查询我的DB:
START n=node:Index(title='loc00001') MATCH n RETURN n这里我得到了一个错误:
索引
Index不存在 Neo.ClientError.Schema.NoSuchIndex
我做错了什么?
发布于 2014-04-10 09:28:15
你把使用Lucene的遗留索引和模式索引混在一起。由于Lucene索引在Neo4j中不受欢迎,因此我将不再提及它们。如果使用CREATE INDEX ON :Index(title),则尝试在标签“index”及其属性“title”上创建架构索引。当您使用诸如类、索引、地名等标签时,您的语句应该如下所示:
CREATE INDEX ON :Class(title)
CREATE INDEX ON :Index(title)
... for every label you want to index ...您不应该在查询中显式地提到索引,它将自动使用
MATCH (n:Thing{title:'loc00001'})
RETURN n虽然你可以暗示如果你想
MATCH (n:Thing)
USING INDEX n:Thing(title)
WHERE n.title='loc00001'
RETURN nhttps://stackoverflow.com/questions/22983831
复制相似问题