I also would love this feature :)

On Tuesday, April 7, 2015 at 6:32:52 PM UTC-4, [email protected] 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 [email protected]:
>>
>> 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 [email protected]:
>>>
>>> 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 [email protected].
>>> 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 [email protected].
>> 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 [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to