| 6547 | } |
| 6548 | |
| 6549 | protected matchesProperties( |
| 6550 | element: Vertex<any, any> | Edge<any, any>, |
| 6551 | properties: Record<string, any>, |
| 6552 | context?: QueryContext, |
| 6553 | ): boolean { |
| 6554 | for (const [key, value] of Object.entries(properties)) { |
| 6555 | // Resolve parameter references before comparing |
| 6556 | const resolvedValue = this.resolvePropertyValue(value, context); |
| 6557 | if (element.get(key as never) !== resolvedValue) { |
| 6558 | return false; |
| 6559 | } |
| 6560 | } |
| 6561 | return true; |
| 6562 | } |
| 6563 | |
| 6564 | protected resolveValue( |
| 6565 | path: TraversalPath<any, any, any>, |