Neo4j中的搜索
我的web应用程序具有用户和同事关系。我想搜索与特定用户有同事关系的用户。我使用了这个查询:Neo4j中的搜索,neo4j,neo4jclient,Neo4j,Neo4jclient,我的web应用程序具有用户和同事关系。我想搜索与特定用户有同事关系的用户。我使用了这个查询: var query = _client .Cypher .Start(new { //user = Node.ByIndexLookup(IndexHelper.USER_INDEX, "Email", email)
var query = _client
.Cypher
.Start(new
{
//user = Node.ByIndexLookup(IndexHelper.USER_INDEX, "Email", email)
}
).Match(String.Format("user-[:{0}]-(coworkers)", CoWorker.TypeKey))
.Where((User coworkers) => coworkers.Email.Contains(term))
.Return<Node<User>>("coworkers");
var查询=\u客户端
塞弗先生
.开始(新)
{
//user=Node.ByIndexLookup(IndexHelper.user\u索引,“Email”,Email)
}
).Match(String.Format(“user-[:{0}]-(coworkers)”,CoWorker.TypeKey))
.Where((用户同事)=>coworkers.Email.Contains(术语))
.返回(“同事”);
但它会抛出无效的参数
Where((用户同事)=>coworkers.Email.Contains(术语))
如何用术语替换此条件以搜索同事?感谢阅读。Cypher实际上不支持这样的contains操作符,因此为什么异常会说没有.NET等价物 最接近的方法是使用正则表达式:
WHERE coworkers.Email =~ ".*something.*"
但这将是非常低效的,因为您将在每个节点上运行一个正则表达式