首先安装环境
类似Java,安装后配置环境变量即可使用
以解压缩包为例:zip环境配置
新建 NEO4J_HOME :C:\ neo4j-community-2.1.3
PATH新增:%NEO4J_HOME%\bin
配置好环境变量后在安装目录的bin文件夹下打开cmd
Neo4j.bat console
then http:// localhost:7474 /
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数据库自动分配
网友评论