iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 16
0
自我挑戰組

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

Cypher 語法簡介 Part7 : Cypher 的最後來講一些函數吧

  • 分享至 

  • xImage
  •  

前情提要

今天上班的時候老闆突然問起我跟的另一個同事的鐵人賽寫得如何

然後又說要來拜讀一下我們的文章,一整個危到不行

我現在非常懷疑 20 多天前的我為什麼要訂這個主題

非常懷疑要寫什麼 XD

Functions

Cypher 的 Functions 大概分成下面幾種

  • Predicate functions
    • 回傳布林值的類型
  • Scalar functions
    • 回傳單一值的類型
  • Aggregating functions
    • 加總相關的函數
  • List functions
    • 回傳清單中的資料的類型
  • Mathematical functions
    • 數學運算相關的類型
  • String functions
    • 字串相關的類型
  • Temporal functions
    • 處理日期相關格式的類型
  • Spatial functions
    • 空間座標相關的類型
    • 之後寫 Spatial 的那篇會提
  • User-defined functions
    • 使用者自訂的函數
    • 我不會寫這個,如看到了就是我沒東西寫了
  • LOAD CSV functions
    • 匯入 CSV 相關的函數
    • 我不會寫這個,如看到了就是我沒東西寫了

今天就依 Spatial 類型前的那幾個,看一看有紀錄意義的就寫上來吧

Scalar functions

coalesce()

coalesce(expression [, expression]*)

回傳資料中第一個不是空的資料

例:

MATCH (n)
RETURN coalesce(n.Name)

startNode() & endNode()

取得一段關係的起始節點或結束節點

例:

MATCH ()-[r]-()
RETURN startNode(r)

Aggregating functions

collect()

collect(expression)

將資料轉成陣列型式 (List)

正常的回傳結果 加上Collect的結果

List functions

nodes() & relationships()

取得一坨資料的節點或關係

例:

MATCH p=()-[]-()
RETURN nodes(p)

String functions

ltrim() & rtrim() & trim()

清空字串中的空白字元

  • ltrim --> 左空白
  • rtrim --> 右空白
  • trim --> 左右空白

沒了 我很抱歉

看起來都沒什麼特別的 ( ˘・з・)

讓我水一下啦,真的沒空阿,拜託啦

下三篇預計要講兩個好用的 Plugins

內容就會豐富起來了,還剛好中秋假期

大家中秋節快樂~~ (ノ>ω<)ノ

都過一半了 該換 ED 了

下篇 Neo4j Plugins - 強大的 APOC & GDS

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


參考資料

Neo4j Cypher Manual

(書) Neo4j 大事典:圖形資料庫&大數據時代


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


上一篇
Cypher 語法簡介 Part6 : 一些雜七雜八的功能
下一篇
Neo4j Plugins - 強大的 APOC & GDS
系列文
圖形資料庫是什麼,可以吃嗎 - Neo4j30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言