我正在使用Gephi创建网络图,这里是我拥有的一小部分数据:
ID Label
1 Sleep quality
2 Stress
3 Healthy Eating
4 Tremor
5 Balance
6 Drooling
7 Exercise
8 Mood
9 Speech
10 Parkinson's On-Off
所以我希望我的图表有这10个节点。
然后对于边缘,我有:
Source Target User
1 5 5346
5 4 5346
4 7 5346
7 6 5346
6 9 5346
9 3 5346
3 2 5346
2 8 5346
8 10 5346
“用户”栏是我添加的内容,用于解释我遇到的问题。我正在使用一个大型数据库(在SQL中)来获取此数据。在移动电话应用程序上,用户可以选择10种不同的可用选项(如节点中所列)。在SQL中,我可以轻松地查询数据,以便我可以获得每个用户的10个选项。
使用边缘表格中的信息创建带边缘的图表很容易,但我也想将每个边缘连接到所有其他边缘,这对我来说很重要。例如,1连接到“目标”中的所有人。然后5连接到“目标”中的所有那些,因此直到所有节点为每个用户彼此连接。
我可以手动执行此操作,但原始数据集有2000多个用户,这将需要很长时间。我知道有一种使用交叉连接的方法,可能在Excel或SQL中...但我不确定如何做到这一点..
谢谢!
答案 0 :(得分:1)
你可以将这个交叉连接放到你的SQL中:(它会列出所有可能的Target的所有Source。)
(SELECT e.Source as Source, n.ID as Target
FROM
(SELECT DISTINCT Source FROM tblEdges) as e
cross join (SELECT DISTINCT ID FROM tblNodes) as n
) as xCross