aplbrain / grand-cypher

Implementation of the Cypher language for searching NetworkX graphs
Apache License 2.0
81 stars 8 forks source link

Feature Request: Support for ANY Clause in WHERE for List Filtering #51

Open SDJohn-sudo opened 18 hours ago

SDJohn-sudo commented 18 hours ago

Thank you for your work on this project! I am suggest a feature that would greatly enhance the flexibility of this library.

Feature Request:

I would like to request the addition of support for the ANY clause within WHERE conditions. Specifically, the goal is to allow filtering over a list of dictionaries (e.g., [{key: value}, {key: value}]) to check if any element within the list meets a given condition.

Current Situation:

At the moment, I am working with data structured as lists of dictionaries, and there doesn’t seem to be a way to use the WHERE clause effectively to filter and return items based on whether any element in such lists meets certain criteria.

Example Scenario:

MATCH (n:NodeLabel)
WHERE ANY(item IN n.listProperty WHERE item.key1 = "specificValue")
RETURN n

Benefit of the Feature: Adding this functionality would provide users the ability to:

•   Perform more complex and expressive queries involving lists and nested data structures.
•   Enhance the ability to filter and return results based on conditions within list properties.
j6k4m8 commented 12 hours ago

This is great, thank you for the request and thoughtful context!

Adding this to the features roadmap for sure!! Unfortunately I don't have an idea of when this will become available, but this does seem like a great feature for us to support here.