【发布时间】:2020-04-02 05:05:54
【问题描述】:
我正在开发一个推荐其他用户的推荐系统。第一个结果应该是与“搜索者”用户最“相似”的用户。用户对问题的回答,以相同方式回答的问题的数量就是相似度。
问题是我不知道怎么写查询
所以用技术术语来说,我需要按具有特定属性值的边的数量对用户进行排序,我尝试了这个查询,我认为它应该可以工作,但它不起作用:
let query = g.V().hasLabel('user');
let search = __;
for (const question of searcher.questions) {
search = search.outE('response')
.has('questionId', question.questionId)
.has('answerId', question.answerId)
.aggregate('x')
.cap('x')
}
query = query.order().by(search.unfold().count(), order.asc);
抛出这个 gremlin 内部错误:
org.apache.tinkerpop.gremlin.process.traversal.step.util.BulkSet 不能转换为 org.apache.tinkerpop.gremlin.structure.Vertex
我也为每个问题尝试了多个.by(),但结果没有按巧合程度排序。
我该如何编写这个查询?
【问题讨论】:
标签: gremlin tinkerpop tinkerpop3 gremlin-server azure-cosmosdb-gremlinapi