2017-03-10 19 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