У меня есть следующие данные:
@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 возвращает ошибку, говоря, что это неверный агрегат. Почему происходит такой вывод повторяющихся кортежей? И как этого избежать?
_:a
в вашем первом обновлении не совпадает с_:a
во втором обновлении. - person Stanislav Kralin   schedule 11.06.2017a current transaction
? Почему второе обновление не отменяет первое? Кажется, что данные сохраняются в памяти. Может ли это быть связано с Java GC? Кроме того, если вы можете написать свой ответ в разделе ответов, чтобы я мог принять его как решение :) - person Gitnik   schedule 11.06.2017