我使用以下简单的SPARQL查询通过Fuseki获取本体的类及其子类的列表:
SELECT DISTINCT ?subject ?object
WHERE { ?subject rdfs:subClassOf ?object }这样,我就可以看到所有类的完整URI。现在,我想查询一个特定类的子类,比如abc
我查看了查询的输出,发现焦点abc中的类的URI如下:
http://blahblahblah/file.owl#abc因此,我提出以下SPARQL查询来获取它的子类:
SELECT DISTINCT ?subject
WHERE { ?subject rdfs:subClassOf http://blahblahblah/file.owl#abc }但是输出是空的。我还尝试用单引号和双引号将URL括起来,但无济于事。
SELECT DISTINCT ?subject
WHERE { ?subject rdfs:subClassOf 'http://blahblahblah/file.owl#abc' }
SELECT DISTINCT ?subject
WHERE { ?subject rdfs:subClassOf "http://blahblahblah/file.owl#abc" }我做错了什么?
谢谢,
发布于 2013-05-22 22:56:17
syntax for IRIs in SPARQL将IRI括在尖括号中(<和>)。你的查询应该写成:
SELECT DISTINCT ?subject
WHERE { ?subject rdfs:subClassOf <http://blahblahblah/file.owl#abc> }https://stackoverflow.com/questions/16694803
复制相似问题