{"id":29052919,"url":"https://github.com/2bigo/parse-neo4j","last_synced_at":"2026-02-12T16:01:01.001Z","repository":{"id":57319410,"uuid":"67584657","full_name":"2bigO/parse-neo4j","owner":"2bigO","description":"Parse results from neo4j's http endpoint to normal JSON","archived":false,"fork":false,"pushed_at":"2020-05-09T11:30:54.000Z","size":23,"stargazers_count":3,"open_issues_count":2,"forks_count":6,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-10-09T04:52:31.475Z","etag":null,"topics":["json","neo4j","parser"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2bigO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-09-07T07:50:21.000Z","updated_at":"2021-11-09T20:26:25.000Z","dependencies_parsed_at":"2022-08-25T22:41:45.498Z","dependency_job_id":null,"html_url":"https://github.com/2bigO/parse-neo4j","commit_stats":null,"previous_names":["assister-ai/parse-neo4j","2bigo/parse-neo4j","keyvan-m-sadeghi/parse-neo4j","satratech/parse-neo4j"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/2bigO/parse-neo4j","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bigO%2Fparse-neo4j","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bigO%2Fparse-neo4j/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bigO%2Fparse-neo4j/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bigO%2Fparse-neo4j/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2bigO","download_url":"https://codeload.github.com/2bigO/parse-neo4j/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2bigO%2Fparse-neo4j/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29371387,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T08:51:36.827Z","status":"ssl_error","status_checked_at":"2026-02-12T08:51:26.849Z","response_time":55,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","neo4j","parser"],"created_at":"2025-06-27T01:01:00.539Z","updated_at":"2026-02-12T16:01:00.994Z","avatar_url":"https://github.com/2bigO.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![npm version](https://badge.fury.io/js/parse-neo4j.svg)](https://www.npmjs.com/package/parse-neo4j)\n\n# parse-neo4j\n\nNeo4j's http endpoint produces result that contains complete query information.\n\n`parse-neo4j` helps those who only want what they've returned in the query as normal JSON.\n\n## Install\n\n```bash\nnpm install parse-neo4j --save\n```\n\n## Usage\nYou can connect to neo4j's http endpoint via one of the many drivers available, e.g. official [`neo4j-driver`](https://github.com/neo4j/neo4j-javascript-driver)\n```javascript\nvar neo4j = require('neo4j-driver').v1;\nvar driver = neo4j.driver(\"bolt://localhost\", neo4j.auth.basic(\"neo4j\", \"neo4j\"));\nvar session = driver.session();\nvar result = session\n    .run(\"MERGE (james:Person {name : {nameParam} }) RETURN james.name\", { nameParam:'James' })\n    .catch(function(error) {\n        console.log(error);\n    });\n```\nThen you can parse the results:\n```javascript\nvar parser = require('parse-neo4j');\nvar parsedResult = result\n    .then(parser.parse)\n    .then(function(parsed){\n        parsed.forEach(function(parsedRecord) {\n            console.log(parsedRecord);\n        });\n    })\n    .catch(function(parseError) {\n        console.log(parseError);\n    });\n```\n`parser.parseRecord` could also be used for parsing a single record.\n\n## Example\n\nAssuming below query:\n```cypher\nMATCH (a:Label1)\nMATCH (a)-[:Another]-\u003e(b)\nRETURN a AS key1, b AS key2\nORDER BY a.date DESC\nLIMIT 2\n```\n\nYou get this output:\n```JSON\n[\n    {\n        \"key1\": {\n            \"field1\": \"...\",\n            \"number\": 42,\n            \"date\": 1460183280000\n        },\n        \"key2\": {}\n    },\n    {\n        \"key1\": {\n            \"field1\": \"...\",\n            \"number\": 2,\n            \"date\": 1460183280000\n        },\n        \"key2\": {}\n    },\n]\n```\n\nAs opposed to:\n```JSON\n{\n   \"records\":[\n      {\n         \"keys\":[\n            \"key1\",\n            \"key2\"\n         ],\n         \"length\":2,\n         \"_fields\":[\n            {\n               \"identity\":{\n                  \"low\":143258,\n                  \"high\":0\n               },\n               \"labels\":[\n                  \"Label1\",\n                  \"Label2\"\n               ],\n               \"properties\":{\n                  \"field1\":\"...\",\n                  \"number\":{\n                     \"low\":42,\n                     \"high\":0\n                  },\n                  \"date\":1460183280000\n               }\n            },\n            {\n               \"identity\":{\n                  \"low\":117186,\n                  \"high\":0\n               },\n               \"labels\":[\n                  \"Another\",\n                  \"Node\"\n               ],\n               \"properties\":{}\n            }\n         ],\n         \"_fieldLookup\":{\n            \"key1\":0,\n            \"key2\":1\n         }\n      },\n      {\n         \"keys\":[\n            \"key1\",\n            \"key2\"\n         ],\n         \"length\":2,\n         \"_fields\":[\n            {\n               \"identity\":{\n                  \"low\":143260,\n                  \"high\":0\n               },\n               \"labels\":[\n                  \"Label1\",\n                  \"Label2\"\n               ],\n               \"properties\":{\n                  \"field1\":\"...\",\n                  \"number\":{\n                     \"low\":2,\n                     \"high\":0\n                  },\n                  \"date\":1460183280000\n               }\n            },\n            {\n               \"identity\":{\n                  \"low\":117186,\n                  \"high\":0\n               },\n               \"labels\":[\n                  \"Another\",\n                  \"Node\"\n               ],\n               \"properties\":{}\n            }\n         ],\n         \"_fieldLookup\":{\n            \"key1\":0,\n            \"key2\":1\n         }\n      }\n   ],\n   \"summary\":{\n      \"statement\":{\n         \"text\":\"MATCH (a:Label1)\\nMATCH (a)-[:Another]-\u003e(b)\\nRETURN a AS key1, b AS key2\\nORDER BY a.date DESC\\nLIMIT 2\",\n         \"parameters\":{\n            \"skip\":{\n               \"low\":10,\n               \"high\":0\n            },\n            \"limit\":{\n               \"low\":2,\n               \"high\":0\n            }\n         }\n      },\n      \"statementType\":\"r\",\n      \"updateStatistics\":{\n         \"_stats\":{\n            \"nodesCreated\":0,\n            \"nodesDeleted\":0,\n            \"relationshipsCreated\":0,\n            \"relationshipsDeleted\":0,\n            \"propertiesSet\":0,\n            \"labelsAdded\":0,\n            \"labelsRemoved\":0,\n            \"indexesAdded\":0,\n            \"indexesRemoved\":0,\n            \"constraintsAdded\":0,\n            \"constraintsRemoved\":0\n         }\n      },\n      \"plan\":false,\n      \"profile\":false,\n      \"notifications\":[\n\n      ]\n   }\n}\n```\n\n## License\n[MIT](https://github.com/assister-ai/parse-neo4j/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2bigo%2Fparse-neo4j","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2bigo%2Fparse-neo4j","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2bigo%2Fparse-neo4j/lists"}