还记得第 16 篇的时候提过下面这个
嗯... 看到标题就知道,没东西写了呢,反正剩三篇就让我能骗就骗吧x
竟然有玩 CSV 首先我们就需要一个 CSV 档案
就用我之前无聊去打 GTA 5 Online API 抓回来的载具种类资料吧
先依照栏位,规划一下资料吧
Name | Vehicle__Name | Vehicle__Cost |
---|---|---|
Label & Property | Property | Property |
再来直接来写入资料库吧
记得将档案丢到资料库的
import
资料夹中才读的到喔
LOAD CSV FROM "file:///GTA.csv" AS map
CALL apoc.create.node([map[0],"Vehicle"], {Name:map[0],VehicleName:map[1],VehicleCost:map[2]}) YIELD node
RETURN count(*)
首先第一行 LOAD CSV FROM "file:///GTA.csv" AS map
为 Cypher 原始的 Load CSV 的指令
再来就是 CREATE
Node 了
由於计画是直接将 CSV 的资料直接当 Label 用
所以直接将第 17 篇提过的 APOC Plugins 叫出来用会比较方便
至於那个 map[0]
我不知道为什麽写 map.Name
等会抓不到资料
反正这样写会过那就这样吧
到这边 Load CSV 的部分就完成了
再来来变个魔术吧
WITH ["Boats","Commercial","Compacts","Coupes","Cycles","Emergency","Helicopters","Industrial","Military","Motorcycles","Muscle","OffRoad","OpenWheel","Planes","Sedans","Service","Sports","SportsClassics","Super","Suvs","Utility","Vans"] AS CName
CREATE (gta:GTA{Name:"GTA"})
FOREACH ( n IN CName | CREATE (gta)-[:Type]->(:VehicleType{Name:n}))
MATCH (v:Vehicle),(vt:VehicleType)
WHERE v.Name = vt.Name
CREATE (vt)-[:Have]->(v)
执行上面两段语法,你就会获得这样的资料结构
GTA -> VehicleType -> Vehicle
全部抓出来看是不是看起来很酷呢
随便乱玩了一下资料
稍微模拟了一下大一点的资料库看起来的样子
随然复杂度没有很高就是了
29 篇的时候再来偷偷放复杂度更高的资料库吧
下篇 来讲讲 Cypher 的 Coding Style 吧
究竟铁人赛能不能完赛呢,让我们继续看下去
排版好看的版本同步更新在我的 HackMD
>>: 利用 Grafana Operator 部署 Grafana 到 OpenShift,并建立客制化的 Dashboard。
一直以来我都很有自知之明我不是一个很有艺术天份的人,所以一开始在设定目标时我就是以後端工程师为目标,...
今天要谈三个NodeJS的概念,进入新手村的第一个任务:Module、Exports与Require...
《PSYCHO-PASS心灵判官》第四集出现的杀人事件,场景便始於监视官使用线上虚拟实境聊天室开始,...
这礼拜的课程进度是 FE102 DOM 事件处理 页面保存资料 介绍比较常使用到的 DOM 方法 d...
前一天讲到合约(Contracts)和启动器(Launcher)取代StartActivityFor...