创建
(1)单独创建Label:
CREATE (n:Label1)
create (:Label1 {site_code:"10002",name:"智联招聘(Zhaopin)"})
(2)创建Label并且新增一个节点,这些节点包含一些属性:
create(:newLabel{id:'',name:'学科研究',tag_name:'学科研究',skill_root:'',pos:'',isconcept:'1',tag_type:'文本标签',skill_level:'',skilllevel_code:'',job_id:'',insert_time:'2020-04-10 10:52:54'})
(3)创建Label并且新增n个节点(批量数据导入)
通过本地csv文件(数据)导入到数据库中,label自动创建,并将csv中字段名作为label的各个属性
LOAD CSV WITH HEADERS FROM "file:///tzb/recruit_websites/Label1.csv" AS row CREATE (n:Label1) SET n = row
LOAD CSV WITH HEADERS FROM "file:///tzb/recruit_websites/Label2.csv" AS row CREATE (n:Label2) SET n = row
LOAD CSV WITH HEADERS FROM "file:///tzb/recruit_websites/Label3.csv" AS row CREATE (n:Label3) SET n = row
csv数据示例:
指定字段名(属性名) ,下面是数据示例
code,name,level,parent
10000,招聘网站,1,0
10001,全国大型招聘网站,2,1
10002,专业招聘网站,2,1
10003,地方性网站,2,1
10004,一般性招聘网站,2,1
(4)给节点新增属性(或修改属性值)
MATCH (n:Label1) where n.name ='本科学历' RETURN n LIMIT 25
(5)创建索引
CREATE INDEX ON :City(code)
==============================================================================
删除
(1)删除Label
MATCH (n:Label1) delete n
(2)删除节点
MATCH (n:Label1) where n.name='工程副总' delete n
(3)删除Label的关系
match (c1)-[t]->(c2:Label1) delete t
(4)删除Label之间的关系
match (c1:Label1)-[t]->(c2:Label2) delete t
(4)删除节点之间的关系
match (c1:Label1)-[t]->(c2:Label2) where c1.name='财务规则' and c2.name='国家财务' delete t
==============================================================================
关系
建立关系:
(1)建立Label之间的关联关系
--Label1关联Label2
MATCH (c1:Label1),(c2:Label2)
WHERE c1.code = c2.parent_code
CREATE (c1)-[r:下属]->(c2) set r.name = '下属'
(2)建立节点之间的关联关系
match(c1:Label1),(c2:Label1) where c1.name='耗材' and c2.name='规定临床试验单位资料' CREATE (c1)-[r:相关技能]->(c2) set r.name='相关技能'
(3)建立节点之间的关联关系(一对多,如)
Label1关联Label2
MATCH (c1:Label1),(c2:Label2)
WHERE c1.jd Contains c2.name
CREATE (c1)-[r:技能]->(c2) set r.name='技能'
Label1关联Label2
MATCH (c1:Label1),(c2:Label2)
WHERE c1.jd Contains c2.tag_name and toInt(c1.id) <70000
CREATE (c1)-[r:技能]->(c2) set r.name='技能'
==============================================================================
查询
查询节点:
MATCH (Label1) where n.name = '工程副总' RETURN n LIMIT 25
查询关系:
查询Label之间的关联关系
match (c1:Label1)-[t]->(c2:Label2) return c1,t,c2
查询某个label所有关系
match (c1)-[t]->(c2:Label1) return c1,t,c2
查询节点之间的关联关系
match (c1:Label1)-[t]->(c2:Label2) where c1.name='财务规则' and c2.name='国家财务' return c1,t,c2 limit 10
查看label有多少条数据
MATCH (n:Job) RETURN count(n)
查看最小最大id
MATCH (n:Job) RETURN min(toInt(n.id))
MATCH (n:Job) RETURN max(toInt(n.id))
通过nodeId查询唯一节点:
MATCH (m) where id(m)=12338735 RETURN m
==============================================================================
修改:
修改标签:
MATCH (n:oldLabel) REMOVE n:oldLabel SET n:newLabel