【发布时间】:2016-05-17 04:10:31
【问题描述】:
我正在制作一个用于管理聊天的应用程序。
我有 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; }
}
我只想在 2 个人之间创建与 PrivateMessage 属性的关系。
我创建了一个这样的密码查询:
// 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 关系。
但是如果我使用这个查询:
匹配(发件人:人),(收件人:人) WHERE Sender.Name = 'Doctor A' AND Recipient.Name = 'Patient A' CREATE (Sender)-[Message:SENT {Id: 0, Content: 'Hello', Stamp: 1000, Received: false}]->(Recipient)
由于没有医生 A 和患者 A,neo4j 创建了 2 个灰色节点,它们之间具有 SENT 关系。
我的问题是:如何防止这种情况发生,我不想在此图像中创建灰色节点。
谁能帮帮我? 谢谢。
【问题讨论】:
标签: neo4jclient