2015-10-29 3 views
0

Я играю с SPARQL и пытаюсь запросить все прямые и косвенные влияния Стивена Кинга из dbpedia, но я не могу заставить запрос работать.Querying Transitive Relations

Я видел, что обычно можно использовать «+» для запроса транзитивных отношений, но запрос, который я написал, возвращает точно так же, как запрос, который игнорирует транзитивные отношения. Вот что я пробовал: query-transitive-influencedBy

Другое, что я пробовал, который работает (по крайней мере частично): query-transitive-influencedBy-v2. Это работает, однако у него есть два недостатка: 1. Возвращает людей, которые повлияли на Стивена Кинга, но также оказывают влияние на отношение самих себя. И при этом уменьшается общее количество возвращаемых данных. 2. Возвращает данные только для прямых и косвенных влияний на один уровень.

Каким будет правильный способ запроса таких данных?

+2

Ваш первый запрос работает для меня на http://dbpedia.org/sparql вместо интерфейса SNORQL. – AKSW

+0

Действительно, он работает правильно. Это очень странно, потому что оба интерфейса должны теоретически возвращать одно и то же, потому что я думаю, что они используют одну и ту же конечную точку. – Ivo

+1

Я согласен с вами, разные пользовательские интерфейсы должны возвращать тот же результат. Возможно, вы можете сообщить об этом как об ошибке, хотя я не уверен, где. – AKSW

ответ

1

В старой версии http://dbpedia.org/snorql возникла проблема с кодировкой, из-за которой фильтр был отфильтрован. Я исправил проблему.

+0

Спасибо, Патрик, теперь проблема исправлена. Запрос возвращает тот же результат, что и другая конечная точка. – Ivo