我有以下数据:
@prefix f: <http://example.org#> .
_:a f:trait "Rude"@en .
_:a f:name "John" .
_:a f:surname "Roy" .
_:b f:trait "Crude"@en .
_:b f:name "Mary" .
_:b f:surname "Lestern" .
但是,如果我在Blazegraph中执行以下查询:
PREFIX f: <http://example.org#>
SELECT ?s ?o
WHERE
{
?s f:trait ?o .
}
我得到六个结果:
s o
t32 Crude
t37 Crude
t39 Crude
t31 Rude
t36 Rude
t38 Rude
如果空白节点_:a
和_:b
是不同的节点,我应该如何编写一个 SPARQL 查询以仅返回两个不同的结果?我试过SELECT DISTINCT
了,但它仍然返回六个结果。我试过按 分组?o
,但Blazegraph返回一个错误,说它是一个糟糕的聚合。为什么会出现这种重复元组的输出?以及如何避免?