代码之家  ›  专栏  ›  技术社区  ›  Pavan Kumar

如何删除NEO4J中地图的属性?

  •  -1
  • Pavan Kumar  · 技术社区  · 6 年前

    我正在寻找一种方法从NEO4J中的一个节点中删除映射的属性。 我已经使用我的类中的 >@properties. 将映射的属性存储在节点中。它将值存储在节点中。我的节点看起来像这样。

    但当我要删除description.english的属性时,它给出了错误。在图表中给出。

    这是我的领域。

    公共类测试{ 私有字符串名称; @属性 private map<languageEnum,string>说明; //getter和setter_

    
    

    这是我要删除的查询description.englishfrom node.

    match(n:test moduleid:“tab_”)remove n.description.english return n
    

    注意:我也无法通过cql更新该值。

    谢谢。enter image description here

    但当我要删除description.english的属性时,它给出了错误。如图所示。

    这是我的地盘。

    public class Test  {
    
    
    private String name;
    
    
    
    @Properties
    private Map<LanguageEnum,String> description;
    //getter and setter}
    

    这是我要删除的查询说明.英语从节点。

    MATCH (n:Test{moduleId:"tab_201"}) remove n.description.ENGLISH return n
    

    注释:我无法通过cql更新该值。

    谢谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   cybersam    6 年前

    在Cypher中,可以使用反勾号(`)字符来引用包含特殊字符(如“.”)的属性键(以及标签和类型)。例如:

    MATCH (n:Test{moduleId:"tab_201"}) remove n.`description.ENGLISH` return n