Исключение пустых узлов из результатов запроса SPARQL

Я использую RDFLib для запроса Онтология семантического языка. Я запрашиваю owl: Class в графе, построенном на основе вышеуказанной онтологии. RDFLib возвращает результаты, содержащие пустые узлы, и я хочу исключить такие запросы. Мой запрос -

from rdflib import Graph
g = Graph()
g.parse('dicom.owl')
q = """SELECT ?c WHERE {?c rdf:type owl:Class}"""
qres = g.query(q)

dicom.owl - это семантический Dicom Ontology загружен на мою машину.

Некоторые из полученных мной результатов -  Результаты запросов класса сов

Как я могу изменить свой запрос, чтобы исключить все пустые узлы?


person Anmol Kagrecha    schedule 22.05.2017    source источник


Ответы (1)


from rdflib import Graph
g = Graph()
g.parse('dicom.owl')
q = """SELECT ?c WHERE { ?c rdf:type owl:Class .
       FILTER (!isBlank(?c)) }"""
qres = g.query(q)

Взгляните на это семейство функций SPARQL:

person Stanislav Kralin    schedule 22.05.2017