SPARQL HTML结果在下一行中显示



我正在执行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 .
}

最新更新