我正在执行virtuoso sparql编辑器上的sparql查询。
html格式查询的结果正在下一行中显示每个相应记录,如下所示:
:请建议如何解决此显示问题。
这是sparql查询:
prefix DOL: <http://www.MyOnt.com/something/v1#>
prefix foaf: <http://xmlns.com/foaf/0.1/>
select ?cName ?domain ?dValues ?method ?rType{
{
?class foaf:name "MyJavaClass" .
}
{ ?class foaf:name ?cName }
union
{ ?class DOL:belongsTo ?domain }
union
{ ?class2 DOL:domainName ?dValues }
union
{ ?class DOL:hasMethod ?method }
union
{ ?class2 DOL:returnType ?rType }
}
virtuoso上的sparql输出
UNION
用于匹配替代方案,因此查询的结果将匹配UNION
加入的任何模式。如果您希望结果匹配查询中的所有三个图案,则只需对它们进行分组:
PREFIX DOL: <http://www.MyOnt.com/something/v1#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?cName ?domain ?dValues ?method ?rType
WHERE {
?class foaf:name "MyJavaClass" ;
DOL:belongsTo ?domain ;
DOL:hasMethod ?method .
?class2 DOL:domainName ?dValues ;
DOL:returnType ?rType .
}
如果您希望结果仅匹配一些三个模式,则可以使用OPTIONAL
包装结果不需要匹配的模式,例如:
PREFIX DOL: <http://www.MyOnt.com/something/v1#>
PREFIX foaf: <http://xmlns.com/foaf/0.1/>
SELECT ?cName ?domain ?dValues ?method ?rType
WHERE {
?class foaf:name "MyJavaClass" ;
DOL:belongsTo ?domain .
OPTIONAL {
?class DOL:hasMethod ?method .
}
?class2 DOL:domainName ?dValues ;
DOL:returnType ?rType .
}