0

我的 Web 应用程序具有用户和同事关系。我想搜索与特定用户有同事关系的用户。我使用了这个查询:

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");

但它会在

Where((User coworkers) => coworkers.Email.Contains(term)).

如何用术语替换此条件以搜索同事?谢谢阅读。

4

1 回答 1

1

Cypher 实际上并不支持这样的 contains 运算符,因此为什么异常说没有 .NET 等价物。

您可以做的最接近的是使用正则表达式:

WHERE coworkers.Email =~ ".*something.*"

但这将是非常低效的,因为您将在每个节点上运行一个正则表达式。

于 2013-10-25T22:50:31.007 回答