在递归SPARQL中组合两个不同的谓词?

时间:2015-07-20 12:19:43

标签: rdf sparql virtuoso

我正在尝试为生物医学本体中的所有节点提取路由到顶部的谱系。有时关系是subClassOf,有时它们是part_of(或者甚至可能是其他东西。)

我希望在单个查询中反映所有这些关系,但是我收到了一个Virtuoso错误:

Virtuoso 37000 Error SQ156: Internal Optimized compiler error : unknown table for a column dfe in sqldf.c:1451.

用于以下查询:

prefix bto: <http://purl.obolibrary.org/obo/>
prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#>
prefix obo1: <http://data.bioontology.org/metadata/obo/>
select (group_concat(distinct ?midlab ; separator = "|") AS ?lineage)
where
{ 
  { bto:BTO_0000207 rdfs:subClassOf* ?mid } 
    UNION { bto:BTO_0000207 obo1:part_of* ?mid } .
  ?mid rdfs:subClassOf* ?class .
  ?mid rdfs:label ?midlab .
}
group by ?lineage
order by (count(?mid) as ?ordercount)

我找到了这个bug report,但我不知道它是否相关:

0 个答案:

没有答案