Setting different properties will retain the existing ones for this node. Note that a single value are submitted not as a map but just as a value (which is valid JSON) like in the example below.
Example request
PUT http://localhost:7474/db/data/node/11/properties/foo
Accept: application/json; charset=UTF-8
Content-Type: application/json
"bar"
Example response
204: No Content
This will replace all existing properties on the node with the new set of attributes.
Example request
PUT http://localhost:7474/db/data/node/9/properties
Accept: application/json; charset=UTF-8
Content-Type: application/json
{
"age" : "18"
}Example response
204: No Content
Example request
GET http://localhost:7474/db/data/node/36/properties
Accept: application/json; charset=UTF-8
Example response
200: OK
Content-Type: application/json; charset=UTF-8
{
"foo" : "bar"
}This example shows the response you get when trying to set a property to
null.
Example request
POST http://localhost:7474/db/data/node
Accept: application/json; charset=UTF-8
Content-Type: application/json
{
"foo" : null
}Example response
400: Bad Request
Content-Type: application/json; charset=UTF-8
{
"message": "Could not set property \"foo\", unsupported type: null",
"exception": "PropertyValueException",
"fullname": "org.neo4j.server.rest.web.PropertyValueException",
"stacktrace": [
"org.neo4j.server.rest.domain.PropertySettingStrategy.setProperty(PropertySettingStrategy.java:141)",
"org.neo4j.server.rest.domain.PropertySettingStrategy.setProperties(PropertySettingStrategy.java:88)",
"org.neo4j.server.rest.web.DatabaseActions.createNode(DatabaseActions.java:214)",
"org.neo4j.server.rest.web.RestfulGraphDatabase.createNode(RestfulGraphDatabase.java:238)",
"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:724)"
]
}Nesting properties is not supported. You could for example store the nested JSON as a string instead.
Example request
POST http://localhost:7474/db/data/node/
Accept: application/json; charset=UTF-8
Content-Type: application/json
{
"foo" : {
"bar" : "baz"
}
}Example response
400: Bad Request
Content-Type: application/json; charset=UTF-8
{
"message": "Could not set property \"foo\", unsupported type: {bar\u003dbaz}",
"exception": "PropertyValueException",
"fullname": "org.neo4j.server.rest.web.PropertyValueException",
"stacktrace": [
"org.neo4j.server.rest.domain.PropertySettingStrategy.setProperty(PropertySettingStrategy.java:141)",
"org.neo4j.server.rest.domain.PropertySettingStrategy.setProperties(PropertySettingStrategy.java:88)",
"org.neo4j.server.rest.web.DatabaseActions.createNode(DatabaseActions.java:214)",
"org.neo4j.server.rest.web.RestfulGraphDatabase.createNode(RestfulGraphDatabase.java:238)",
"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:724)"
]
}Example request
DELETE http://localhost:7474/db/data/node/250/properties
Accept: application/json; charset=UTF-8
Example response
204: No Content
To delete a single property from a node, see the example below.
Example request
DELETE http://localhost:7474/db/data/node/249/properties/name
Accept: application/json; charset=UTF-8
Example response
204: No Content
Copyright © 2014 Neo Technology