learn neo4j

首先安装环境

类似Java,安装后配置环境变量即可使用

以解压缩包为例:zip环境配置

新建    NEO4J_HOME :C:\ neo4j-community-2.1.3

PATH新增:%NEO4J_HOME%\bin

配置好环境变量后在安装目录的bin文件夹下打开cmd

Neo4j.bat console

then    http:// localhost:7474 /


learn neo4j_第1张图片

CQL

create     

CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })

match(获取数据信息)

注意-我们不能单独使用MATCH Command从数据库检索数据。 如果我们单独使用它,那么我们将InvalidSyntax错误。

return(检索某些或全部属性)

在Neo4j CQL中,我们不能单独使用MATCH或RETURN命令,因此我们应该合并这两个命令以从数据库检索数据。

match+return

先用match匹配到对应标签的节点,再用return返回节点的属性

(注意match后有括号,return后无括号)

MATCH (dept: Dept)

RETURN dept.deptno

关系

(关系应该是双向的,否则neo会抛出一个错误消息。)

客户→信用卡

这里的关系是箭头标记(→)

由于Neo4j CQL语法是以人类可读的格式。 Neo4j CQL也使用类似的箭头标记来创建两个节点之间的关系。

我们在“CreditCard”和“Customer”节点之间创建了两个关系:一个从“CreditCard”到“Customer”。 另一个从“客户”到“信用卡”。 这意味着它是双向关系。

标签

Label是Neo4j数据库中的节点或关系的名称或标识符

节点标签1 or n;关系标签1

以:为分隔符

创建节点标签

CREATE (m:Movie:Cinema:Film:Picture)

创建关系标签

create (node1:label1)-[relation1:label_r]-(node2:label2)

CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)

where

用法类似于SQL

MATCH (emp:Employee)

WHERE emp.name = 'Abc' OR emp.name = 'Xyz'

RETURN emp

在Neo4J CQL中,我们可以以不同的方式创建拖曳节点之间的关系。

···创建两个现有节点之间的关系

···一次创建两个节点和它们之间的关系

···使用WHERE子句创建两个现有节点之间的关系

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

DELETE(大删) , REMOVE(小删), SET(小增)

DELETE:删除节点及其相关关系(都是先匹配,后删除)

REMOVE:删除标签和属性

SET:添加属性

MATCH (e: Employee) DELETE e

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

MATCH (book { id:122 }) REMOVE book.price RETURN book

match 充当了一个select的角色

排序order……desc

MATCH (emp:Employee)

RETURN emp.empid,emp.name,emp.salary,emp.deptno

ORDER BY emp.name DESC    # 降序 or not

union

将两组结果中的公共行组合并返回到一组结果中。

结果列的名称和数据类型应该相同匹配。

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

修改返回的行数    limit(删底),skip(删顶)

MATCH (emp:Employee) RETURN emp SKIP 2

MERGE

搜索,存在则返回结果,不存在则创建(节点,关系,属性)

VS create:简单的重复添加新元素

IN 

为CQL命令提供值的集合。

MATCH (e:Employee)

WHERE e.id IN [123,124]

RETURN e.id,e.name,e.sal,e.deptno

每个节点有一个id,由neo4j数据库自动分配

CQL中的函数


这种语法性的学习压根没有必要,直接在工程上啥都学会了……

你可能感兴趣的:(learn neo4j)