2
this 질문에 영감을 받아 JSON에서 DAG를 표현하려고합니다. 내 경우에는 일부 데이터가 들어있는 가장자리와 노드가 포함됩니다 (이 예와 같이 문자열이 아님). 나는이 같은 사양의 생각 : 내가 가진JSON에서 그래프 표현하기
{
"graph": {
"a": ["b", "c"],
"b": ["c"]
"c"
},
"nodes": {
"a": {
"name": "Adam"
},
"b": {
"name": "Bob"
},
"c": {
"name": "Caillou"
}
},
"edges": {
// how to do the same for edges?
// ie: how to query edges ?
}
}
하나의 아이디어가 가장자리의 키는 연결하는 두 개의 정점 식별자의 연결이 될 수 있도록했다. 예를 들어 ab
, ac
및 bc
은이 그래프의 세 모서리입니다. 이 작업을 수행하는 데 더 표준적인 방법이 있는지 알고 싶습니다.
편집은 다음 DAG의 가장자리가 데이터를 저장하기 때문에이 내가 지금
{
"graph": {
"a": {
"data": {
// a's vertex data
},
"neighbors": {
"b": {
"data": {
// data in edge ab
}
},
"c": {
"data": {
// data in edge ac
}
}
}
},
"b": {
"data": {
// b's vertex data
},
"neighbors": {
"c": {
"data": {
// data in edge bc
}
}
}
},
"c": {
"data": {
// c's vertex data
}
}
}
}
덕분에 응답, 나는이 일을 고려할 것입니다,하지만 어떻게 든 내가 수동으로 그래프를 만들려면 좀 성가신 것 에지 ID를 생성해야합니다 의미합니다. 내 편집에 대해 어떻게 생각하세요? – Carpetfizz
@Carpetfizz, 두 정점 id를 에지 ID로 결합하는 것은 확실히 합법적입니다. 그것을 위해 가라. – snakile
정말 고마워! 당신이 유효한 대답을 한 이후에도 당신을 받아 들일 것입니다. 파이썬 라이브러리 인 networkx와 같은 모델을 만들고 싶었다. – Carpetfizz