graphClient.Cypher
.OptionalMatch("(user:User)<-[r]-()")
.Where((User user) => user.Id == 123)
.Delete("r, user")
.ExecuteWithoutResults();
并根据我的需要对其进行更改
WebApiConfig.GraphClient.Cypher
.OptionalMatch("(user:User)<-[r]-()")
.Where((User user) => user.userId == userId)
.Delete("r, user")
.ExecuteWithoutResults();
但每次我仍然可以通过
获取用户 User user1 = WebApiConfig.GraphClient.Cypher
.Match("(u:User)")
.Where((User u) => u.userId == userId)
.Return(u => u.As<User>())
.Results
.FirstOrDefault();
我做错了什么?
节点标签是
用户
属性标签是
LastName,Name,FirstName,UpdatedTime,Email,facebookId,Picture, 用户id
图表db class的定义
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "ActionApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
//Use an IoC container and register as a Singleton
var url = ConfigurationManager.AppSettings["GraphDBUrl"];
var user = ConfigurationManager.AppSettings["GraphDBUser"];
var password = ConfigurationManager.AppSettings["GraphDBPassword"];
var client = new GraphClient(new Uri(url), user, password);
client.Connect();
GraphClient = client;
}
public static IGraphClient GraphClient { get; private set; }
}
答案 0 :(得分:1)
你试过了吗?
graphClient.Cypher
.Match("(user:User)")
.OptionalMatch("(user)-[r]-()")
.Where((User user) => user.Id == 123)
.Delete("r, user")
.ExecuteWithoutResults();
我认为您的用户有出站关系,因此不会被删除为&#39; r&#39;只是入境。
答案 1 :(得分:0)
这已经很老了,但这是当前的提示:
使用def main():
letters = 'a b c d e f g h i j k l m n o p q r s t u v w x y z'
pword = input('Please enter a password')
if (len(pword)>8) and (any(x for x in pword if x.isupper())) and (any(x for x in pword if x.islower())) and (any(x for x in pword if x.isdigit())) and (any(x for x in pword if not x.isalnum())):
# good password
else:
# problem man
方法代替DetachDelete
。然后,这些关系将自动删除,而无需先搜索它们。