项目实训第五周第二次记录

文章目录

7.28

关系获取

2导入数据库


7.28

关系获取

2导入数据库

获得的知识需要导入Neo4j图数据库中。从而可以查询实体间的关系。

1new_node.csv导入数据库:

// 导入新的节点

USING PERIODIC COMMIT 1000

LOAD CSV WITH HEADERS FROM "file:///new_node.csv" AS line

CREATE (:NewNode { title: line.title })


//添加索引

CREATE CONSTRAINT ON (c:NewNode)

ASSERT c.title IS UNIQUE

2 wikidata_relation2.csv wikidata_relation.csv导入数据库:

//导入hudongItem和NewNode之间的关系RELATION

USING PERIODIC COMMIT 1000

LOAD CSV  WITH HEADERS FROM "file:///wikidata_relation2.csv" AS line

MATCH (entity1:HudongItem{title:line.HudongItem}) , (entity2:NewNode{title:line.NewNode})

CREATE (entity1)-[:RELATION { type: line.relation }]->(entity2)


USING PERIODIC COMMIT 1000

LOAD CSV  WITH HEADERS FROM "file:///wikidata_relation.csv" AS line

MATCH (entity1:HudongItem{title:line.HudongItem1}) , (entity2:HudongItem{title:line.HudongItem2})

CREATE (entity1)-[:RELATION { type: line.relation }]->(entity2)

3 attributes.csv导入数据库:

LOAD CSV WITH HEADERS FROM "file:///attributes.csv" AS line

MATCH (entity1:HudongItem{title:line.Entity}), (entity2:HudongItem{title:line.Attribute})

CREATE (entity1)-[:RELATION { type: line.AttributeName }]->(entity2);

                                                           

LOAD CSV WITH HEADERS FROM "file:///attributes.csv" AS line

MATCH (entity1:HudongItem{title:line.Entity}), (entity2:NewNode{title:line.Attribute})

CREATE (entity1)-[:RELATION { type: line.AttributeName }]->(entity2);

                                                            

LOAD CSV WITH HEADERS FROM "file:///attributes.csv" AS line

MATCH (entity1:NewNode{title:line.Entity}), (entity2:NewNode{title:line.Attribute})

CREATE (entity1)-[:RELATION { type: line.AttributeName }]->(entity2);

                                                            

LOAD CSV WITH HEADERS FROM "file:///attributes.csv" AS line

MATCH (entity1:NewNode{title:line.Entity}), (entity2:HudongItem{title:line.Attribute})

CREATE (entity1)-[:RELATION { type: line.AttributeName }]->(entity2)  

我们建索引的时候带了label,因此只有使用label时才会使用索引,这里我们的实体有两个label,所以一共做2*2=4次。当然,可以建立全局索引,即对于不同的label使用同一个索引。

4static_weather_list.csv weather_plant.csv city_weather.csv导入数据库:

//导入气候名称节点

LOAD CSV WITH HEADERS FROM "file:///static_weather_list.csv" AS line

MERGE (:Weather { title: line.title })


//添加索引

CREATE CONSTRAINT ON (c:Weather)

ASSERT c.title IS UNIQUE


//导入气候与植物的关系

USING PERIODIC COMMIT 1000

LOAD CSV  WITH HEADERS FROM "file:///weather_plant.csv" AS line

MATCH (entity1:Weather{title:line.Weather}) , (entity2:HudongItem{title:line.Plant})

CREATE (entity1)-[:Weather2Plant { type: line.relation }]->(entity2)


//导入城市对应的气候

USING PERIODIC COMMIT 1000

LOAD CSV WITH HEADERS FROM "file:///city_weather.csv" AS line

MATCH (city{title:line.city}) , (weather{title:line.weather})

CREATE (city)-[:CityWeather { type: line.relation }]->(weather)

到此图数据库数据准备完成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值