如何使用值返回节点的所有属性
我正在研究一个瓶子和neo4j的项目.我需要从节点检索所有属性作为dict.像这样的东西
{‘性别’:’男性’,’密码’:’$2a $12 $fd5KtsMjZHz26goBGcF3 / .gZhZUP / 6YAP7lRQ8Kf6eB5m69EhB5lS’,’email’:’xyz @ gmail.com’,’age’:’50’,’country’: ‘US’,’用户名’:’xyz’} 我在寻找答案时偶然发现了这个问题 How can I return all properties for a node using Cypher? 在版本2.3.0中,也可以返回值 用户名xyz 发送电子邮件至xyz@gmail.com 50岁 性别男 密码$2a $12 $fd5KtsMjZHz26goBGcF3 / .gZhZUP / 6YAP7lRQ8Kf6eB5m69EhB5lS 如果我在下面的查询中返回n >>>for record in graph.cypher.execute("MATCH (n:User) WHERE n.username='xyz' RETURN n"): ... print(record[0]) 结果会在前面连续返回(n11:User,所以我无法在没有进一步处理的情况下直接在jinja模板中使用此结果 (n11:用户{年龄:“50”,国家:“美国”,电子邮件:“xyz@gmail.com”,性别:“男性”,密码:“$2a $12 $fd5KtsMjZHz26goBGcF3 / .gZhZUP / 6YAP7lRQ8Kf6eB5m69EhB5lS”,用户名: “XYZ”}) 如果我使用下面的查询 >>>for record in graph.cypher.execute("MATCH (n:User) WHERE n.username='xyz' RETURN EXTRACT(key IN keys(n) | {value: n[key],key:key})"): ... print(record[0]) 我得到了这些结果. [{‘value’:’xyz @ gmail.com’,’key’:’email’},{‘value’:’50’,’key’:’age’},{‘value’:’US’,‘key’:’country’},{‘value’:’xyz’,’key’:’username’},{‘value’:’$2a $12 $fd5KtsMjZHz26goBGcF3 / .gZhZUP / 6YAP7lRQ8Kf6eB5m69EhB5lS’,’key’:’密码’},{‘价值’:’男’,’钥匙’:’性别’}] 此查询的问题在于,它并不真正返回键值元组,而是在键和值前面附加键和值标签. 此外,从Neo4j的想法框 https://trello.com/c/FciCdgWl/7-cypher-property-container-functions 似乎可以进行这些查询 可能的功能: MATCH n RETURN键(n) MATCH n RETURN值(n) MATCH n RETURN条目(n) 但我只能运行 – MATCH n RETURN键(n) 为了休息,我得到无效的语法错误.其余的功能没有实现? 解决方法
如果只执行RETURN n,则节点属性将作为映射返回.
见:http://neo4j.com/docs/stable/rest-api-transactional.html#rest-api-execute-multiple-statements 这个控制您以编程方式筛选要返回的属性: MATCH (n) WHERE id(n)=# RETURN EXTRACT(key IN keys(n) | {key: key,value: n[key]}) 否则,如果您知道要返回哪些,请拼写出来:RETURN n.name,n.age. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |