我正在製作一個用於管理聊天的應用程序。Neo4j與C#:創建2個現有節點之間的關係,否則不要
我有2個C#類:
public class Person
{
public string Name { get; set; }
public string Password { get; set; }
}
public class PrivateMessage
{
public long Id { get; set; }
public string Content { get; set; }
public long Stamp { get; set; }
public bool Received { get; set; }
}
所有我想要的是創建PrivateMessage的2人之間的性關係。
我創造了這樣一個暗號查詢:
// Create a message from 'Doctor B' to 'Patient B'.
MATCH (Sender:Person), (Recipient:Person)
WHERE Sender.Name = 'Doctor B' AND Recipient.Name = 'Patient B'
CREATE (Sender)-[Message:SENT {Id: 0, Content: 'Hello', Stamp: 1000, Received: false}]->(Recipient)
但我不知道如何用C#進行歸檔。 另外,我想關係只能創建爲2個節點存在,否則,它不能。
你可以看我的形象更多的細節:
正如你所看到的,我有2個實體:醫生B和患者B,我可以建立它們之間的關係SENT。
但是,如果使用此查詢:
MATCH(發件人:人),(開戶單位:人) WHERE Sender.Name = '醫生A' 和Recipient.Name = '患者A' CREATE( (收件人)
因爲沒有醫生A和患者A,所以neo4j創建了2個發送者(發件人) - [消息:SENT {Id:0,Content:'Hello',Stamp:1000,Received:false}] - >它們之間具有SENT關係的灰色節點。
我的問題是:我如何防止這種情況,我不想在此圖像中創建灰色節點。
任何人都可以幫助我嗎? 謝謝。
其實我知道懸掛線,我檢查節點存在的目標是防止懸掛線:)。 – Redplane
你永遠不可能在Neo4j上掛起一條線,這是不可能的,一段關係有一個開始和一個結束(它們可以是相同的),但它必須有兩個,而不僅僅是一個! –