SPARQL构造:隐式主题/对象会影响结果



我有一个Sparql构造,例如:

CONSTRUCT
{
  ?address
    schema:addressLocality ?city;
    schema:addressCountry ?country;
    schema:streetAddress ?addressLine;
    schema:postalCode ?zip;
    schema:addressRegion ?region.
}
WHERE
{
  ?address
    schema:addressLocality ?city;
    schema:addressCountry ?country. 
  OPTIONAL { ?address schema:streetAddress ?addressLine }
  OPTIONAL { ?address schema:postalCode ?zip }
  OPTIONAL { ?address schema:addressRegion ?region }
}

我的三元组比构造明确列出了所有三重模式的情况少,而无需省略可选变量的主题(即,可能是无限的(:

CONSTRUCT
{
  ?address
    schema:addressLocality ?city;
    schema:addressCountry ?country.
  ?address schema:streetAddress ?addressLine.
  ?address schema:postalCode ?zip.
  ?address schema:addressRegion ?region.
}
...

我假设两种形式不会影响结果,但是现在我收集到的隐式主题语法实际上意味着"我想要所有扎根于此主题的图表或根本没有任何图表"。。是那样吗?该行为是由SPARQL指定的,还是它在某些引擎中实现的方式(我在Virtuoso的顶部(?

不是最终的答案,而是至少到目前为止我学到的东西。如上所述,SPARQL应该从任何一种形式返回相同的。

我怀疑问题源于以下事实:Virtuoso在查询执行时间时不会触发错误,而是默默地返回了其所达到的结果到时间截止日期。但是我也不确定这一点,因为我在我提到的链接中建议的响应中没有任何特殊的HTTP标头。

最新更新