SPARQL: запрос графа по умолчанию

С помощью языка запросов RDF SPARQL я пытаюсь найти способ выполнить логический запрос (или любой другой запрос) для чего-либо, кроме именованного графа.

ASK { GRAPH null { ?s ?p ?o } }

Не могу найти никакой документации по поиску конкретно в пустом именованном графике. Также пробовал заменить null на <>, empty и (ничего).


person Neil Graham    schedule 01.11.2018    source источник
comment
ASK { ?s ?p ?o } не работает должным образом? Какой у вас тройной магазин?   -  person Stanislav Kralin    schedule 01.11.2018
comment
Я использую Allegrograph 6.1.5. Проблема, которую я вижу с этим запросом, заключается в том, что он возвращает True, если тройка также существует в определенном именованном графе.   -  person Neil Graham    schedule 01.11.2018
comment
Попробуйте ASK { GRAPH DEFAULT { ?s ?p ?o } }. Если это не работает, то SELECT FROM DEFAULT {?s ?p ?o} возвращает то, что вам нужно?   -  person Stanislav Kralin    schedule 01.11.2018
comment
И, возможно, вы могли бы просто добавить PREFIX franzOption_defaultDatasetBehavior: <franz:rdf> в начало исходного запроса.   -  person Stanislav Kralin    schedule 01.11.2018
comment
Спасибо! SELECT * FROM DEFAULT {?s ?p ?o} работал для запроса пустого именованного графа.   -  person Neil Graham    schedule 01.11.2018


Ответы (1)


Этот запрос будет искать триплеты в графе по умолчанию, а затем удалять те, которые также находятся в именованном графе:

SELECT ?s ?p ?o {
   ?s ?p ?o 
   FILTER NOT EXISTS { GRAPH ?g { ?s ?p ?o } }
}
person AndyS    schedule 01.11.2018