图数据库:neo4j:基本使用

创建

(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

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值