neo4j - Neo4J 查询检索数据
问题描述
我正在尝试在 Neo4J 中创建一个查询(这是我正在学习的东西),但我很挣扎。所以我正在使用提供的 Neo4J 沙盒和电影数据集(:play movie-graph)。这就是我要找的...
- 创建一个查询以检索在电影发行时与 55 岁或以上演员合作的所有电影导演
- 显示这些演员的演员、作家和电影的网络
这就是我所拥有的,但我确信这是完全错误的。任何帮助,将不胜感激!
MATCH (directors)<-[:DIRECTED]-(directors)-[:ACTED_IN]->(actors)-(actors: Age) WHERE actors.age >= 55 RETURN directors.name
解决方案
这是一个查询,它将返回所有导演过 1970 年之前出生的演员的电影的导演。将年份更改为您需要的任何年份以满足您的标准。
MATCH (q)-[r:DIRECTED]->(k)<-[:ACTED_IN]-(s) where s.born<1970 RETURN DISTINCT q;
给你几点建议,
. 了解 neo4j 节点和关系。在您的查询中,您写了(导演)、(演员)等。
我在电影数据集中找不到这些实体。它表明您需要了解这些概念以及这些概念在查询中的表示方式。浏览器控制台清楚地显示了这些实体。
. 了解关系方向以及它们在查询中的表示方式。
. 对上面的查询进行小修改,看看结果如何变化。例如,返回 s 而不是 q。删除 DISTINCT 子句等。
. 最后创建您自己的自定义数据集并尝试查询。
祝你好运。
推荐阅读
- go - redis-cli 如何对在 HLL 或位图上执行 GET 时返回的字符串值进行编码?
- android - 当用户以小写形式输入值时,firebase 搜索查询不起作用,那么它不会返回大写相同的数据
- c++ - 如何使用 xdevapi 从 mysql 获取 DateTime
- c++ - C++ 在变量的内存地址上做了什么来“释放”它?
- javascript - 在 V8 JavaScript 中检测内存分配
- angularjs - 如何从节点红色的角度模板节点传递消息
- php - Laravel - 使用来自 url 的数据进行过滤
- ubuntu - 我如何公开我的 IP,外部可以访问我的本地主机
- android - 向 PagerTitleStrip 添加一个按钮
- r - 基于列比较数据框中的值,如果值不同,则将它们连接起来并删除 R 中的另一行