9

我正在使用 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 。

我收到的一些结果—— owl 类查询的结果

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

4

1 回答 1

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

于 2017-05-22T13:04:22.753 回答