关于neo4j初入门(2)

DELETE删除

  • 删除节点及相关节点和关系。
  • DELETE <node-name-list>
  • DELETE <node1-name>,<node2-name>,<relationship-name>
  • 使用逗号(,)运算符来分隔节点名称和关系名称。

 MATCH (cc:CreditCard)-[r]-(c:Customer)RETURN r          检查是否存在

MATCH (cc: CreditCard)-[rel]-(c:Customer)

DELETE cc,c,rel                                                                  删除

MATCH (cc:CreditCard)-[r]-(c:Customer) RETURN r           检查是否删除

REMOVE删除

SET子句向现有节点或关系添加新属性。

REMOVE子句来删除节点或关系的现有属性。

REMOVE <property-name-list>

<property-name-list> <属性名称列表>语法

<node-name>.<property1-name>,
<node-name>.<property2-name>, 
.... 
<node-name>.<propertyn-name> 



REMOVE <label-name-list> 

<label-name-list>语法

<node-name>:<label2-name>, 
.... 
<node-name>:<labeln-name> 


SET子句

向现有节点或关系添加新属性

SET  <property-name-list>

<属性名称列表>语法:

<node-label-name>.<property1-name>,
<node-label-name>.<property2-name>, 
.... 
<node-label-name>.<propertyn-name> 
例如
MATCH (dc:DebitCard)
SET dc.atm_pin = 3456
RETURN dc

Sorting排序

 对MATCH查询返回的结果进行排序。

ORDER BY  <property-name-list>  [DESC]	


MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name

UNION联盟

  • 将两个不同的结果合并成一组结果

 

  • UNION
  • UNION ALL
  • UNION子句语法

    <MATCH Command1>
       UNION
    <MATCH Command2>
  • 具有相同的属性名有不同的节点名称前缀。UNION命令显示此错误消息。为了避免这种错误,Neo4j的CQL提供“AS”子句。
  • MATCH (cc:CreditCard)
    RETURN cc.id as id,cc.number as number,cc.name as name,
       cc.valid_from as valid_from,cc.valid_to as valid_to
    UNION
    MATCH (dc:DebitCard)
    RETURN dc.id as id,dc.number as number,dc.name as name,
       dc.valid_from as valid_from,dc.valid_to as valid_to
  • UNION ALL子句语法

    <MATCH Command1>
    UNION ALL
    <MATCH Command2>
  • UNION ALL子句不过滤它们重复行
  • MATCH (cc:CreditCard)
    RETURN cc.id as id,cc.number as number,cc.name as name,
       cc.valid_from as valid_from,cc.valid_to as valid_to
    UNION ALL
    MATCH (dc:DebitCard)
    RETURN dc.id as id,dc.number as number,dc.name as name,
       dc.valid_from as valid_from,dc.valid_to as valid_to

LIMIT子句语法

LIMIT <number>

减少MATCH + RETURN查询返回的记录数
MATCH (emp:Employee) 
RETURN emp
LIMIT 2

SKIP子句语法:

SKIP <number>

“SKIP”子句来过滤或限制查询返回的行数
MATCH (emp:Employee) 
RETURN emp
SKIP 2

合并

MERGE命令是CREATE命令和MATCH命令的组合。

MERGE = CREATE + MATCH

Neo4j CQL MERGE语法

MERGE (<node-name>:<label-name>
{
   <Property1-name>:<Pro<rty1-Value>
   .....
   <Propertyn-name>:<Propertyn-Value>
})



CREATE命令检查此节点是否可用,它只是在数据库中创建新节点。
MERGE命令检查该节点在数据库中是否可用。 如果它不存在,它创建新节点。 否则,它不创建新的。

我们可以说CREATE命令总是向数据库添加新的节点。CQL MERGE命令将新的节点添加到数据库,只有当它不存在。

 

NULL值

WHERE  IS NOT NULL

这里我们使用IS NOT运算符来过滤NULL行。

IN操作符语法

IN[<Collection-of-values>]
例如
MATCH (e:Employee) 
WHERE e.id IN [123,124]
RETURN e.id,e.name,e.sal,e.deptno

Neo4j数据浏览器包含两种视图来显示查询结果 - 

  • UI查看
  • 网格视图

鼠标指针选择节点以查看其属性窗口。

此属性窗口包含两个taps:

  • 属性选项卡 - 它显示了节点或关系的属性详细信息。

  • 样式选项卡(Eye Symbol): - 它显示节点或关系的字体或大小选择。

 ID属性

“Id”是节点和关系的默认内部属性。 这意味着,当我们创建一个新的节点或关系时,Neo4j数据库服务器将为内部使用分配一个数字。 它会自动递增。

Node id的值是递增的,并且赋值为1

  • 节点的Id属性的最大值约为35亿。
  • Id的最大值关系的属性的大约35亿。

Caption标题

在Neo4j数据中,当我们在Neo4j DATA浏览器中执行MATCH + RETURN命令以查看UI视图中的数据时,通过使用它们的Id属性显示节点和/或关系结果。 它被称为“CAPTION”的id属性。

我们可以通过使用它的其他属性值来更改节点或关系的CAPTION。

更改节点或Neo4j数据浏览器UI视图中的关系的“CAPTION”。

方向关系

在Neo4j中,两个节点之间的关系是有方向性的。 它们是单向或双向的。

CREATE (<node1-details>)-[<relationship-details>]->(<node2-details>)

使用一个箭头标记:() - []→()。 它表示从左侧节点到右侧节点的方向。

 

posted @ 2018-08-06 17:24  星涅爱别离  阅读(243)  评论(0编辑  收藏  举报