그래프를 처음 접했을 때 문맥 관계를 어떻게 매핑 할 수 있는지 이해하려고합니다.그래프, 가장자리 및 문맥 정보
나는 체계적으로 예를 들어 간단한 데모 (1), 소개하는 예를 살펴 보았다 : 나는 밥이 실제로 존을 좋아하는 말을하려는 경우
# I want to organize the seating arrangement for my party
# Bob does not like John, so I can say
----------- ------------
| Bob | <--- excludes --- | John |
----------- ------------
하지만, 그러나 그 때 주위에있는 좋아하지 않는다 그는 그의 여자 친구 인 Mary (당신도 알다시피 그들은 항상 키스를하고 더 이상 그들과 이야기 할 수 없다)를 동반합니다. 나는이 개 솔루션에 대해 생각했습니다 그래프에서 직접 이런 종류의 문제를 처리하기에 적합한 솔루션의 경우이 같은 어떤 예를 찾을하지 않고
# solution 1: create an intermediary node.
# now, the problem is that, if I want to know who John excludes,
# I have to look at the node John + every other node he might be the child of.
| John |
----------- ------------- -----------
| Bob | <--- excludes --- | Couple | <
----------- ------------- ------------
| Mary |
------------
# solution 2: target the edges, and make them cumulative
# here if I want to know who John excludes,
# I just have to target the node John and then check for
# additional logic (in this case, check if Mary is present too).
----------- ------------
| Bob | <--- excludes --- | John |
----------- ^ ------------
^ |
| |
excludes <---- requires (some logic here)
|
----------
| Mary |
----------
참고도 궁금. 어떤 생각? 감사.
(1) 예를 들어 neo4j에 대한, http://www.slideshare.net/thobe/django-and-neo4j-domain-modeling-that-kicks-ass/25-The_Neo4j_Graph_data_model
감사합니다. Bodan! 상태 패턴은 유망 해 보입니다. 제가 잘 이해한다면, 목표로 삼은 노드는 존의 흙탕물이 될 것입니다. 상태 패턴은 문제의 한 부분을 해결하는 것으로 보입니다. 예 : Mary가 Mary와 합류했을 때 John이 제외하는 사람을 찾고 있다면 Bob에게 즉시 문의하십시오. 그러나 Bob을 제외시킨 사람을 찾을 때 많은 객체에 대해 여러 상태를 반복해야 할 수 있습니다. – Raphael
죄송합니다. 더 생각했습니다. 그것은 완벽하게 이해되는 것처럼 보입니다 : John과 Bob을 연결 한 다음 제외 조건이 충족되는지 확인하십시오. 감사! – Raphael