我一直在为此奋斗了两天,并且处于茫然之中。我试图创建节点关系,并且严重失败。创建关系
这是我创建和运行关系的代码。
var query = graphClient.Cypher
.Match("(apt_1:AttackPatterns)", "(apt_2:AttackPatterns)")
.Where((AttackPatterns apt_1) => apt_1.Id == Convert.ToInt64(apt.ID))
.AndWhere((AttackPatterns apt_2) => apt_2.Id == Convert.ToInt64(rt.Relationship_Target_ID))
.CreateUnique("(apt_1)-[:" + rtrn.ToString() + "]->(apt_2)");
query.ExecuteWithoutResults();
这里是AttackPatterns类。
public class AttackPatterns
{
public long Id { get; set; }
public string Name { get; set; }
}
在运行期间,对于查询中的值等于,在一个迭代中,为以下内容:
MATCH(apt_1:AttackPatterns),(apt_2:AttackPatterns)\ r \ nWHERE (apt_1.Id = \“1 \”)\ r \ nAND(apt_2.Id = \“122 \”)\ r \ nCREATE UNIQUE(apt_1) - [:ChildOf] - >(apt_2)
我注意到“\ r \ n”字符。我也注意到1和122左右的引号。当我将它粘贴到Neo4j网络界面中,用实际的新行替换“\ r \ n”并在引号前删除“\”转义字符时,它失败。如果我删除1和122周围的引号,它会成功创建关系。
我真的不知道我做错了什么,并希望得到任何帮助!
什么类型是'rt' ?,并且'apt'是'AttackPatterns'? –