SPARQL 不同行中的相同值

SPARQL same values in different rows

假设我有一个项目列表,其中一个项目依赖于一个类别,而另一个项目依赖于同一类别。

综上所述,i1依赖于c1,i2依赖于c1。

我想查看所有 i1、i2 和 c1 行,此语句:

PREFIX shop: <someurl>
SELECT  ?i1_name ?i2_name ?c_name
{
?i1 shop:depends ?c.
?i2 shop:depends ?c.
?i1 shop:name ?i1_name.
?i2 shop:name ?i2_name.
?c shop:cat_name ?c_name
FILTER(?i1 != ?i2)
}

Returns

i1_name, i2_name, c_name
i2_name, i1_name, c_name

我想看到的只是一行。我怎样才能做到这一点?

谢谢。 亲切的问候

不确定,但也许你应该更换

FILTER(?i1 != ?i2)

来自

   FILTER(?i1 < ?i2)

看看会发生什么。