cognee icon indicating copy to clipboard operation
cognee copied to clipboard

Fix cypher search

Open dexters1 opened this issue 1 month ago • 2 comments

Description

Resolve issue with cypher search by encoding the return value from the cypher query into JSON. Uses fastapi json encoder

Type of Change

  • [x] Bug fix (non-breaking change that fixes an issue)
  • [ ] New feature (non-breaking change that adds functionality)
  • [ ] Breaking change (fix or feature that would cause existing functionality to change)
  • [ ] Documentation update
  • [ ] Code refactoring
  • [ ] Performance improvement
  • [ ] Other (please specify):

Screenshots/Videos (if applicable)

Example of result now with Cypher search with the following query "MATCH (src)-[rel]->(nbr) RETURN src, rel" on Simple example:

{
   "search_result":[
      [
         [
            {
               "_id":{
                  "offset":0,
                  "table":0
               },
               "_label":"Node",
               "id":"87372381-a9fe-5b82-9c92-3f5dbab1bc35",
               "name":"",
               "type":"DocumentChunk",
               "created_at":"2025-11-05T14:12:46.707597",
               "updated_at":"2025-11-05T14:12:54.801747",
               "properties":"{\"created_at\": 1762351945009, \"updated_at\": 1762351945009, \"ontology_valid\": false, \"version\": 1, \"topological_rank\": 0, \"metadata\": {\"index_fields\": [\"text\"]}, \"belongs_to_set\": null, \"text\": \"\\n    Natural language processing (NLP) is an interdisciplinary\\n    subfield of computer science and information retrieval.\\n    \", \"chunk_size\": 48, \"chunk_index\": 0, \"cut_type\": \"paragraph_end\"}"
            },
            {
               "_src":{
                  "offset":0,
                  "table":0
               },
               "_dst":{
                  "offset":1,
                  "table":0
               },
               "_label":"EDGE",
               "_id":{
                  "offset":0,
                  "table":1
               },
               "relationship_name":"contains",
               "created_at":"2025-11-05T14:12:47.217590",
               "updated_at":"2025-11-05T14:12:55.193003",
               "properties":"{\"source_node_id\": \"87372381-a9fe-5b82-9c92-3f5dbab1bc35\", \"target_node_id\": \"bc338a39-64d6-549a-acec-da60846dd90d\", \"relationship_name\": \"contains\", \"updated_at\": \"2025-11-05 14:12:54\", \"relationship_type\": \"contains\", \"edge_text\": \"relationship_name: contains; entity_name: natural language processing (nlp); entity_description: An interdisciplinary subfield of computer science and information retrieval concerned with interactions between computers and human (natural) languages.\"}"
            }
         ]
      ]
   ],
   "dataset_id":"UUID(""af4b1c1c-90fc-59b7-952c-1da9bbde370c"")",
   "dataset_name":"main_dataset",
   "graphs":"None"
}

Relates to https://github.com/topoteretes/cognee/pull/1725 Issue: https://github.com/topoteretes/cognee/issues/1723

Pre-submission Checklist

  • [ ] I have tested my changes thoroughly before submitting this PR
  • [ ] This PR contains minimal changes necessary to address the issue/feature
  • [ ] My code follows the project's coding standards and style guidelines
  • [ ] I have added tests that prove my fix is effective or that my feature works
  • [ ] I have added necessary documentation (if applicable)
  • [ ] All new and existing tests pass
  • [ ] I have searched existing PRs to ensure this change hasn't been submitted already
  • [ ] I have linked any relevant issues in the description
  • [ ] My commits have clear and descriptive messages

DCO Affirmation

I affirm that all code in every commit of this pull request conforms to the terms of the Topoteretes Developer Certificate of Origin.

dexters1 avatar Nov 05 '25 14:11 dexters1

Please make sure all the checkboxes are checked:

  • [ ] I have tested these changes locally.
  • [ ] I have reviewed the code changes.
  • [ ] I have added end-to-end and unit tests (if applicable).
  • [ ] I have updated the documentation and README.md file (if necessary).
  • [ ] I have removed unnecessary code and debug statements.
  • [ ] PR title is clear and follows the convention.
  • [ ] I have tagged reviewers or team members for feedback.

pull-checklist[bot] avatar Nov 05 '25 14:11 pull-checklist[bot]

[!IMPORTANT]

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • [ ] Create PR with unit tests
  • [ ] Post copyable unit tests in a comment
  • [ ] Commit unit tests in branch fix-cypher-search

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

coderabbitai[bot] avatar Nov 05 '25 14:11 coderabbitai[bot]