【发布时间】:2017-04-24 19:56:08
【问题描述】:
我有一个节点和一个关系
class User
include Neo4j::ActiveNode
property :first_name
end
class Connection
include Neo4j::ActiveRel
include Enumable
creates_unique
from_class 'User'
to_class 'User'
type 'connected_to'
property :status, type: Integer, default: 0
end
我想从 User1 中找到尚未与 User1 连接的二级连接用户
User.find(1).query_as(:s)
.match('(s) - [r1 :connected_to] - (mutual_friend)
- [r2 :connected_to] - (friends_of_friend: `User`)')
.match('(s)-[r4:connected_to]-[friends_of_friend]')
.where('r1.status = 1 AND r2.status = 1 AND r4 IS NULL')
.pluck('DISTINCT friends_of_friend.uuid').count
但是每次我也尝试使用可选匹配时,这给了我 0 个结果,但它给出了一个巨大的数字,对此有什么帮助吗??
【问题讨论】:
标签: ruby-on-rails neo4j neo4j.rb