最近刚接触知识图谱和neo4j。neo4j基本命令:
create创建节点,关系和属性
CREATE (<node-name>:<label-name>)
CREATE (dept:Dept { deptno:10,dname:"Accounting",location:"Hyderabad" })
CREATE (emp:Employee{id:123,name:"Lokesh",sal:35000,deptno:10})#创建带属性的结点emp,标签为employee,
#包含id name sal deptno四个属性。
#创建带标签结点
CREATE (google1:GooglePlusProfile)
#多个标签的结点创建
CREATE (<node-name>:<label-name1>:<label-name2>.....:<label-namen>)
CREATE (m:Movie:Cinema:Film:Picture)
#创建两个结点和关系
CREATE (p1:Profile1)-[r1:LIKES]->(p2:Profile2)
match匹配的检索有关节点和属性数据
# 查询Dept下的内容
MATCH (dept:Dept) return dept
# 查询Employee标签下 id=123,name="Lokesh"的节点
MATCH (p:Employee {id:123,name:"Lokesh"}) RETURN p
## 查询Employee标签下name="Lokesh"的节点,使用(where命令)
MATCH (p:Employee)
WHERE p.name = "Lokesh"
RETURN p
#
MATCH (emp:Employee)
WHERE emp.name = 'Abc' OR emp.name = 'Xyz'
RETURN emp
#复杂的案例
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
union
MATCH (cc:CreditCard) RETURN cc.id,cc.number
UNION
MATCH (dc:DebitCard) RETURN dc.id,dc.number
return返回查询结果
RETURN
<node-name>.<property1-name>,
........
<node-name>.<propertyn-name>
#例如
RETURN dept.deptno
#匹配和返回
MATCH (dept: Dept)
RETURN dept.deptno,dept.dname,dept.location
where过滤
RETURN dept
#如果不指定属性,只返回UI的结果
查询类操作简例
CREATE (e:Customer{id:"1001",name:"Abc",dob:"01/10/1982"})
CREATE (cc:CreditCard{id:"5001",number:"1234567890",cvv:"888",expiredate:"20/17"})
MATCH (e:Customer)
RETURN e.id,e.name,e.dob#返回客户结点
MATCH (cc:CreditCard)
RETURN cc.id,cc.number,cc.cvv,cc.expiredate#返回信用卡结点信息
delete删除节点和关系
DELETE <node1-name>,<node2-name>,<relationship-name>
remove移除节点和关系
#删除debitcard的cvv属性
REMOVE dc.cvv
order by排序检索数据
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name
MATCH (emp:Employee)
RETURN emp.empid,emp.name,emp.salary,emp.deptno
ORDER BY emp.name DESC
set添加或更新标签
MATCH (book:Book)
SET book.title = 'superstar'
RETURN book
string函数使用string字面量;aggregation对查询结果聚合;relationship获取关系细节例如首尾结点。
neo4j的数据类型包括boolean、byte8位、short16位、int32位、long64位、float32位、double64位、char16位、string字符串