从SPARQL查询结果中排除空白节点

时间:2017-05-22 10:52:14

标签: python sparql dicom rdflib blank-nodes

我正在使用RDFLib查询Semantic Dicom Ontology。我正在查询由上述本体构建的图中的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是我机器中下载的Semantic Dicom Ontology

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

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

1 个答案:

答案 0 :(得分:9)

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函数系列: