You can do it with the apoc procedures

There is eg apoc.map.setKey

Von meinem iPhone gesendet

> Am 29.06.2016 um 03:13 schrieb Jason Brumwell <jason.brumw...@x-team.com>:
> 
> I also would love this feature :)
> 
>> On Tuesday, April 7, 2015 at 6:32:52 PM UTC-4, bi...@levelstory.com wrote:
>> Yes, I thought about that but then I would need to unpack everything again 
>> before I return the results.  Being able to do SET map.key would be ideal, I 
>> guess I'll just wait until that becomes available.  
>> 
>>> On Tuesday, April 7, 2015 at 3:14:50 PM UTC-7, Michael Hunger wrote:
>>> Hmm,
>>> 
>>> what you could do instead of modifying the map in-place to create the new 
>>> map with the additional data around the original one:
>>> 
>>> e.g.
>>> 
>>>>>> WITH {a: "foo"} AS result
>>>>>> RETURN {inner: result, b: "bar"} AS result
>>>> 
>>>> 
>>>> We're also looking into a feature like:
>>>> 
>>>> SET map.key = value
>>>> 
>>>> But I can't give any timeline for that right now.
>>>> 
>>>> Cheers, Michael
>>>> 
>>> 
>>>> Am 07.04.2015 um 23:39 schrieb bi...@levelstory.com:
>>>> 
>>>> Hi Michael,
>>>> 
>>>> In order to reduce the number or rows resulting from complex queries, I 
>>>> bundle up the results of sub queries into a Map object.  I then return a 
>>>> collection of Map objects which can then be easily converted into Go 
>>>> structs.  I believe that you were the one that suggested this approach to 
>>>> me.
>>>> 
>>>> Here is how I am doing most of my queries:
>>>> 
>>>>   MATCH (f:file {id: "foobar"})
>>>>   WITH f, {accessedrole: "", accessedby: ""} AS r
>>>> 
>>>>   OPTIONAL MATCH (f)-[:CREATED]->(a:activity)
>>>>   WITH f, {
>>>>     accessedrole: r.accessedrole, accessedby: r.accessedby,
>>>>     createdat: a.createdat, createdby: {id: a.contactid, object: 
>>>> "contact"}} AS r
>>>> 
>>>>   OPTIONAL MATCH (f)-[:HISTORY]->(a:activity)
>>>>   WITH f, {
>>>>     accessedrole: r.accessedrole, accessedby: r.accessedby,
>>>>     createdat: r.createdat, createdby: r.createdby,
>>>>     updatedat: a.createdat, updatedby: {id: a.contactid, object: 
>>>> "contact"}} AS r
>>>> 
>>>>   OPTIONAL MATCH (f)-[:TAG]->(x)
>>>>   WITH f, COLLECT(x) AS xs, r
>>>>   WITH f, {
>>>>     accessedrole: r.accessedrole, accessedby: r.accessedby,
>>>>     createdat: r.createdat, createdby: r.createdby,
>>>>     updatedat: r.updatedat, updatedby: r.updatedby,
>>>>     tags: [x IN xs | {id: x.id, object: x.object, name: x.name}]
>>>>     } AS r
>>>> 
>>>>   RETURN COLLECT({
>>>>     id: f.id, object: f.object, projectid: f.projectid,
>>>>     no: f.no, name: f.name, description: f.description, url: f.url,
>>>>     mime: f.mime, thumbnail: f.thumbnail, size: f.size,
>>>>     accessedrole: r.accessedrole, accessedby: r.accessedby,
>>>>     createdat: r.createdat, createdby: r.createdby,
>>>>     updatedat: r.updatedat, updatedby: r.updatedby,
>>>>     tags: r.tags
>>>>   }) AS r
>>>> 
>>>>> On Tuesday, April 7, 2015 at 2:09:27 PM UTC-7, Michael Hunger wrote:
>>>>> Hey Bill,
>>>>> 
>>>>> interesting what's your use-case for this?
>>>>> 
>>>>> Thanks so much,
>>>>> 
>>>>> Michael
>>>>> 
>>>>>> Am 07.04.2015 um 21:24 schrieb bi...@levelstory.com:
>>>>>> 
>>>>>> Is there any way to add additional properties to an existing Map object?
>>>>>> 
>>>>>> I thought I could use SET, but it doesn't work on maps:
>>>>>> 
>>>>>> WITH {a: "foo"} AS result
>>>>>> SET result.b = "bar"
>>>>>> RETURN result
>>>>>> 
>>>>>> Type mismatch: expected Node or Relationship but was Map (line 1, column 
>>>>>> 31)
>>>>>> 
>>>>>> Because of this, I'm currently doing this everywhere which makes the 
>>>>>> queries hard to read:
>>>>>> 
>>>>>> WITH {a: "foo"} AS result
>>>>>> WITH {a: result.a, b: "bar"} AS result
>>>>>> RETURN result
>>>>>> 
>>>>>> 
>>>>>> Thanks,
>>>>>> bill 
>>>>>> 
>>>>>> -- 
>>>>>> You received this message because you are subscribed to the Google 
>>>>>> Groups "Neo4j" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send 
>>>>>> an email to neo4j+un...@googlegroups.com.
>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>> 
>>>> 
>>>> -- 
>>>> You received this message because you are subscribed to the Google Groups 
>>>> "Neo4j" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send an 
>>>> email to neo4j+un...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "Neo4j" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to neo4j+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"Neo4j" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to neo4j+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to