19.7. Nodes
Create node
Example request
-
POST
http://localhost:7474/db/data/node
-
Accept:
application/json; charset=UTF-8
Example response
-
201:
Created
-
Content-Type:
application/json; charset=UTF-8
-
Location:
http://localhost:7474/db/data/node/311
{ "extensions" : { }, "paged_traverse" : "http://localhost:7474/db/data/node/311/paged/traverse/{returnType}{?pageSize,leaseTime}", "labels" : "http://localhost:7474/db/data/node/311/labels", "outgoing_relationships" : "http://localhost:7474/db/data/node/311/relationships/out", "traverse" : "http://localhost:7474/db/data/node/311/traverse/{returnType}", "all_typed_relationships" : "http://localhost:7474/db/data/node/311/relationships/all/{-list|&|types}", "property" : "http://localhost:7474/db/data/node/311/properties/{key}", "all_relationships" : "http://localhost:7474/db/data/node/311/relationships/all", "self" : "http://localhost:7474/db/data/node/311", "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/311/relationships/out/{-list|&|types}", "properties" : "http://localhost:7474/db/data/node/311/properties", "incoming_relationships" : "http://localhost:7474/db/data/node/311/relationships/in", "incoming_typed_relationships" : "http://localhost:7474/db/data/node/311/relationships/in/{-list|&|types}", "create_relationship" : "http://localhost:7474/db/data/node/311/relationships", "data" : { } }
Create node with properties
Example request
-
POST
http://localhost:7474/db/data/node
-
Accept:
application/json; charset=UTF-8
-
Content-Type:
application/json
{ "foo" : "bar" }
Example response
-
201:
Created
-
Content-Length:
1182
-
Content-Type:
application/json; charset=UTF-8
-
Location:
http://localhost:7474/db/data/node/307
{ "extensions" : { }, "paged_traverse" : "http://localhost:7474/db/data/node/307/paged/traverse/{returnType}{?pageSize,leaseTime}", "labels" : "http://localhost:7474/db/data/node/307/labels", "outgoing_relationships" : "http://localhost:7474/db/data/node/307/relationships/out", "traverse" : "http://localhost:7474/db/data/node/307/traverse/{returnType}", "all_typed_relationships" : "http://localhost:7474/db/data/node/307/relationships/all/{-list|&|types}", "property" : "http://localhost:7474/db/data/node/307/properties/{key}", "all_relationships" : "http://localhost:7474/db/data/node/307/relationships/all", "self" : "http://localhost:7474/db/data/node/307", "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/307/relationships/out/{-list|&|types}", "properties" : "http://localhost:7474/db/data/node/307/properties", "incoming_relationships" : "http://localhost:7474/db/data/node/307/relationships/in", "incoming_typed_relationships" : "http://localhost:7474/db/data/node/307/relationships/in/{-list|&|types}", "create_relationship" : "http://localhost:7474/db/data/node/307/relationships", "data" : { "foo" : "bar" } }
Get node
Note that the response contains URI/templates for the available operations for getting properties and relationships.
Example request
-
GET
http://localhost:7474/db/data/node/144
-
Accept:
application/json; charset=UTF-8
Example response
-
200:
OK
-
Content-Type:
application/json; charset=UTF-8
{ "extensions" : { }, "paged_traverse" : "http://localhost:7474/db/data/node/144/paged/traverse/{returnType}{?pageSize,leaseTime}", "labels" : "http://localhost:7474/db/data/node/144/labels", "outgoing_relationships" : "http://localhost:7474/db/data/node/144/relationships/out", "traverse" : "http://localhost:7474/db/data/node/144/traverse/{returnType}", "all_typed_relationships" : "http://localhost:7474/db/data/node/144/relationships/all/{-list|&|types}", "property" : "http://localhost:7474/db/data/node/144/properties/{key}", "all_relationships" : "http://localhost:7474/db/data/node/144/relationships/all", "self" : "http://localhost:7474/db/data/node/144", "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/144/relationships/out/{-list|&|types}", "properties" : "http://localhost:7474/db/data/node/144/properties", "incoming_relationships" : "http://localhost:7474/db/data/node/144/relationships/in", "incoming_typed_relationships" : "http://localhost:7474/db/data/node/144/relationships/in/{-list|&|types}", "create_relationship" : "http://localhost:7474/db/data/node/144/relationships", "data" : { } }
Get non-existent node
Example request
-
GET
http://localhost:7474/db/data/node/14800000
-
Accept:
application/json; charset=UTF-8
Example response
-
404:
Not Found
-
Content-Type:
application/json; charset=UTF-8
{ "message": "Cannot find node with id [14800000] in database.", "exception": "NodeNotFoundException", "fullname": "org.neo4j.server.rest.web.NodeNotFoundException", "stacktrace": [ "org.neo4j.server.rest.web.DatabaseActions.node(DatabaseActions.java:183)", "org.neo4j.server.rest.web.DatabaseActions.getNode(DatabaseActions.java:228)", "org.neo4j.server.rest.web.RestfulGraphDatabase.getNode(RestfulGraphDatabase.java:265)", "java.lang.reflect.Method.invoke(Method.java:606)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139)", "java.lang.Thread.run(Thread.java:744)" ] }
Delete node
Example request
-
DELETE
http://localhost:7474/db/data/node/308
-
Accept:
application/json; charset=UTF-8
Example response
-
204:
No Content
Nodes with relationships cannot be deleted
The relationships on a node has to be deleted before the node can be deleted.
Example request
-
DELETE
http://localhost:7474/db/data/node/315
-
Accept:
application/json; charset=UTF-8
Example response
-
409:
Conflict
-
Content-Type:
application/json; charset=UTF-8
{ "message": "The node with id 315 cannot be deleted. Check that the node is orphaned before deletion.", "exception": "OperationFailureException", "fullname": "org.neo4j.server.rest.web.OperationFailureException", "stacktrace": [ "org.neo4j.server.rest.web.DatabaseActions.deleteNode(DatabaseActions.java:237)", "org.neo4j.server.rest.web.RestfulGraphDatabase.deleteNode(RestfulGraphDatabase.java:279)", "java.lang.reflect.Method.invoke(Method.java:606)", "org.neo4j.server.rest.transactional.TransactionalRequestDispatcher.dispatch(TransactionalRequestDispatcher.java:139)", "java.lang.Thread.run(Thread.java:744)" ] }