Я новичок в построении графика и попытаюсь понять, как контекстуальные отношения могут отображаться в них.Графики, ребра и контекстная информация
Я посмотрел на примерах, которые систематически вводить простые демки (1), например:
# I want to organize the seating arrangement for my party
# Bob does not like John, so I can say
----------- ------------
| Bob | <--- excludes --- | John |
----------- ------------
Но что, если я хочу сказать, что Боб на самом деле любит Джона, но не любит быть вокруг него, когда его сопровождает его подруга Мэри (вы знаете, они целуются все время, и вы больше не можете с ними разговаривать). Я думал о двух решениях:
# 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
Thanks Bodan! Государственный образец выглядит многообещающим. Если я хорошо пойму, целевой узел будет насыщен Джоном. Кажется, что модель государства решает одну часть проблемы. Например: если вы ищете, кого Джон исключает, когда присоединяется Мэри, я сразу же получаю Боба. Однако, когда вы ищете, кто исключает Боба, мне нужно было бы перебирать множество состояний для множества объектов. – Raphael
Извините, я больше об этом подумал. Кажется, это имеет смысл: вы просто связываете Джона и Боба, а затем проверяете, соблюдены ли условия для исключения. Благодаря! – Raphael