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/44
{ "extensions" : { }, "outgoing_relationships" : "http://localhost:7474/db/data/node/44/relationships/out", "labels" : "http://localhost:7474/db/data/node/44/labels", "traverse" : "http://localhost:7474/db/data/node/44/traverse/{returnType}", "all_typed_relationships" : "http://localhost:7474/db/data/node/44/relationships/all/{-list|&|types}", "self" : "http://localhost:7474/db/data/node/44", "property" : "http://localhost:7474/db/data/node/44/properties/{key}", "properties" : "http://localhost:7474/db/data/node/44/properties", "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/44/relationships/out/{-list|&|types}", "incoming_relationships" : "http://localhost:7474/db/data/node/44/relationships/in", "create_relationship" : "http://localhost:7474/db/data/node/44/relationships", "paged_traverse" : "http://localhost:7474/db/data/node/44/paged/traverse/{returnType}{?pageSize,leaseTime}", "all_relationships" : "http://localhost:7474/db/data/node/44/relationships/all", "incoming_typed_relationships" : "http://localhost:7474/db/data/node/44/relationships/in/{-list|&|types}", "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:
1169
-
Content-Type:
application/json; charset=UTF-8
-
Location:
http://localhost:7474/db/data/node/40
{ "extensions" : { }, "outgoing_relationships" : "http://localhost:7474/db/data/node/40/relationships/out", "labels" : "http://localhost:7474/db/data/node/40/labels", "traverse" : "http://localhost:7474/db/data/node/40/traverse/{returnType}", "all_typed_relationships" : "http://localhost:7474/db/data/node/40/relationships/all/{-list|&|types}", "self" : "http://localhost:7474/db/data/node/40", "property" : "http://localhost:7474/db/data/node/40/properties/{key}", "properties" : "http://localhost:7474/db/data/node/40/properties", "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/40/relationships/out/{-list|&|types}", "incoming_relationships" : "http://localhost:7474/db/data/node/40/relationships/in", "create_relationship" : "http://localhost:7474/db/data/node/40/relationships", "paged_traverse" : "http://localhost:7474/db/data/node/40/paged/traverse/{returnType}{?pageSize,leaseTime}", "all_relationships" : "http://localhost:7474/db/data/node/40/relationships/all", "incoming_typed_relationships" : "http://localhost:7474/db/data/node/40/relationships/in/{-list|&|types}", "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/6
-
Accept:
application/json; charset=UTF-8
Example response
-
200:
OK
-
Content-Type:
application/json; charset=UTF-8
{ "extensions" : { }, "outgoing_relationships" : "http://localhost:7474/db/data/node/6/relationships/out", "labels" : "http://localhost:7474/db/data/node/6/labels", "traverse" : "http://localhost:7474/db/data/node/6/traverse/{returnType}", "all_typed_relationships" : "http://localhost:7474/db/data/node/6/relationships/all/{-list|&|types}", "self" : "http://localhost:7474/db/data/node/6", "property" : "http://localhost:7474/db/data/node/6/properties/{key}", "properties" : "http://localhost:7474/db/data/node/6/properties", "outgoing_typed_relationships" : "http://localhost:7474/db/data/node/6/relationships/out/{-list|&|types}", "incoming_relationships" : "http://localhost:7474/db/data/node/6/relationships/in", "create_relationship" : "http://localhost:7474/db/data/node/6/relationships", "paged_traverse" : "http://localhost:7474/db/data/node/6/paged/traverse/{returnType}{?pageSize,leaseTime}", "all_relationships" : "http://localhost:7474/db/data/node/6/relationships/all", "incoming_typed_relationships" : "http://localhost:7474/db/data/node/6/relationships/in/{-list|&|types}", "data" : { } }
Get non-existent node
Example request
-
GET
http://localhost:7474/db/data/node/1000000
-
Accept:
application/json; charset=UTF-8
Example response
-
404:
Not Found
-
Content-Type:
application/json; charset=UTF-8
{ "message": "Cannot find node with id [1000000] 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)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Thread.java:744)" ] }
Delete node
Example request
-
DELETE
http://localhost:7474/db/data/node/41
-
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/48
-
Accept:
application/json; charset=UTF-8
Example response
-
409:
Conflict
-
Content-Type:
application/json; charset=UTF-8
{ "message": "The node with id 48 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)", "org.neo4j.server.rest.security.SecurityFilter.doFilter(SecurityFilter.java:112)", "java.lang.Thread.run(Thread.java:744)" ] }