Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rdf 在递归SPARQL中组合两个不同的谓词?_Rdf_Sparql_Virtuoso - Fatal编程技术网

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

Rdf 在递归SPARQL中组合两个不同的谓词?,rdf,sparql,virtuoso,Rdf,Sparql,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/

我试图为生物医学本体中的所有节点提取到顶级血统的路径。有时关系是子类,有时是部分(甚至可能是其他的)

我希望在一个查询中反映所有这些关系,但我得到了一个技巧错误:

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)
前缀bto:
前缀rdfs:
前缀1:
选择(组_concat(不同的中间实验室;分隔符=“|”)作为谱系)
哪里
{ 
{bto:bto_0000207 rdfs:子类*?mid}
联合体{bto:bto_0000207 obo1:mid的部分}。
?中间rdfs:子类*?类。
?mid rdfs:标签?midlab。
}
按血统分组
订单依据(计数(?中间)为?订单计数)

我发现了这一点,但我无法判断它是否相关:

不解决这个问题:可以用“
bto:bto|u 0000207(rdfs:subassof*| bo1:part_of*)?mid
”@AndyS替换联合体,如果我通过省略星号(rdfs:subassof | obo1:part_of)使查询成为非递归查询,效果会很好,但如果我尝试将其作为递归查询保留,我得到相同的错误消息很可能是因为它将语法重写为相同的内部形式。引擎有故障。(链接到SF今天不工作)。谢谢,你的逻辑或建议在耶拿有效。回答这个问题?不要回答这个问题:可以用“
bto:bto|u 0000207(rdfs:subassof*| bo1:part_of*)?mid
”@AndyS替换这个联合体,如果我通过省略星号(rdfs:subassof | obo1:part_of)使查询非递归的话,效果会很好,但是如果我尝试将它作为递归查询保留,我得到相同的错误消息很可能是因为它将语法重写为相同的内部形式。引擎有故障。(链接到SF今天不工作)。谢谢,你的逻辑或建议在耶拿有效。回答一下?