neo4j - 通过边缘属性过滤度数
问题描述
在电影数据库中,我想查找演员和他们在某个时间范围内播放的电影的数量。目前我没有集成时间范围过滤我正在使用以下查询
MATCH (n:Person)-[r:ACTED_IN]->(:Movie)
WITH n, r, SIZE( (n)-[:ACTED_IN]->(:Movie) ) as degree
WHERE degree > 3
RETURN DISTINCT ID(n) as id, n.name as Actor, degree as Count
ORDER BY degree DESC SKIP 0 LIMIT 100
如果我可以做一个像这样的查询
MATCH (n:Person)-[r:ACTED_IN]->(:Movie)
WITH n, r, SIZE( (n)-[r2:ACTED_IN where r2.released > 1990 and r2.released < 2000 ]->(:Movie) ) as degree
WHERE degree > 3
RETURN DISTINCT ID(n) as id, n.name as Actor, degree as Count
ORDER BY degree DESC SKIP 0 LIMIT 100
它会起作用的。如何在度数计算期间对边缘属性进行过滤?
解决方案
您可以通过电影数据库中的属性进行过滤released
,最后使用count function
来获取 1990-2000 年期间每个演员演过的电影的数量。
MATCH (n:Person)-[r:ACTED_IN]->(m:Movie)
WHERE m.released > 1990 AND m.released < 2000
RETURN n.name as Actor, COUNT (DISTINCT m) as Count
输出:
╒════════════════════════╤═══════╕
│"Actor" │"Count"│
╞════════════════════════╪═══════╡
│"Emil Eifrem" │1 │
├────────────────────────┼───────┤
│"Hugo Weaving" │1 │
├────────────────────────┼───────┤
│"Laurence Fishburne" │1 │
├────────────────────────┼───────┤
│"Carrie-Anne Moss" │1 │
├────────────────────────┼───────┤
│"Keanu Reeves" │3 │
├────────────────────────┼───────┤
│"Charlize Theron" │2 │
├────────────────────────┼───────┤
│"Al Pacino" │1 │
├────────────────────────┼───────┤
│"Demi Moore" │1 │
├────────────────────────┼───────┤
│"Kevin Pollak" │1 │
├────────────────────────┼───────┤
│"James Marshall" │1 │
├────────────────────────┼───────┤
│"Kiefer Sutherland" │1 │
├────────────────────────┼───────┤
│"Kevin Bacon" │2 │
├────────────────────────┼───────┤
│"J.T. Walsh" │2 │
├────────────────────────┼───────┤
│"Tom Cruise" │1 │
├────────────────────────┼───────┤
│"Aaron Sorkin" │1 │
├────────────────────────┼───────┤
│"Christopher Guest" │1 │
├────────────────────────┼───────┤
│"Jack Nicholson" │3 │
├────────────────────────┼───────┤
│"Cuba Gooding Jr." │3 │
├────────────────────────┼───────┤
│"Noah Wyle" │1 │
├────────────────────────┼───────┤
│"Helen Hunt" │2 │
├────────────────────────┼───────┤
│"Greg Kinnear" │2 │
├────────────────────────┼───────┤
│"Max von Sydow" │2 │
├────────────────────────┼───────┤
│"Robin Williams" │3 │
├────────────────────────┼───────┤
│"Werner Herzog" │1 │
├────────────────────────┼───────┤
│"Annabella Sciorra" │1 │
├────────────────────────┼───────┤
│"Ethan Hawke" │1 │
├────────────────────────┼───────┤
│"Rick Yune" │1 │
├────────────────────────┼───────┤
│"James Cromwell" │2 │
├────────────────────────┼───────┤
│"Meg Ryan" │3 │
├────────────────────────┼───────┤
│"Steve Zahn" │1 │
├────────────────────────┼───────┤
│"Parker Posey" │1 │
├────────────────────────┼───────┤
│"Tom Hanks" │6 │
├────────────────────────┼───────┤
│"Dave Chappelle" │1 │
├────────────────────────┼───────┤
│"Rosie O'Donnell" │2 │
├────────────────────────┼───────┤
│"Rita Wilson" │1 │
├────────────────────────┼───────┤
│"Victor Garber" │1 │
├────────────────────────┼───────┤
│"Bill Pullman" │1 │
├────────────────────────┼───────┤
│"Bruno Kirby" │1 │
├────────────────────────┼───────┤
│"Carrie Fisher" │1 │
├────────────────────────┼───────┤
│"Billy Crystal" │1 │
├────────────────────────┼───────┤
│"Liv Tyler" │1 │
├────────────────────────┼───────┤
│"Nathan Lane" │1 │
├────────────────────────┼───────┤
│"Gene Hackman" │2 │
├────────────────────────┼───────┤
│"Clint Eastwood" │1 │
├────────────────────────┼───────┤
│"Richard Harris" │1 │
├────────────────────────┼───────┤
│"Ice-T" │1 │
├────────────────────────┼───────┤
│"Dina Meyer" │1 │
├────────────────────────┼───────┤
│"Takeshi Kitano" │1 │
├────────────────────────┼───────┤
│"Michael Clarke Duncan" │1 │
├────────────────────────┼───────┤
│"David Morse" │1 │
├────────────────────────┼───────┤
│"Bonnie Hunt" │1 │
├────────────────────────┼───────┤
│"Sam Rockwell" │1 │
├────────────────────────┼───────┤
│"Patricia Clarkson" │1 │
├────────────────────────┼───────┤
│"Gary Sinise" │2 │
├────────────────────────┼───────┤
│"Danny DeVito" │1 │
├────────────────────────┼───────┤
│"John C. Reilly" │1 │
├────────────────────────┼───────┤
│"Bill Paxton" │3 │
├────────────────────────┼───────┤
│"Ed Harris" │1 │
├────────────────────────┼───────┤
│"Zach Grenier" │1 │
├────────────────────────┼───────┤
│"Philip Seymour Hoffman"│1 │
├────────────────────────┼───────┤
│"Oliver Platt" │1 │
├────────────────────────┼───────┤
│"Madonna" │1 │
├────────────────────────┼───────┤
│"Lori Petty" │1 │
├────────────────────────┼───────┤
│"Geena Davis" │1 │
└────────────────────────┴───────┘
推荐阅读
- ios - 滚动到屏幕外的 CollectionView 单元格
- python - python等价于head/grep/tail
- php - PHP 内部开发问题,想用引用功能扩展 curly 语法
- html - 用图像填充剩余的列空间
- javascript - 去除 DIV 中的 HTML 元素
- sql - 使用每个保单的第一条记录和自原始交易起 90 天内的后续交易创建指标
- python - 在 Linux 中打开并显示 python 脚本中的文件
- typescript - 如何在单独的项目中定义打字稿模块
- coldfusion - ColdFusion - 查询的输出分组
- user-interface - 与 Geany 在 Pi 上的 GTK