【发布时间】:2022-01-04 22:48:50
【问题描述】:
我有一个名为 Airports 的节点包含有关机场的数据,还有一个名为 Routes 的节点有大量往返机场的航班 (SourceID, DestinationID)。
该节点上的数据如下所示:
| Airline | AirlineID | Source | SourceID | Destination | DestinationID | Codeshare | Stops | Equipment |
|---|---|---|---|---|---|---|---|---|
| 2B | 410 | AER | 2965 | KZN | 2990 | 0 | CR2 | |
| 2B | 410 | ASF | 2966 | KZN | 2990 | 0 | CR2 | |
| 2B | 410 | ASF | 2966 | MRV | 2962 | 0 | CR2 | |
| 2B | 410 | CEK | 2968 | KZN | 2990 | 0 | CR2 |
我创建了关系类型 (1) SOURCE 和 (2) DESTINATION,显示前往其他机场的方向
- SourceID -> DestinationID
- DestinationID -> SourceID
我需要编写一个查询来返回航班总数最多的前 5 个机场(入境/出境)。
当运行以下代码结果是正确的:
MATCH (f)-[:SOURCE]->(a:Airport)
WITH a, COUNT(*) as Count
RETURN a.name AS AirportName, Count AS TotalFlights
ORDER BY Count DESC LIMIT 5;
如果我尝试运行以下命令来获得总航班数,结果不是。
MATCH (f)-[:SOURCE]->(a:Airport)<-[:DESTINATION]-(f)
WITH a, COUNT(*) as Count
RETURN a.name AS AirportName, Count AS TotalFlights
ORDER BY Count DESC LIMIT 5;
谁能帮帮我?我是NEO4J的新手。
【问题讨论】: