问题是它http://dbpedia.org/ontology/literaryGenre
不是一个owl:Class
,而是一个对象属性。实际上,在您链接到的页面http://dbpedia.org/ontology/literaryGenre上,我们读到:
简介:文学体裁
类型实体:ObjectProperty,来自命名图:http ://dbpedia.org/resource/classes#,在数据空间:dbpedia.org
文学体裁是文学作品的一个范畴。体裁可能由文学技巧、语气、内容,甚至(如小说)长度决定。
因此,您可以使用如下查询从公共端点查看书籍的文学体裁:
select distinct * where {
?book dbpedia-owl:literaryGenre ?genre .
}
limit 100
SPARQL 结果
但是,那里有用的是,您可以检查作为文学体裁属性对象的资源,例如http://dbpedia.org/resource/Adventure_Novel,在此过程中,您可以找到一些可能对您有所帮助的属性寻找更多。例如,Adventure_Novel 具有以下属性:
rdf:type yago:LiteraryGenres
dcterms:subject category:Literary_genres
dcterms:subject category:Adventure_fiction
但是,您在浏览该页面时可能还会注意到,Advenure_Novel 不仅是dbpedia-owl:literaryGenre
statements 的对象,而且也是dbpedia-owl:genre
and的对象dbpedia-owl:format
。(我忽略了旧dbpprop
属性。)所以你有两个选择:
rdf:type yago:LiteraryGenres
您可以使用类似这样的查询来查询具有或具有的事物,dcterms:subject category:Literary_genres
该查询会产生 243 个结果:
select distinct ?genre where {
{ ?genre rdf:type yago:LiteraryGenres }
UNION
{ ?genre dcterms:subject category:Literary_genres }
}
SPARQL 结果
你可以要求对象dbpedia-owl:genre
和的东西dbpedia-owl:format
(有8434个):
select distinct ?genre where {
{ [] dbpedia-owl:format ?genre }
UNION
{ [] dbpedia-owl:genre ?genre }
UNION
{ [] dbpedia-owl:literaryGenre ?genre }
}
SPARQL 结果
但是,您会注意到,在该查询中,有一些结果format
更像是发布媒体,例如,Docudrama
和Music_download
. 因此,坚持那些明确的流派可能更有意义(7940 个结果):
select distinct ?genre where {
{ [] dbpedia-owl:genre ?genre }
UNION
{ [] dbpedia-owl:literaryGenre ?genre }
}
SPARQL 结果
但是,查看这些结果,许多类型不是文学类型,而是例如音乐类型,这意味着您可能更好地只查看literaryGenre
属性(936 个结果):
select distinct ?genre where {
[] dbpedia-owl:literaryGenre ?genre
}
SPARQL 结果
基于这些结果,看起来最好dbpedia-owl:literaryGenre
的选择是选择作为陈述对象的事物。