Я хочу смоделировать множество потоков через решетку узлов.
Простой способ - просто смоделировать поток как последовательность a flowsTo b
отношений - но возникает проблема, когда разные потоки пересекают общую точку решетки, и то, что должно остаться, когда два независимых потока сливаются во что-то менее полезное.
Таким образом, используя приведенный выше пример,
b flowsTo e
e flowsTo g
и
c flowsTo e
e flowsTo f
Опишите два потока (оранжевый и фиолетовый) - но при моделировании просто так в RDFтеряет различие между этими двумя потоками.
Альтернативой может быть наличие предикатов, специфичных для потока, таких как a flowsToNameX b
и a flowsToNameY c
, но по мере увеличения числа потоков мне нужен способ собрать все из них как одинколлекция.
Опять же, ссылаясь на диаграмму, это может выглядеть так:
a RedFlowTo d
d RefFlowTo h
b OrangeFlowTo e
e OrangeFlowTo g
c PurpleFlowTo e
e PurpleFlowTo f
Одним из способов сделать это может быть определение flowsToNameX
и flowsToNameY
как экземпляров некоторых flow
класс, но я нигде не встречал эту модель в литературе.
Это прекрасно работает для 3 потоков, но я смотрю на моделирование тысяч этих отдельных путей через одинаковое количество узлов.Итак, предикаты на уровне именованных экземпляров (т.е. потоков) хороши, но я бы хотел иметь возможность работать с ними, используя общий набор интерфейсов, чтобы я мог выражать такие понятия, как upstream
и downstream
и т. Д., И запрашивать RDFиспользуя как можно более общую форму.
Это, должно быть, обычный шаблон, есть ли лучшие подходы к его моделированию?