Получение связанных деталей вершин и ребер из известной вершины - PullRequest
0 голосов
/ 14 ноября 2018

Я создал класс в Pyorient OGM

class Movie(Node):
    element_plural = "Movies"
    title = String(mandatory=True,indexed=True)
    rating = Short()
class Person(Node):
    element_plural = "Person"
    name = String(mandatory=True,indexed=True)
class ACTS_IN(Relationship):
    element_plural = "ACTS"
    name = String()
    out_ = Link(linked_to=Person,mandatory=True)
    in_ = Link(linked_to=Movie,mandatory=True)
class PRODUCED(Relationship):
    element_plural = "Producers"
    out_ = Link(linked_to=Person,mandatory=True)
    in_ = Link(linked_to=Movie,mandatory=True)

Как мне вернуть все детали конкретного фильма с актерами и продюсерами. Должен ли я назвать несколько запросов для получения подробной информации о фильме, актерах и продюсерах?

Выберите * из фильма, где title = 'Test'

выберите раскрыть (ine ()). in () из фильма, где title = 'Test'

Не будет ли работать как для внешнего ключа?

Ответы [ 2 ]

0 голосов
/ 23 ноября 2018

Если вы используете ориентированную БД 3.0 или более позднюю версию, используйте следующий запрос, чтобы получить сведения о вершине и связанной вершине

select *, ACTS_IN:{*} as actorDetails, PRODUCED:{*} as producerDetailss from Movie where title= "Test"
0 голосов
/ 15 ноября 2018

Попробуйте:

select title, in("ACTS_IN").name as actors, in("PRODUCED").name as producers from Movie where title= "Test"


Надеюсь, это поможет

С уважением

...