Neo4j - Set 子句

  • 简述

    使用 Set 子句,您可以向现有节点或关系添加新属性,还可以添加或更新现有属性值。
    在本章中,我们将讨论如何 -
    • 设置属性
    • 删除属性
    • 设置多个属性
    • 在节点上设置标签
    • 在一个节点上设置多个标签
  • 设置属性

    使用 SET 子句,您可以在节点中创建新属性。

    句法

    以下是设置属性的语法。
    
    MATCH (node:label{properties . . . . . . . . . . . . . . }) 
    SET node.property = value 
    RETURN node
    

    例子

    在继续示例之前,首先创建一个名为 Dhawan 的节点,如下所示。
    
    CREATE (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
    
    以下是一个示例 Cypher 查询,用于创建名为“highestscore”且值为“187”的属性。
    
    MATCH (Dhawan:player{name: "shikar Dhawan", YOB: 1985, POB: "Delhi"}) 
    SET Dhawan.highestscore = 187 
    RETURN Dhawan
    
    要执行上述查询,请执行以下步骤 -
    步骤 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    步骤 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    比赛选手

    结果

    执行时,您将得到以下结果。在这里,您可以观察到在名为“Dhawan”的节点中创建了一个具有键值对最高分数/187 的属性。
    核心价值
  • 删除属性

    您可以通过传递删除现有属性NULL作为它的价值。

    句法

    以下是使用 SET 子句从节点中删除属性的语法。
    
    MATCH (node:label {properties}) 
    SET node.property = NULL 
    RETURN node 
    

    例子

    在继续示例之前,首先创建一个节点“jadeja”,如下所示。
    
    Create (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"})
    
    以下是一个示例 Cypher 查询,它使用如下所示的 SET 子句从此节点中删除名为 POB 的属性。
    
    MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988, POB: "NavagamGhed"}) 
    SET Jadeja.POB = NULL 
    RETURN Jadeja 
    
    要执行上述查询,请执行以下步骤 -
    步骤 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    步骤 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    移除属性

    结果

    执行时,您将得到以下结果。在这里您可以观察到名为的变量POB被删除。
    已删除 POB
  • 设置多个属性

    同样,您可以使用 Set 子句在节点中创建多个属性。为此,您需要用逗号指定这些键值对。

    句法

    以下是使用 SET 子句在节点中创建多个属性的语法。
    
    MATCH (node:label {properties}) 
    SET node.property1 = value, node.property2 = value 
    RETURN node 
    

    例子

    以下是一个示例 Cypher 查询,它使用 Neo4j 中的 SET 子句在节点中创建多个属性。
    
    MATCH (Jadeja:player {name: "Ravindra Jadeja", YOB: 1988})  
    SET Jadeja.POB: "NavagamGhed", Jadeja.HS = "90" 
    RETURN Jadeja
    
    要执行上述查询,请执行以下步骤 -
    步骤 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    步骤 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    多个属性

    结果

    执行时,您将得到以下结果。在这里,您可以观察到创建了名为 POB 和 HS 的属性。
    执行属性
  • 在节点上设置标签

    您可以使用 SET 子句为现有节点设置标签。

    句法

    以下是为现有节点设置标签的语法。
    
    MATCH (n {properties . . . . . . . }) 
    SET n :label 
    RETURN n 
    

    例子

    在继续示例之前,首先创建一个节点“Anderson”,如下所示。
    
    CREATE (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"})
    
    以下是使用 SET 子句在节点上设置标签的示例 Cypher 查询。此查询将标签“玩家”添加到节点 Anderson 并返回它。
    
    MATCH (Anderson {name: "James Anderson", YOB: 1982, POB: "Burnely"}) 
    SET Anderson: player 
    RETURN Anderson 
    
    要执行上述查询,请执行以下步骤 -
    步骤 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    步骤 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    标签节点

    结果

    执行时,您将得到以下结果。在这里,您可以观察到名为“player”的标签被添加到节点中。
    添加播放器
  • 在一个节点上设置多个标签

    您可以使用 SET 子句为现有节点设置多个标签。在这里,您需要通过用冒号“:”分隔标签来指定标签。

    句法

    以下是使用 SET 子句为现有节点设置多个标签的语法。
    
    MATCH (n {properties . . . . . . . }) 
    SET n :label1:label2 
    RETURN n 
    

    例子

    在继续示例之前,首先创建一个名为“Ishant”的节点,如下所示。
    
    CREATE (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
    
    以下是一个示例 Cypher 查询,用于使用 SET 子句在节点上创建多个标签。
    
    MATCH (Ishant {name: "Ishant Sharma", YOB: 1988, POB: "Delhi"}) 
    SET Ishant: player:person 
    RETURN Ishant 
    
    要执行上述查询,请执行以下步骤 -
    步骤 1− 打开 Neo4j 桌面应用程序并启动 Neo4j 服务器。使用 URL 打开 Neo4j 的内置浏览器应用程序http://localhost:7474/如以下屏幕截图所示。
    浏览器应用
    步骤 2- 在美元提示符中复制并粘贴所需的查询,然后按以下屏幕截图中突出显示的播放按钮(执行查询)。
    多标签

    结果

    执行时,您将得到以下结果。在这里,您可以观察到两个标签 - 人物和玩家 - 被添加到名为的节点Ishant.
    伊桑特播放器