Я пытаюсь изучить SPARQL и использую для обучения python rdflib. Я сделал несколько попыток, но любой запрос ASK всегда, кажется, возвращает мне истинный результат. Например, я пробовал следующее:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import rdflib
mygraph=rdflib.Graph();
mygraph.parse('try.ttl',format='n3');
results=mygraph.query("""
ASK {?p1 a <http://false.com>}
""")
print bool(results)
Результат верен, даже если в try.ttl нет темы типа false.com. Кто-нибудь может мне объяснить, почему? Заранее спасибо за вашу помощь!
ОБНОВЛЕНИЕ: читая руководство по rdflib, я обнаружил, что результаты относятся к списку типов и (в моем случае) должны содержать одно логическое значение с возвращаемым значением из запроса запроса. Я пробовал следующее: for x in results: print x И я получил «Нет». Полагаю, я неправильно использую метод запроса.