iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 28
0
自我挑戰組

圖形資料庫是什麼,可以吃嗎 - Neo4j系列 第 28

來講講 Cypher 的 Coding Style 吧

前情提要

除結尾倒數兩篇 (゚∀゚)

來看看能不能在今天一次性寫完w

現在時間 10/11 aka. Day27

Coding Style 對於工程師來說相當重要

小至個人,大至整世界

你 Coding Style 寫的好,對其他人來說也看的舒適

或是引發宗教戰爭

所以說 Cypher 為了避免麻煩,直接都幫你定義好了

Clauses

中文怎麼翻阿w 描述? 敘述?

首先像是 MATCHCREATE 等,這類的敘述字

雖然系統是不分大小寫,不過建議是寫成全大寫

對,你可以寫成這樣 mAtcH 也會過

並且建議寫在每行的開頭

Keywords

像是 ANDINNOT

跟 Clauses 一樣建議全大寫

Node Labels

(:CallFrom)
(:CallTo)
(:Connect)

Label 在系統中是有區分大小寫的

建議是採用大駝峰式的寫法

Relationship Types

[:FOLLOWS]
[:ACTED_IN]
[:IS_IN_LOVE_WITH]

Type 在系統中也是有區分大小寫的

建議是全大寫並以 _ 做分隔

我好像都寫成大駝峰式,呵w

Property、Function 等等

建議是採用小駝峰式的寫法

Null Boolean

nulltruefalse

建議是採用全小寫的寫法

雖然我的 null 好像都全大寫

MERGE

另外像是 MERGE 中的 ON CREATEON MATCH

建議是使用縮排的方式,類似這樣

MATCH (p:Person {name: 'Alice'})
MERGE (c:Company {name: 'Wayne Enterprises'})
MERGE (p)-[rel:WORKS_FOR]-(c)
  ON CREATE SET rel.startYear = date({year: 2018})
  ON MATCH SET rel.updated = date()
RETURN p, rel, c;

好的,大概就寫到這裡

寫一寫才發現,我好像都沒在遵守 (( 笑

另外還有像是對於空格 ( 空白 ) 的要求之類的

我覺得就有點... 這是必要的嗎,的感覺

所以就只把重要的抓出來了

正篇倒數 1 篇,oh Yeahhhhh~

下篇 來舉例一下 Neo4j 的實務應用

究竟鐵人賽能不能完賽呢,讓我們繼續看下去


參考資料

Neo4j Cypher Style-Guide


排版好看的版本同步更新在我的 HackMD


上一篇
Neo4j 綜合應用 & 來讀個 CSV 吧
下一篇
來舉例一下 Neo4j 的實務應用
系列文
圖形資料庫是什麼,可以吃嗎 - Neo4j30

尚未有邦友留言

立即登入留言