У меня есть два Neo4j Узлов и одно отношение:Neo4j Cypher: Как извлечь узлы с условным запросом на оздание
class StayPal
include Neo4j::ActiveNode
has_many :in, :places, origin: :owner
has_many :in, :shared_places, rel_class: 'HouseMate'
end
class Place
include Neo4j::ActiveNode
has_one :out, :owner, type: :owner_of, model_class: 'StayPal'
has_many :out, :house_mates, rel_class: 'HouseMate'
end
class HouseMate
include Neo4j::ActiveRel
include Enumable
creates_unique
from_class 'Place'
to_class 'StayPal'
type 'shared_with'
property :status, default: 0
enum_attr status: [:pending, :approved, :declined, :cancelled]
end
Цель: Моя цель получить места & shared_places из staypal вместе, но общие места, включенные если они статус == утверждены
Запрос:
Neo4j::Session.current.query
.match(n: { StayPal: { user_id: 1 } })
.match('n<-[rel1:`owner_of`]-(result_places:`Place`)')
.match('n<-[rel2:`shared_with`]-(result_places1:`Place`)')
.pluck(:result_places1, :result_places)
С этим я получаю места и общие места staypal
Но я хочу, общие места, где статус = 1
измененный запрос
Neo4j::Session.current.query
.match(n: { StayPal: { user_id: 1 } })
.match('n<-[rel1:`owner_of`]-(result_places:`Place`)')
.match('n<-[rel2:`shared_with`]-result_places1:`Place`)')
.where('result_places1.status = 1')
.pluck(:result_places1, :result_places)
Но с этим я получаю нет записей
Некоторые другие порция запросы
Neo4j::Session.current.query
.match(n: { StayPal: { user_id: 1 } })
.match('n<-[rel1:`owner_of`]-(result_places:`Place`)')
.match('n<-[rel2:`shared_with`]-result_places1:`Place`)')
.where('result_places1.status = 1')
.pluck(:result_places1)
Выход:
[CypherRelationship 1239]
(извините, если этот ответ не совсем на месте, я должен был ответить очень быстро. Вы также можете отказаться от нашего канала Gitter, если у вас есть другие вопросы https://gitter.im/neo4jrb/neo4j) –
yes Мне нужно, чтобы у двух или более человек, один и тот же дом, и один будет тем, и другие люди придут, хотя invitati на котором у нас есть другой статус (одобрение/отклонение) .......... Прежде чем добавить это несколько пользователей в один дом, у меня было только одно место, один владелец вида функционала, у которого уже есть база данных .. любая помощь для работы с этим запросом ........... Я хочу, чтобы пользователи имели свои собственные места, а также делились с ним другими владельцами? –
Только что сделал редактирование, посмотрите –