Я экспериментирую с dgraph, и до сих пор моя самая большая проблема - создать грань между двумя объектами без предварительного знания их идентификаторов (для массовой загрузки). Пример - давайте иметь два типа - родительский и дочерний, единственное отличие состоит в том, что дочерний элемент всегда является листовым узлом, поэтому схема может выглядеть примерно так:
<name>: string .
<age>: int .
<children>: [uid] .
type Parent {
name
age
children
}
type Child {
name
age
}
Теперь я хотел бы вставить три узла - два родителя. и один ребенок - и создайте грань между ними, используя один запрос, без предварительного запроса uid. Я представляю что-то вроде этого:
{
"set": [
{
"name": "Kunhuta",
"age": 38,
"dgraph.type": "Parent"
},
{
"name": "Vendelin",
"age": 41,
"dgraph.type": "Parent"
},
{
"name": "Ferko",
"age": 14,
"dgraph.type": "Child",
"Parent": [
{
"name": "Kunhuta"
},
{
"name": "Vendelin"
}
]
}
]
}
(Предположим, имена являются уникальными идентификаторами типов)
Возможно ли как-то сделать это в dgraph?