我正在玩Neo4j并继续收到此错误。我做错了什么。
我的节点集如下所示
CREATE (p1:Person {name:"Hans"})
CREATE (p2:Person {name:"Anna"})
CREATE (p3:Person {name:"Klaus"})
CREATE (p4:Person {name:"Janna"})
CREATE (p5:Person {name:"Julia"})
CREATE (p1)-[:FRIENDS_WITH]->(p2)
CREATE (p1)-[:FRIENDS_WITH]->(p3)
CREATE (p1)-[:FRIENDS_WITH]->(p4)
CREATE (p1)-[:FRIENDS_WITH]->(p5)
CREATE (p2)-[:FRIENDS_WITH]->(p3)
CREATE (p3)-[:FRIENDS_WITH]->(p4)
我现在想找到拥有最多朋友的人
START n=node:Person('*:*')
MATCH (n)-[r]->(x)
RETURN n, COUNT(r)
ORDER BY COUNT(r) DESC
LIMIT 10
但我一直收到这个错误:
Index `Person` does not exist
Neo.ClientError.Schema.NoSuchIndex
感谢您的帮助!
修改
此查询正常运行。我仍然在想,"没有这样的索引"错误意味着
START n = node(*)
MATCH n<-[r:FRIENDS_WITH]->c
RETURN n.name, count(r) AS connections
ORDER BY connections DESC
答案 0 :(得分:1)
您遇到了我们的一个重大API更改,我们将版本1.9中的索引从旧的start-syntax更改为标签和架构索引:
您的查询将如下所示:
MATCH (n:Person)-[r]->(x)
RETURN n, COUNT(r)
ORDER BY COUNT(r) DESC
LIMIT 10
如果您想按名称查找人员,您还应该创建架构索引:
create index on :Person(name);
然后再做
MATCH (n:Person)-[r]->(x)
WHERE n.name = "Hans"
RETURN n, COUNT(r)
ORDER BY COUNT(r) DESC
LIMIT 10