我正在尝试从本体上编写一个SPARQL查询,该查询从给我这样的结果开始:
通过以下查询获得:
PREFIX vg: <http://example.org/vg/>
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#>
SELECT ?path (GROUP_CONCAT(?sequence ; separator='') AS ?pathSeq)
WHERE
{ ?step vg:path ?path ;
vg:node ?node ;
vg:rank ?rank .
?node rdf:value ?sequence
}
GROUP BY ?path
ORDER BY ASC(MAX(?rank))
如您所见,我有一个key:value项目表(让我以一种简单的方式对其进行描述),其中key是 path 而值是 pathSeq 。
所以,从
开始path_A | pathSeq_A
; path_B | pathSeq_B
; path_C | pathSeq_C
; 我需要做的是编写一个SPARQL查询,以便对每个路径具有所有可能的 distinct 组合:
[path_A | pathSeq_A - path_B | pathSeq_B]
; [path_A | pathSeq_A - path_C | pathSeq_C]
; [path_B | pathSeq_B - path_C | pathSeq_C]
; 您可以在see an example中输入所需的输出
上提供了我正在使用的RDF