Neo4j 在cypher查询中无法识别索引
我试图在本地控制台中重现数据集和查询。 我创建了节点和关系Neo4j 在cypher查询中无法识别索引,neo4j,cypher,Neo4j,Cypher,我试图在本地控制台中重现数据集和查询。 我创建了节点和关系 neo4j-sh (0)$ START theater=node:venues(theatre = 'Theatre Royal'), newcastle=node:cities(city = 'Newcastle'), bard=node:authors('firstname:William AND lastname:Shakespeare') MATCH (newcastle)<-[:IN*1..4]-(theater)<
neo4j-sh (0)$ START theater=node:venues(theatre = 'Theatre Royal'), newcastle=node:cities(city = 'Newcastle'), bard=node:authors('firstname:William AND lastname:Shakespeare') MATCH (newcastle)<-[:IN*1..4]-(theater)<-[:VENUE]-(performance)-[:PERFORMED]->(play)<-[w:WROTE]-(bard) WHERE w.date > 1608 RETURN play;
==> MissingIndexException: Index `authors` does not exist
但是现在,相同的查询没有错误,但没有返回任何内容。我做错了什么。从web控制台创建索引的语法不是很清楚。我做错了什么 创建新索引时,现有节点不会自动添加到索引中。新创建/编辑的节点将自动添加,但您必须手动处理现有节点 有三种方法可以将现有节点放入索引:
Index
命令,使用Neo4j Shell手动索引节点SET
操作,强制它们被触摸(即SET myNode.prop=myNode.prop
)您可以阅读有关neo4j索引的更多信息。如果在创建索引之前这些索引不存在,那么运行查询将不会返回任何内容,很可能是因为索引中没有这些值的引用。很抱歉,文档不清楚。我使用的是cypher,我是否必须将剧院的每个节点索引为场馆索引,将每个城市索引为城市?从创建索引选项卡,正确的格式也不清楚。我是新手,如果我从零开始使用莎士比亚数据集,我如何在cypher中做到这一点?是否有任何方法可以同时创建和索引。感谢您的帮助如果您查看图表设置,没有索引的迹象,那么他们是如何做到的?不幸的是,索引无法通过Cypher创建、查看或以其他方式与之交互。Cypher严格用于查询数据。他们正在使用的数据库可能已经设置为在幕后索引适当的属性。我建议您阅读,尤其是。但这只适用于自动索引,书中使用的索引是手动创建的,节点也是手动添加的。控制台使用技巧将您看到的索引名转换为自动索引名。
neo4j-sh (0)$ index --indexes
==> Node indexes:
==> venues
==> cities
==> authors
==>
==> Relationship indexes: