Skip to content

Conversation

@sandeepvsk10
Copy link
Contributor

This PR adds a Neo4jSensor to the Neo4j Provider.

  • It functions similarly to existing SQL-based sensor of polling the neo4j graph database (here with Cypher) for a condition to be met.

  • The Neo4j query run is called from the Neo4jHook class to connect with a Neo4j graph database instead of DbApiHook which lead to the necessity for adding a separate Sensor to Neo4j.

Airflow Components Added

  • Neo4jSensor - Polls (Executes a Cypher query in Neo4j) until the returned value satisfies a condition.

Tests

  • Unit Tests - Added and tested within breeze using pytest for possible combinations and functionalities

Static Checks

  • Prek - Prek hooks were run within breeze for my commits and passed static checks.

Documentation

  • Neo4jSensor Documentation - added to the providers/neo4j/docs/neo4j/sensors/neo4j.rst

Spelling Word List

  • Cypher - Term was added to the docs/spelling_wordlist.txt for the documentation generation.

@boring-cyborg
Copy link

boring-cyborg bot commented Nov 21, 2025

Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contributors' Guide (https://github.com/apache/airflow/blob/main/contributing-docs/README.rst)
Here are some useful points:

  • Pay attention to the quality of your code (ruff, mypy and type annotations). Our prek-hooks will help you with that.
  • In case of a new feature add useful documentation (in docstrings or in docs/ directory). Adding a new operator? Check this short guide Consider adding an example DAG that shows how users should use it.
  • Consider using Breeze environment for testing locally, it's a heavy docker but it ships with a working Airflow and a lot of integrations.
  • Be patient and persistent. It might take some time to get a review or get the final approval from Committers.
  • Please follow ASF Code of Conduct for all communication including (but not limited to) comments on Pull Requests, Mailing list and Slack.
  • Be sure to read the Airflow Coding style.
  • Always keep your Pull Requests rebased, otherwise your build might fail due to changes not related to your commits.
    Apache Airflow is a community-driven project and together we are making it better 🚀.
    In case of doubts contact the developers at:
    Mailing List: dev@airflow.apache.org
    Slack: https://s.apache.org/airflow-slack

@potiuk
Copy link
Member

potiuk commented Nov 21, 2025

As long as all CI tests pass.

@sandeepvsk10
Copy link
Contributor Author

Hello, so I think I failed to rebase properly and it included the commits from the apache airflow main branch again in my PR commits, If this is not an issue, I will raise another PR properly, Please let me know. Thanks

@sandeepvsk10 sandeepvsk10 force-pushed the feature-neo4j-sensor branch 3 times, most recently from 60b6803 to 63da337 Compare November 21, 2025 21:33
@seanghaeli
Copy link
Contributor

Can you push another small commit so that the CI tests run

@potiuk potiuk merged commit d012768 into apache:main Nov 22, 2025
119 checks passed
@boring-cyborg
Copy link

boring-cyborg bot commented Nov 22, 2025

Awesome work, congrats on your first merged pull request! You are invited to check our Issue Tracker for additional contributions.

Copilot AI pushed a commit to jason810496/airflow that referenced this pull request Dec 5, 2025
* Added new Neo4j Sensor, Unit tests, System tests, Docs and added "Cypher" term to the spelling_wordlist for the doc checks.

* Added docs path to the neo4j sensor in the provider.yaml file

* tiny commit to enable CL tests
itayweb pushed a commit to itayweb/airflow that referenced this pull request Dec 6, 2025
* Added new Neo4j Sensor, Unit tests, System tests, Docs and added "Cypher" term to the spelling_wordlist for the doc checks.

* Added docs path to the neo4j sensor in the provider.yaml file

* tiny commit to enable CL tests
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants