Может ли Предикат быть назначен тип? - PullRequest
0 голосов
/ 18 сентября 2018

Я хочу смоделировать множество потоков через решетку узлов.

enter image description here

Простой способ - просто смоделировать поток как последовательность 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используя как можно более общую форму.

Это, должно быть, обычный шаблон, есть ли лучшие подходы к его моделированию?

...