2017-05-22 48 views
3

我正在使用RDFLib查询Semantic Dicom Ontology。我从上面的本体构建的图中查询owl:Class。 RDFLib返回包含空白节点的结果,我希望排除这些查询。我查询 -从SPARQL查询结果中排除空白节点

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是在我的机器上下载的Semantic Dicom Ontology

一些我收到的结果 - Results of owl class queries

如何修改我的查询,以排除所有空白节点?

回答

6
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功能请看: