2013-05-13 6 views
1

나는 dbpedia 올빼미의 값을 검색하는 것을 시도하고있다 :이 페이지의 예에 영향을 : Andy_WarholSPARQL 빈 결과 : 영향을 재산

내가 작성하는 쿼리는 다음과 같습니다

PREFIX rsc : http://dbpedia.org/resource 
PREFIX dbpedia-owl :http://dbpedia.org/ontology 

SELECT ?o WHERE { 
    rsc:Andy_Warhol dbpedia-owl:infuenced ?o . 
} 

하지만 비 었어.

이상한 내가 "고향"과 같은 온톨로지 유형에서 다른 속성에 대한 동일한 쿼리를 할 때 SPARQL 엔진이 다시 결과를 제공한다는 것입니다 : dbpedia.org/resource/Pittsburgh : 다른 리소스에 대한 링크입니다

SELECT ?o WHERE { 
    rsc:Andy_Warhol dbpedia-owl:birthplace ?o . 
} 

이 쿼리를 작성하는 방법에 혼란이 있습니까?

+0

어떻게 당신이이 쿼리를 실행을 줄 수 있는가? [DBpedia SPARQL 끝점] (http://dbpedia.org/sparql)에서 실행할 때 두 쿼리에 대한 결과가 표시되지 않습니다. –

+0

접두사가 좋지 않은 것 같습니다. 당신은'http : // dbpedia.org/resourceAndy_Warhol'를 질의하고 싶지 않습니다; 당신은'http : // dbpedia.org/resource/Andy_Warhol'을 질의하고자합니다. –

답변

1

여기에 몇 가지 문제가 있습니다. 하나는 SPARQL이 올바르지 않다는 것입니다. 나는 접두어 구문을 합법적으로 만들기 위해 편집했으나 접두사는 여전히 잘못되었습니다 (그들은 최종 슬래시로 끝나지 않았습니다). 결국 http://dbpedia.org/resourceAndy_Warhol에 대해 질의하고 싶지는 않습니다. http://dbpedia.org/resource/Andy_Warhol을 쿼리하려고합니다. DBpedia 용 standard namespaces 일부는 SPARQL endpoint에 있습니다. 이 네임 스페이스와 SPARQL 엔드 포인트를 사용하여, 우리는이 쿼리를 주제로 http://dbpedia.org/resource/Andy_Warhol있는 모든 트리플 을 요청할 수 있습니다 :이 생성되는 결과에서

SELECT * WHERE { 
    dbpedia:Andy_Warhol ?p ?o . 
} 

을, 당신은 http://dbpedia.org/ontology/birthPlace (메모를 사용하여 하나를 볼 수 있습니다 캡 티브 P는 birthPlace). 그러나 검색어가 http://dbpedia.org/ontology/infuenced 인 트리플이 표시되지 않으므로 첫 번째 검색어에는 결과가 없습니다. 결과가 있어야한다고 생각할만한 이유가 있습니까?

2

@Joshua의 대답에서 다루는 몇 가지 형식 오류 외에도 찾고있는 속성 (이 경우)은에 영향을받은 항목에 이있는 것으로 보이는 의미 문제입니다.

이 쿼리는 당신에게 원하는 결과

PREFIX rsc: <http://dbpedia.org/resource/> 
PREFIX dbpedia-owl: <http://dbpedia.org/ontology/> 

SELECT ?s WHERE { 
    ?s dbpedia-owl:influencedBy rsc:Andy_Warhol . 
} 

run query