0

我使用以下简单的 SPARQL 查询通过 Fuseki 获取本体的类及其子类的列表:

SELECT DISTINCT ?subject ?object
WHERE { ?subject rdfs:subClassOf ?object }

这样,我可以看到URI所有类的完整。现在,我想查询特定类的子类,比如abc

我查看查询的输出,我看到焦点类的 URIabc是这样的:

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" }

我究竟做错了什么?

谢谢,

4

1 回答 1

3

SPARQL中 IRI的语法将 IRI括在尖括号 (<>) 中。您的查询应写为:

SELECT DISTINCT ?subject
WHERE { ?subject rdfs:subClassOf <http://blahblahblah/file.owl#abc> }
于 2013-05-22T14:56:16.973 回答