Вернуть свойства подключенного узла вместо RID, используя OUT () в OrientDB - PullRequest
0 голосов
/ 18 марта 2019

Я пытаюсь сохранить данные подключенного узла в свойстве выбранного узла в OrientDB через проекцию OUT (). e.g.:

SELECT *, OUT("Has_Friend") AS Friends FROM Person

Учитывая, что узел "Person" подключен к нескольким узлам "Friend" через Edge "Has_Friend", я хотел бы, чтобы фактические свойства узла Friend были сохранены в свойстве "Friends" каждого узла Person, возвращаемого этим запросом. , e.g.:

{
    "result": [
        {
            "Name": "Joe",
            "Friends": [
                {
                 "Name": "Ben",
                 "Title": "Mr."
                },
                {
                 "Name": "Stan",
                 "Title": "Dr."
                }
            ]
        },
        {
            "Name": "Tim",
            "Friends": [
                {
                 "Name": "Terrance",
                 "Title": "Esq."
                },
                {
                 "Name": "Sarah",
                 "Title": "Dr."
                }
            ]
        }
    ]
}

Однако в запросе сохраняется только RID каждого узла «Друг» в свойстве «Друзья», а не фактические данные этого узла «Друг». e.g.:

{
    "result": [
        {
            "Name": "Joe",
            "Friends": [
                "#228:1",
                "#227:1"
            ]
        },
        {
            "Name": "Tim",
            "Friends": [
                "#225:1",
                "#226:1"
            ]
        }
    ]
}

Я искал документацию OrientDB, но не уверен, как мне это сделать. Я подозреваю, что есть способ вложить запросы для этих узлов Friend в основной запрос, но я не совсем уверен, как это сделать. Любое понимание очень ценится!

1 Ответ

0 голосов
/ 20 марта 2019

попробуйте использовать функцию expand () . Это расширит документ, указанный этой ссылкой, и даст все свойства этого документа. Таким образом, ваш запрос должен выглядеть следующим образом:

SELECT expand(in("Has_Friend")) AS Friend FROM Person
...