1

<http://dbpedia.org/ontology/Book>次のクエリを使用して、DBpedia 内のすべての書籍のリストを正常に取得できます。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX ontology: <http://dbpedia.org/ontology/> 
select distinct ?bookUri  
where { ?bookUri  rdf:type ontology:Book . } 

SPARQL の結果

<http://dbpedia.org/ontology/literaryGenre>しかし、ほぼ同じクエリでliteraryGenreを取得することはできません。

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX ontology: <http://dbpedia.org/ontology/> 
select distinct ?genreUri  
where { ?genreUri  rdf:type ontology:literaryGenre . } 

SPARQL の結果

私は完全に混乱しています。これらのクエリは、 DBpedia SPARQL エンドポイントで実行できます。

4

1 に答える 1

2

問題は、それが ではhttp://dbpedia.org/ontology/literaryGenreなくowl:Class、オブジェクト プロパティであることです。実際、リンク先のページhttp://dbpedia.org/ontology/literaryGenreには次のように書かれています。

概要: 文学ジャンル

タイプ : ObjectProperty のエンティティ、Named Graph から: http://dbpedia.org/resource/classes#、Data Space 内: 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ステートメントだけでなくdbpedia-owl:genreandのオブジェクトでもあることに気付くかもしれませんdbpedia-owl:format。(古いdbppropプロパティは無視しました。) したがって、次の 2 つのオプションがあります。

  1. 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 の結果

  2. dbpedia-owl:genreandの対象となるものを求めることができます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

于 2013-08-11T22:13:37.310 に答える