I am trying to extract features from graph given as a JSON file and then use these features to train and test a certain task. how do I go about doing this?
Relative to the training and testing, beats me; depends entirely on what you're trying to get out of the data.
To begin the process though, use
apoc.load.json to load the JSON URL. You'll get an object in memory which you can then process with cypher to create a graph. What you do with the graph then is up to you. https://neo4j-contrib.github.io/neo4j-apoc-procedures/#load-json