2017-04-24 14 views
0

SPARQL에서 어떤 입력 이름을 제공하면 질의 결과는 그것이 영화 제목인지 아닌지를 알려주는 질의를 작성하고 싶습니다. 예 :SPARQL 쿼리를 사용하여 무언가 영화 제목인지 확인하는 방법은 무엇입니까?

select distinct ?type where { 
<http://dbpedia.org/resource/Inception> a ?type . 
FILTER regex(str(?type), "^.*movie", "i") } 

쿼리 결과는 영화임을 나타냅니다. 이제 모호한 이름을 입력하면 아무 것도 반환하지 않습니다.

예를 들어 Inception 대신 Captain_Phillips을 입력하면 아무 것도 반환하지 않습니다.

그래서 모호한 경우 이름이 영화 제목인지 여부를 얻는 방법을 궁금합니다.

+0

당신이 작동하지 않습니다 예를 들어 있나요? 또는 지금 문제는 무엇입니까? 그리고 자원이'dbo : Film' 또는'schema : Movie' 클래스에 속하는지 묻지 못할 이유가 무엇입니까? – AKSW

답변

0

http://dbpedia.org/resource/Captain_Phillips은 영화가 아닌 사람에 관한 것입니다. http://dbpedia.org/resource/Captain_Phillips_(film)은 scehma : Movie 유형입니다.

시도 :

SELECT DISTINCT 
?type 
WHERE 
{ 
<http://dbpedia.org/resource/Captain_Phillips_(film)> a ?type. 

FILTER (regex(str(?type), "^.*movie", "i")). 
} 

당신이 유일하게 결과가 존재하는지 확인하려면 다음

ASK 
{ 
<http://dbpedia.org/resource/Captain_Phillips_(film)> a ?type. 

FILTER (regex(str(?type), "^.*movie", "i")). 
}