大家好,欢迎来到IT知识分享网。
学习NEO4J
增:(改)
我们使用Neo4j CQL SET子句向现有节点或关系添加新属性。
Neo4j CQL – SET子句 一\向现有节点或关系添加新属性 ;二\添加或更新属性值
<textarea readonly="readonly" name="code" class="xml">
MATCH (dc:DebitCard)
SET dc.atm_pin = 3456
RETURN dc
创建一个节点的命令:
CREATE (emp:Employee) (这里emp是一个节点名:不带属性的单个节点)
这是带有属性的节点:
<textarea readonly="readonly" name="code" class="xml">
CREATE (dept:Dept {
deptno:10,dname:"Accounting",location:"Hyderabad" })
删:
区别:
DELETE操作用于删除节点和关联关系。
REMOVE操作用于删除标签和属性。
联系:
这两个命令不应单独使用。
两个命令都应该与MATCH命令一起使用。
一*delete删除*
1\删除节点。
查看是否存在:(以下任意一种格式都是可以的)
<textarea readonly="readonly" name="code" class="xml">
MATCH (e: 'Employee') RETURN e
MATCH (e: "Employee") RETURN e
MATCH (e: Employee) RETURN e
执行删除
<textarea readonly="readonly" name="code" class="xml">
MATCH (e: Employee) DELETE e
检验删除:
<textarea readonly="readonly" name="code" class="xml">
MATCH (e: Employee) RETURN e
2\删除节点及相关节点和关系。
此示例演示如何从数据库永久删除节点及其关联节点和关系
查看关系是否可用:
<textarea readonly="readonly" name="code" class="xml">
MATCH (cc:CreditCard)-[r]-(c:Customer)RETURN r
执行删除:
<textarea readonly="readonly" name="code" class="xml">
MATCH (cc: CreditCard)-[rel]-(c:Customer)
DELETE cc,c,rel
检验删除是否成功:
<textarea readonly="readonly" name="code" class="xml">
MATCH (cc:CreditCard)-[r]-(c:Customer) RETURN r
(如果返回的是0行则删除成功)
二\ REMOVE删除
删除节点或关系的标签
删除节点或关系的属性
我们使用Neo4j CQL REMOVE子句来删除节点或关系的现有属性。
先创建:CREATE (book:Book {id:122,title:“Neo4j Tutorial” ,pages:340,price:250})
查看:
<textarea readonly="readonly" name="code" class="xml">
MATCH (book : Book)
RETURN book
删除某一属性:(相当于
<textarea readonly="readonly" name="code" class="xml">
ALTER TABLE BOOK REMOVE COLUMN PRICE;
SELECT * FROM BOOK WHERE ID = 122;)
MATCH (book { id:122 })
REMOVE book.price
RETURN book
REMOVE一个Label子句语法:
此示例演示如何从数据库中永久删除现有节点的属性。
<textarea readonly="readonly" name="code" class="xml">
MATCH (book:Book)
REMOVE book.price
RETURN dc
此示例演示如何从数据库永久删除不需要的标签到节点。
<textarea readonly="readonly" name="code" class="xml">
MATCH (m:Movie)
REMOVE m:Picture
查
Neo4j CQL MATCH命令用于 –
从数据库获取有关节点和属性的数据
从数据库获取有关节点,关系和属性的数据
Neo4j CQL RETURN子句用于 –
检索节点的某些属性
检索节点的所有属性
检索节点和关联关系的某些属性
检索节点和关联关系的所有属性
在Neo4j CQL中,我们不能单独使用MATCH或RETURN命令,因此我们应该合并这两个命令以从数据库检索数据。
<textarea readonly="readonly" name="code" class="xml">
MATCH (dept: Dept)
RETURN dept.deptno,dept.dname
关系与关系标签
CREATE命令来创建两个节点之间的关系
为一个节点创建多个标签:
CREATE (m:Movie:Cinema:Film:Picture)
这里m是一个节点名
Movie, Cinema, Film, Picture是m节点的多个标签名称
本示例演示如何为关系创建标签
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
这里p1和profile1是节点名称和节点标签名称“From Node”
p2和Profile2是“To Node”的节点名称和节点标签名称
r1是关系名称
LIKES是一个关系标签名称
WHERE子句
步骤一都是要检索出所有来
<textarea readonly="readonly" name="code" class="xml">
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
此示例演示如何在MATCH Command中使用CQL WHERE子句根据员工名
称检索员工详细信息
<textarea readonly="readonly" name="code" class="xml">
MATCH (emp:Employee)
WHERE emp.name = 'Abc'
RETURN emp
带布尔值的检索:
<textarea readonly="readonly" name="code" class="xml">
WHERE emp.name = 'Abc' OR emp.name = 'Xyz'
RETURN emp
使用WHERE子句创建关系
在Neo4J CQL中,我们可以以不同的方式创建拖曳节点之间的关系
创建两个现有节点之间的关系
一次创建两个节点和它们之间的关系
使用WHERE子句创建两个现有节点之间的关系
在数据浏览器上键入以下命令,以验证我们的Neo4J数据库中是否
存在所需的客户节点
<textarea readonly="readonly" name="code" class="xml">
MATCH (cust:Customer)
RETURN cust.id,cust.name,cust.dob
在数据浏览器上键入以下命令,验证我们的Neo4J数据库中是否存在所需的CreditCard节点。
<textarea readonly="readonly" name="code" class="xml">
MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.expiredate,cc.cvv
在数据浏览器上键入以下命令以创建客户和CreditCard节点之间的关系。
<textarea readonly="readonly" name="code" class="xml">
MATCH (cust:Customer),(cc:CreditCard)
WHERE cust.id = "1001" AND cc.id= "5001"
CREATE (cust)-[r:DO_SHOPPING_WITH
{shopdate:"12/12/2014",price:55000}]->(cc)
RETURN r
排序
降序排列
Neo4j CQL – Sorting排序
<textarea readonly="readonly" name="code" class="xml">
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name DESC
升序排列
<textarea readonly="readonly" name="code" class="xml">
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name
UNION联盟
与SQL一样,Neo4j CQL有两个子句,将两个不同的结果合并成一组结果,它将两组结果中的公共行组合并返回到一组结果中。 它不从两个节点返回重复的行。限制:结果列类型和来自两组结果的名称必须匹配,这意味着列名称应该相同,列的数据类型应该相同。
UNION
<textarea readonly="readonly" name="code" class="xml">
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
它结合并返回两个结果集的所有行成一个单一的结果集。它还返回
由两个节点重复行。不能排除掉重复行
<textarea readonly="readonly" name="code" class="xml">
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和SKIP子句
它修整了CQL查询结果集底部的结果。
<textarea readonly="readonly" name="code" class="xml">
MATCH (emp:Employee)
RETURN emp
LIMIT 2
它修整了CQL查询结果集顶部的结果。
<textarea readonly="readonly" name="code" class="xml">
MATCH (emp:Employee)
RETURN emp
SKIP 2
合并
MERGE命令是CREATE命令和MATCH命令的组合。
MATCH (gp1:GoogleProfile1)
RETURN gp1.Id,gp1.Name 执行两次相同的语句只会创建一次
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/14257.html