Поиск подграфа из графика в OrientDb - PullRequest
0 голосов
/ 09 октября 2018

Это мой график

[Person] -livesIn->  [City]
[Factory] -locatedIn-> [City]
[Person] -worksAt-> [Factory]

Как мне найти людей, которым приходится много путешествовать по работе.т.е. "Люди, работающие на фабрике, которая не находится в городе, в котором они живут".?

Я пытался сделать это:

Match 
    {class:Person, as: person} -worksAt-> {class:Factory, as: factory} -locatedIn-> {class:City, as: city},
    {how do i check, person !livesIn city }
return person

Я не думаю,Эта проблема характерна для orinentDb, поэтому не стесняйтесь, дайте мне знать, как можно решить эту проблему в любом другом GraphDB.

Я также знаком с диалектом SQL OrientDb & Gremlin.Направление / помощь на любом из языков очень ценится.

1 Ответ

0 голосов
/ 10 октября 2018

Попробуйте:

Match 
    {class:Person, as: person} -worksAt-> {class:Factory, as: factory} -locatedIn-> {class:City, as: city, where: (in("locatedIn").name <> name)}
return person.name as person

это вывод:

enter image description here

, как вы видите, только Джон возвращается:

enter image description here


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

С уважением

...