SPARQL 子句 VALUES 中的重复导致无法解释的结果

问题描述

我无意中注意到,如果你编写像 https://docs.spring.io/spring-boot/docs/1.5.x/maven-plugin/examples/repackage-classifier.html

这样的 SPARQL 查询
SELECT ?id ?idLabel WHERE{
  VALUES ?id { wd:Q1  wd:Q1  }.
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}

结果有点奇怪:四行而不是预期的两行。

我知道在 VALUE 子句中写重复项很蹩脚,但我只是想知道为什么它会这样工作。有人能解释一下吗?

解决方法

这是非标准标签服务的错误。运行此查询时,您将获得 wd:Q1 的 wikibase:label 的两个结果,然后将它们添加到每个 wd:Q1。因此,当您有 2 个相同的值时,您将获得 4 行,如果您有 3 个相同的值,您将获得 9 行,以此类推。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...