Странное совпадение SPARQL-паттерна в 4store? - PullRequest
2 голосов
/ 17 августа 2011

Предположим, у меня есть база RDF, содержащая 4 тройки:

"John"  "loves" "sushi"
"John"  "loves" "Mary"
"Frank" "hates" "sushi"
"John"  "hates" "olives"

и скажем, я считаю "суши" такой странной вещью, что мне хотелось бы знать, что именно люди могут с ней делать, и даже больше что еще они могут применить одно и то же действие к =)

Поэтому я пишу SPARQL-запрос, который кажется мне логичным:

SELECT ?s ?o WHERE
{
  ?s ?p "sushi".
  ?s ?p ?o
}

естественно ожидая получить следующий результат

"John"  "sushi"
"John"  "Mary"
"Frank" "sushi"

потому что для каждой из первых трех тройок существует удовлетворительная пара (? S,? P) значений, которая делает объединенный шаблон равным TRUE.

Но на самом деле (я использую локальный 4store engine & DB) ответ такой:

"John"  "sushi"
"John"  "Mary"
"Frank" "sushi"
"John"  "olives"

Может кто-нибудь объяснить мне это поведение?

И если это действительно так, как должно работать в SPARQL, то как мне получить то, что мне нужно?

1 Ответ

1 голос
/ 17 августа 2011

Хммм, похоже, что это может быть ошибкой в ​​4store, поскольку я только что проверил это в четырех различных независимых реализациях SPARQL - Jena ARQ, dotNetRDF Leviathan, OpenLink Virtuoso и Clark & ​​Parsia's Stardog - и все они возвращают ответ ваможидали.

И, как само собой разумеющийся гайка SPARQL, я думаю, что вы ожидаете, правильный ответ.

Я бы предложил связаться с парнями из 4store, используя их список рассылки поддержки- http://groups.google.com/group/4store-support?pli=1

Обратите внимание, что это может быть не ошибка непосредственно в 4store, а ошибка в базовой библиотеке запросов rasqal, но я не знаю достаточно о 4store, чтобы сказать вам так или иначе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...