2016-07-25 2 views
6

Read_Edgelist 함수는 가장자리 목록의 원래 ID를 어디에 저장합니까? 또는 어떤 속성 이름 아래에? 숫자 1,2,3이 노드의 식별자 (또는 이름)가있는 곳가장자리 목록에서 그래프를 만들 때 초기 노드의 ID

1 2 
2 1 
1 3 

:

는 내가 좋아하는 에지 목록을 읽고있다 가정합니다. iGraph (python 버전)는 이러한 ID를 어디에서 저장합니까? name 또는 id 속성에서이 Id를 검색하려고했지만이 두 속성이 명시 적으로 정의되어야하므로 작동하지 않았습니다.

+0

:

다음하면서 하나 VertexSeqVertex를 사용하여 노드 식별자를 액세스 할 수있는, 연속 된 노드 ID는 0에서 시작하는 그래프 대한 불필요한 –

+0

나는 그것을 시도하고, 'source'와 'target'을 사용하여 노드를 검색 할 수있다. 하지만 여전히 원래 ID가 저장된 위치를 알 수 없습니다! –

+0

@ M.M, 나는 노드 ID가 저장된 위치에 관한 정보를 추가하기 위해 나의 대답을 편집했다. –

답변

2

Read_Edgelist 노드 ids는 0에서 m까지의 연속 정수이며, m은 가장자리 목록의 최대 정수임을 전제로합니다. 따라서 "노드 ID를 저장할 필요가 없습니다."

예를 들어, edgelist.txt이 1 3,

import igraph as ig 
g = ig.Graph.Read_Edgelist("edgelist.txt") 
print g.get_adjacency() 

네 개의 노드와 그래프 작성이 코드의 경우 (0, 1, 2, 3) 및 인쇄

[[0, 0, 0, 0] 
[0, 0, 0, 1] 
[0, 0, 0, 0] 
[0, 0, 0, 0]] 

이보기 answer "중간"노드를 만들지 않으려면. `my_graph.es`은 그래프의 에지 순서를 표시한다

for v in g.vs: 
    print v.index # node id 
관련 문제