我想对节点网格上的大量流进行建模。
简单的方法是将流简单地建模为一系列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。
这必须是常见的模式,是否有任何最佳实践的建模方法?