【发布时间】:2018-03-28 09:48:47
【问题描述】:
这是我的表“graphtable”,其中包含图形节点。每个元组代表一条无向边。
╔═════════╦═════════╗
║ NODEONE ║ NODETWO ║
╠═════════╬═════════╣
║ A ║ A ║
║ A ║ A ║
║ A ║ B ║
║ A ║ B ║
║ A ║ A ║
║ C ║ D ║
║ C ║ A ║
║ D ║ E ║
║ A ║ E ║
║ D ║ A ║
║ G ║ K ║
║ G ║ G ║
║ K ║ K ║
║ K ║ L ║
║ L ║ M ║
║ Y ║ M ║
║ G ║ L ║
║ G ║ L ║
║ X ║ Z ║
║ D ║ D ║
║ I ║ I ║
╚═════════╩═════════╝
如您所见,此表中有四个不同的无向图。
- 节点(A、B、C、D、E)
- 节点(L、K、G、M、Y)
- 节点(一)
- 节点(X,Z)
我尝试了类似于下面发布的查询;
select nodeone,nodetwo
from
graphtable
start with NODEONE='D'
connect by nocycle prior nodeone=nodetwo
我也可以使用递归查询来遍历图形。
但是,如果我从特定图形中的任何节点开始,我需要获取特定图形中涉及的所有元组。但是,我没有从我的任何查询中得到该结果。
从 nodeone='A' 开始;似乎返回了所有边缘,但边缘“D-D”不存在。从 nodeone='D' 开始;似乎没有返回任何接近以前的结果。
请帮忙.. 我提前感谢任何帮助。 谢谢。
【问题讨论】:
-
这可能没有帮助,但在关系数据库中实现图形并不理想。特别是当有针对它们优化的 DBMS 时,例如新4J。如果您对图表感兴趣,那么我建议您看看。
-
谢谢。明白你的意思。当然我会看看 Neo4j。
标签: sql oracle graph-theory hierarchical-query