Neo4j/Cypher-如何获得所有DINSTINT标签三元组?
随着标签的引入,neo4j获得了一个整洁的管理实体的机制。现在,让我们假设我们有一个包含许多不同实体的通用图,并想找出哪种实体(标签)相互关联。这是一个起点: 这将使我们对彼此相关的实体有一个概览:Neo4j/Cypher-如何获得所有DINSTINT标签三元组?,neo4j,cypher,Neo4j,Cypher,随着标签的引入,neo4j获得了一个整洁的管理实体的机制。现在,让我们假设我们有一个包含许多不同实体的通用图,并想找出哪种实体(标签)相互关联。这是一个起点: 这将使我们对彼此相关的实体有一个概览: +--------------------------------------+ | head | type(r) | tail | +--------------------------------------+ | "Machines" | "CODED_BY"
+--------------------------------------+
| head | type(r) | tail |
+--------------------------------------+
| "Machines" | "CODED_BY" | "Machines" |
| "Language" | "KNOWS" | "Machines" |
| "Crew" | "KNOWS" | "Crew" |
| "Crew" | "KNOWS" | "Language" |
| "Crew" | "KNOWS" | "Crew" |
| "Crew" | "LOVES" | "Crew" |
+--------------------------------------+
现在。是否有任何Cypher查询会为这些三元组返回不同的值
附加问题:我们能得到它们的计数/频率吗?我刚刚使用了您的起始查询,添加了distinct和count。这就是你要找的吗?或者你想让我把标签从标签集合中分离出来(如果没有某种类型的展开功能,这是不容易的)
格拉茨。你让我觉得自己像鞋子一样笨。哈哈。正在获取所有标签。。。这是另一个故事。好吧,有一个拉式请求:现在,你只需获取所有不同标签组合的列表,并用你使用的任何语言处理它。。。
+--------------------------------------+
| head | type(r) | tail |
+--------------------------------------+
| "Machines" | "CODED_BY" | "Machines" |
| "Language" | "KNOWS" | "Machines" |
| "Crew" | "KNOWS" | "Crew" |
| "Crew" | "KNOWS" | "Language" |
| "Crew" | "KNOWS" | "Crew" |
| "Crew" | "LOVES" | "Crew" |
+--------------------------------------+
match x-[r]->y
return distinct head(labels(x)) as head, type(r), head(labels(y)) as tail
match x-[r]->y
return head(labels(x)) as head, type(r), head(labels(y)) as tail, count(*)