2017-03-10 3 views
-1

SPARQLを使用して、私はすべての英語の小説とそのプロパティのリストを取得しようとしています。DBPEDIAでSPARQLを使用して英語の小説に基づいた映画を入手する方法

また、その小説に基づいて映画が撮影されたかどうかを調べ、ムービー関係が存在する場合は映画名とそのディレクターを取得することもできます。

コード:あなたはこのようなあなたのクエリを変更する場合は、正しい結果の多くを得ることができ

SELECT ?movie ?director ?book ?author ?publisher ?illustrator 
WHERE { 
?movie dcterms:subject <http://dbpedia.org/resource/Category:films> ; 
     dbpedia-owl:basedOn  ?book . 
?movie dbp:director ?director . 

?book a dbpedia-owl:Book . 
?book dbp:author ?author . 
?book dbp:publisher ?publisher . 
?book dbp:illustrator ?illustrator . 

} 
limit 200 
+0

あなたが試したことで何がうまくいかなかったのですか? –

+0

は見た目に似ていますhttp://stackoverflow.com/questions/41770201/fetching-a-list-of-books-adapted-into-films-from-dbpedia – TallTed

+0

ムービーパートを追加したら、結果は得られませんでした。質問...おそらく、私はこのカテゴリでいくつかの間違いをしていました:映画の部分.. – VKB

答えて

1

...

PREFIX  dcterms: <http://purl.org/dc/terms/> 
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 
PREFIX   dbp: <http://dbpedia.org/property/> 

SELECT ?book ?author ?movie ?director ?publisher ?illustrator 
WHERE { 
?book a dbpedia-owl:Book . 
    OPTIONAL {?book dbp:author ?author .} 
    OPTIONAL {?book dbp:publisher ?publisher .} 
    OPTIONAL {?book dbp:illustrator ?illustrator .} 
    OPTIONAL {?book ^dbpedia-owl:basedOn ?movie . ?movie a dbpedia-owl:Film } 
    OPTIONAL {?movie dbp:director ?director .} 
} 
LIMIT 200 

...しかし、多くがあることを心に留めておきますdbpedia-owl:Filmとして分類されていない映画。もちろん、他の人気のある分類でunionを作成しますが、書籍に基づいたムービーがないことは保証されません。これは省略されません。

「英語の小説」とは、元々英語で書かれたものや英語の著者によるものです。

+0

私は元々英語で書かれたそれらの小説を意味しました – VKB

関連する問題