반응형
OQGRAPH 쿼리에서 노드 간의 관계를 선택할 수 있습니까?
MariaDB https://mariadb.com/kb/en/library/oqgraph-storage-engine/ 용 OQGRAPH 스토리지 엔진을 사용하고 있으며 노드 간의 관계를 구현하고 싶습니다.
https://mariadb.com/kb/en/library/oqgraph-examples 을 기반으로 한 예시 데이터:
표: 사람들_관계
origid destid relationship
1 2 friend
2 3 friend
3 4 friend
4 5 father
2 6 mother
5 6 sibling
1에 대한 모든 destid 노드를 쿼리할 때:
SELECT * FROM people_graph g
WHERE g.latch='dijkstras' AND g.origid=1;
각 노드에 대한 최단 경로를 순서대로 가져옵니다.
latch origid destid weight seq linkid
dijkstras 1 NULL 4 6 5
dijkstras 1 NULL 3 5 4
dijkstras 1 NULL 2 4 6
dijkstras 1 NULL 2 3 3
dijkstras 1 NULL 1 2 2
dijkstras 1 NULL 0 1 1
하지만 어떤 노드가 관계로 이어지는지도 알고 싶습니다.즉,관계(previd)의 원래 노드(이름이 previd)입니다.
예:
latch origid destid weight seq linkid previd
dijkstras 1 NULL 4 6 5 4
dijkstras 1 NULL 3 5 4 3
dijkstras 1 NULL 2 4 6 2
dijkstras 1 NULL 2 3 3 2
dijkstras 1 NULL 1 2 2 1
dijkstras 1 NULL 0 1 1 NULL
결과를 특수 관계로 제한할 수 있습니다.
SELECT * FROM people_graph g
JOIN people_relationships d ON d.destid = g.linkid AND d.origid = g.previd
WHERE g.latch='dijkstras'
AND g.origid=1
AND d.relationship='friend';
친구와 친구는 돌아오고 친구는 돌아오고 가족은 없습니다.
언급URL : https://stackoverflow.com/questions/49680173/is-it-possible-to-select-the-relationship-between-to-nodes-in-a-oqgraph-query
반응형
'programing' 카테고리의 다른 글
스프링 기반 SockJS/STOMP 웹 소켓이 있는 JSON 웹 토큰(JWT) (0) | 2023.09.20 |
---|---|
스캔f() 발행전 C/C++ printf() (0) | 2023.09.20 |
VBA를 사용하여 명명된 범위를 정의하려면 어떻게 해야 합니까? (0) | 2023.09.20 |
MySQL/MariaDB의 다중 조인에서 값이 가장 낮은 요소 선택 (0) | 2023.09.20 |
wp-config.php에 기본 인증 키 값을 그대로 둔 경우 해커가 데이터베이스에 액세스할 수 있습니까? (0) | 2023.09.20 |