Графика в ArangoDB може да се използва за съхраняване на хомогенни връзки или хетерогенни връзки. Ако всички релации са хомогенни и се съхраняват в една и съща колекция от ръбове, е достатъчна дефиниция на един ръб.
Дефиницията на ръба съдържа името на колекцията от ръбове, която съхранява връзките (атрибут collection
), както и имената на колекциите от върхове, на които е разрешено да съхраняват релации в колекцията от ръбове (атрибути from
и to
).
Следващият пример дефинира график с дефиниция на единичен ръб, като връзките са разрешени само между колекции от върхове users
и users
. Отношенията се съхраняват в крайна колекция с име knows
:
"edgeDefinitions" : [
{
"collection" : "knows",
"from" : [
"users"
],
"to" : [
"users"
]
}
]
Множество дефиниции на ръбове могат да бъдат декларирани за съхраняване на различни типове релации в една графика с множество колекции от ръбове, напр.:
"edgeDefinitions" : [
{
"collection" : "knows",
"from" : [
"users"
],
"to" : [
"users"
]
},
{
"collection" : "buys",
"from" : [
"users"
],
"to" : [
"products"
]
}
]
Обърнете внимание, че тук също би било възможно да се използва дефиниция на единичен край и да се съхраняват всички връзки в колекция с един край (сега наречена connections
). Имайте предвид, че все още има различни колекции от върхове (users
и products
) и някои ограничения за това как те могат да бъдат свързани:
"edgeDefinitions" : [
{
"collection" : "connections",
"from" : [
"users"
],
"to" : [
"users",
"products"
]
}
]
person
stj
schedule
21.04.2015