1
上下文(解釋在領域模型中使用「應用程序」這個詞):我的軟件管理假期申請(用於替代舊紙申請表格)。一個neo4j密碼查詢與可用於可選創建關係的可爲空參數 - 這可能嗎?
有沒有辦法在一個密碼查詢中接受可空/可選參數「projectManager」的下面兩個類似的查詢?
//createApplicationForUserWithProjMgr:
match (u:User), (s:User), (p:User), (l:User)
where u.username={username} and
s.username={substitute} and
p.username={projectManager} and
l.username={lineManager}
create (u)-[ur:APPLIED_FOR]->(a:Application),
(a)-[sr:SUBSTITUTE]->(s),
(a)-[pr:PROJECT_MANAGER]->(p),
(a)-[lr:LINE_MANAGER]->(l)
set a={application}
return a, s, l, u, sr, lr, ur, p, pr"""
//createApplicationForUserWithoutProjMgr:
match (u:User), (s:User), (l:User)
where u.username={username} and
s.username={substitute} and
l.username={lineManager}
create (u)-[ur:APPLIED_FOR]->(a:Application),
(a)-[sr:SUBSTITUTE]->(s),
(a)-[lr:LINE_MANAGER]->(l)
set a={application}
return a, s, l, u, sr, lr, ur"""
這看起來很酷,謝謝! 當我所有的關係(替代,projMgr,lineMgr)都是可選的時,我肯定會更喜歡你的解決方案。我最終會得到線性跨度 - 每個null/not null組合的一個查詢 - 以及醜陋的代碼來決定執行哪個查詢。 –