For now, you can’t do anything on the DB side.
If you want to have multiple information between two nodes. I recommend that you create an abstract queue between the two nodes. And within that queue are these (outsourced) relationships. It’s a way of doing it.
e.g.
{
set {
_:MONDO_0005027 <name> "MONDO:0005027" .
_:MONDO_0005579 <name> "MONDO:0005579" .
_:MONDO_0010561 <name> "MONDO:0010561" .
_:MONDO_0006748 <name> "MONDO:0006748" .
_:queue_0005027_0 <to> _:MONDO_0005027 .
_:queue_0005027_1 <to> _:MONDO_0005027 .
_:queue_0005027_2 <to> _:MONDO_0005027 .
_:queue_0005027_3 <to> _:MONDO_0005027 .
_:MONDO_0005579 <is_a> _:queue_0005027_0 (origin="MONDO") .
_:MONDO_0005579 <is_a> _:queue_0005027_1 (origin="EFO") .
_:MONDO_0010561 <is_a> _:queue_0005027_2 (origin="MONDO") .
_:MONDO_0006748 <is_a> _:queue_0005027_3 (origin="EFO") .
}
}
Query
{
q(func: eq(name, "MONDO:0005027")){
name
is_a : ~to @normalize {
~is_a @facets {
name: name
}
}
}
}
Result
{
"data": {
"q": [
{
"name": "MONDO:0005027",
"is_a": [
{
"name": "MONDO:0005579",
"~is_a|origin": "MONDO"
},
{
"name": "MONDO:0005579",
"~is_a|origin": "EFO"
},
{
"name": "MONDO:0010561",
"~is_a|origin": "MONDO"
},
{
"name": "MONDO:0006748",
"~is_a|origin": "EFO"
}
]
}
]
}
}
Facets, for now, has a lot of improvement to be done. There is a lot of open issues in the backlog. BTW, I think the issue bellow would fit your case.