Edge Labels: 1. has_flights_on: - Connects Airport to Day. - Indicates an airport has flights on a specific day. 2. flight: - Connects Day to Airport (destination). - Properties: flight_id, origin, destination, start_timestamp, end_timestamp, capacity, tail_number, equipment_type.
Graph Structure: - Airport vertex for each airport. - Day vertex for specific days connected to airports with flights. - has_flights_on edges connect Airport to Day. - flight edges connect Day to Airport, representing flights.
Example: - Airport (JFK) -> has_flightson -> Day (2023-08-03) -> flight -> Airport (LAX) - Indicates a flight from JFK to LAX on August 3, 2023.
This is my query right now
``` g.V().has('Airport', 'airport', origin) # find origin airport .as('current_airport') .repeat( .out('has_flights_on') # Go to the corresponding Day vertex .has('date', gte(start_datestamp)) .has('date', lte(end_datestamp)) .outE('flight') # Go to the Flight edge .where(.values('origin').is_(.select('currentairport').values('airport'))) # this is the problem .inV().hasLabel('Airport') # Go to the destination Airport vertex .as('current_airport') # Update the current airport alias .simplePath() # Ensure that the path doesn't contain cycles ) .until(.has('airport', destination).or().loops().is(4)) # Finish when destination is reached or max hops exceeded .has('airport', destination) .path() .by(__.valueMap('airport', 'flight_id', 'start_timestamp', 'end_timestamp')) .toList() ```
The problem is the where, see below for more context.
Similar Threads
Recent Announcements
Continue the conversation
Join the Discord to ask follow-up questions and connect with the community
AT
Apache TinkerPop
Apache TinkerPop is an open source graph computing framework and the home of the Gremlin graph query language.