I was trying to create user structures in Graph DB.
I have user entity with relationship to manager which is also user object. Here i want to update manager relationships.
There are three possibilities:
Manager with new relationship can be added
Existing relationship can point to new manager object
Current relationship can me removed
merge (u:User {email_id: $emailId})
on create set
u.user_id = $userId,
u.name = $name,
u.profile = $profile,
u.business_phones = $businessPhones,
u.given_name = $givenName,
u.job_title = $jobTitle,
u.mobile_phone = $mobilePhone,
u.preferred_language = $preferredLanguage,
u.surname = $surname,
u.user_principal_name = $userPrincipalName,
u.office_location = $officeLocation,
u.skills = $skills,
u.domain = $domain,
u.tenant_id = $tenantId
on match set
u.user_id = $userId,
u.name = $name,
u.profile = $profile,
u.business_phones = $businessPhones,
u.given_name = $givenName,
u.job_title = $jobTitle,
u.mobile_phone = $mobilePhone,
u.preferred_language = $preferredLanguage,
u.surname = $surname,
u.user_principal_name = $userPrincipalName,
u.office_location = $officeLocation,
u.skills = $skills,
u.domain = $domain,
u.tenant_id = $tenantId
with u
optional match (u)<-[oldr:IS_MANAGER_OF]-(:User)
detach delete oldr
with u
merge (mgr:User {email_id : $managerEmailId, uid: 3})
merge (u)<-[rz:IS_MANAGER_OF]-(mgr)
This code is breaking when managerEmailId is null. how can i handle this?