![](/img/trans.png)
[英]Neo4j cypher to count and display all the relationship between two given nodes
[英]Get all nodes with given type by ( select * from tablename in SQL world) with Cypher Neo4j
我是Neo4j的新手,只是从上周五开始学习它。
我想知道我们如何才能获得所有具有相同类型的节点。 我想创建一个列出系统中所有用户的页面。
我的想法现在有两种方法:1使用where子句的Cypher:
CYPHER 2.0 START n=node(*)
WHERE n.type = 'user'
RETURN n
2个在类型属性上建立索引的密码
START n=node:userindex(type = 'user') RETURN n
我知道,如果userindex仅包含键类型的用户值,则它不是选择性的,也不适合索引。
我不知道哪种方法是最好的方法,因为我发现的所有示例大多都是从一个或两个节点开始,然后开始查找与起始节点有关系的其他节点。
非常感谢。
您将为此使用标签 。 这可能是您的查询:
MATCH (user:User)
RETURN user;
使用Neo4j v2.1.0的完整示例
CREATE (n:Person { name: "Tim" });
CREATE (n:Animal { name: "Tom" });
START m=node(*) RETURN m;
+---------------------+
| m |
+---------------------+
| Node[0]{name:"Tim"} |
| Node[1]{name:"Tom"} |
+---------------------+
START m=node(*) MATCH (m:Person) RETURN m;
+---------------------+
| m |
+---------------------+
| Node[0]{name:"Tim"} |
+---------------------+
START m=node(*) MATCH (m:Animal) RETURN m;
+---------------------+
| m |
+---------------------+
| Node[1]{name:"Tom"} |
+---------------------+
START m=node(*) RETURN m, labels(m);
+----------------------------------+
| m | labels(m) |
+----------------------------------+
| Node[0]{name:"Tim"} | ["Person"] |
| Node[1]{name:"Tom"} | ["Animal"] |
+----------------------------------+
开始n = node(*)在哪里(n.type)AND n.type ='user'返回n
如果要返回userindex
所有用户,请使用:
START u=node:userindex("*:*")
RETURN u
并返回所有用户名的列表(假设每个用户都具有name
属性):
START u=node:userindex("*:*")
RETURN u.name as names
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.