Is there a plan to fix this or will updates continue to be overwrites? Many thanks!
On Thu, Jul 28, 2011 at 10:43 AM, Boris Kizelshteyn <[email protected]>wrote: > It is a put right now and the semantics are clear I think, update means add > stuff that isn't there and change stuff that's different. Adding an empty > value should clear that value and not including means do nothing. > >> >> When updating is really important in the rest context is in batching, >> basically, now, there is no way to batch update efficiently. You have to >> query for the nodes you want to change and send that call and then add to >> those values in code and then send the values back as an overwrite. Javier's >> excellent REST lib makes this a little easier code wise, but suffers from >> being unusably slow for large updates because of this REST limitation. >> >> If infact this is the reasoning (what to do with missing values) behind >> making it a replace and not an update, I vote for changing it to update. >> >> Furthermore, I believe that calling a named resource with a PUT and >> overwriting it violates RESTfull design. i.e. Put to /node/0 should >> overwrite, while /node/0/properties should update. >> >> See this link: >> >> >> http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services >> >> (I know wikipedia references are not that strong, but this is straight out >> of an o'rielly design patterns book which is a little stronger :)) >> >> I don't mean to start a holy war about standards (rest isn't really a >> standard anyway), I'm just saying that currently this feature doesn't work >> as advertised and makes it hard to update large datasets quickly via rest. >> >> Thanks! >> >> >> >> On Thu, Jul 28, 2011 at 8:21 AM, Jim Webber <[email protected]>wrote: >> >>> Feature (though perhaps PUT) would be a better choice of method. POSTing >>> a new set of properties can't update, because the semantics aren't clear - >>> what would it mean if a property was missing, is that an effective DELETE, >>> or an indication it should be left alone. >>> >>> Jim >>> _______________________________________________ >>> Neo4j mailing list >>> [email protected] >>> https://lists.neo4j.org/mailman/listinfo/user >>> >> >> _______________________________________________ Neo4j mailing list [email protected] https://lists.neo4j.org/mailman/listinfo/user

