Степень фильтрации по краю - PullRequest
1 голос
/ 17 июня 2019

В базе данных фильмов я хочу найти актеров и количество фильмов, которые они сыграли за определенный промежуток времени.В настоящее время я не интегрировал фильтрацию по временному диапазону. Я использую приведенный ниже запрос

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

Это будет работать.Как я могу выполнить фильтрацию по свойствам ребер во время вычисления степени?

Ответы [ 2 ]

0 голосов
/ 17 июня 2019

Вы можете фильтровать по свойству 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      │
└────────────────────────┴───────┘
0 голосов
/ 17 июня 2019

Я думаю, что нашел

MATCH (n:Person)-[r:ACTED_IN]->(:Movie)
WHERE r.begin_datetime > 0 AND r.end_datetime < 1560755054828
WITH n, SIZE(COLLECT(r)) 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...