2017-05-22 80 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功能請看: