0

我想构建一组实例的知识图,其中每个实例本身就是有序子实例的集合。举个简单的例子,假设我的实例是弹珠链,{CHAIN1, CHAIN2, CHAIN3, ...}子实例是彩色弹珠{CHAIN1: YELLOW-RED-BLUE-RED; CHAIN2: BLUE-YELLOW-GREEN; CHAIN3: GREEN-RED-BLUE-RED}

澄清一下,不正确的方法会定义 CHAIN1 如下所示:

:CHAIN1 :has_marble :YELLOW, :RED, :BLUE, :RED

但查询这个显然只会产生“一袋弹珠”的情况。

我希望能够:

  1. 查询知识图,以便我可以按正确顺序取回每个链的弹珠。
  2. 匹配不同链之间的弹珠序列。例如,我可能想获取所有将序列:RED-:BLUE-:RED作为子序列的链(即CHAIN1CHAIN3)。

问题:

  1. 构建此知识图谱的最佳方式是什么?我应该使用 rdf:first/rdf:rest 将弹珠存储为 RDF 序列吗?还是有更好、更灵活的选择?如果可能的话,我希望能够定义弹珠之间的关系类型,比如说:RED :is_followed_by :BLUE
  2. 我追求的图形匹配类型是否可能?如果我想使用一些描述每个弹珠的属性来匹配序列呢?说, :BLUE :has_shape :SQUARE, 并按形状匹配弹珠的顺序?

注意:我真正想要建模的是 DNA 和蛋白质序列链,所以如果有人对此类应用有具体建议,那将更有帮助。

4

0 回答 0