SPARQL 1.1代数:多重集转序列的子查询模式转换疑问
SPARQL 1.1规范子查询代数表达式修正疑问
在《SPARQL 1.1规范 - 18.2.3 映射图模式示例》的子查询模式示例中,原查询及对应代数表达式如下:
{ ?s :p ?o . {SELECT DISTINCT ?o {?o ?p ?z} } }
Join( BGP(?s :p ?o) , ToMultiSet( Distinct(Project(BGP(?o ?p ?z), {?o})) ) )
疑问:由于Project操作的输入要求为序列类型的结果修饰符,是否应该在BGP求值后添加ToList调用?
基于此疑问,修正后的代数表达式如下:
{ ?s :p ?o . {SELECT DISTINCT ?o {?o ?p ?z} } }
Join( BGP(?s :p ?o) , ToMultiSet( Distinct(Project(ToList(BGP(?o ?p ?z)), {?o})) ) )
内容的提问来源于stack exchange,提问作者Median Hilal
相关产品推荐
相关产品推荐

