2014-10-22 2 views
3

sparql 쿼리를 올바르게 작성하는 방법을 알아 내기 위해 존재 론적 속성 관계를 파악하는 방법은 무엇입니까?Sparql 속성 필터

예를 들어 월드 시리즈에서 우승 한 메이저 리그 야구 팀을 원한다면.

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX dbpedia: <http://dbpedia.org/resource/> 
PREFIX owl: <http://dbpedia.org/ontology/> 
PREFIX db: <http://dbpedia.org/> 
PREFIX dbpprop: <http://dbpedia.org/property/> 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#broader/> 
PREFIX category: <http://dbpedia.org/resource/Category:> 
PREFIX purl: <http://purl.org/dc/terms/> 
PREFIX ps: <http://purl.org/dc/terms/subject/> 


select distinct * 
where { 
    ?team rdf:type owl:BaseballTeam . 
    { ?team rdf:type yago:MajorLeagueBaseballTeams . } 
    #{ ?team dbprop:champion dbpedia:Major_League_Baseball } 
} 

쿼리의 마지막 줄의 주석 처리를 제거하면 결과가 없습니다. 에서 상대 :

is dbpprop:champion of dbpedia:American_League 

내가 세계 시리즈 (챔피언) 수상 만 팀을 필터링 구문을 구성 할 방법이 확실하지 내가하는 방법에 대한 정말 혼란 스러워요 : http://dbpedia.org/page/Boston_Red_Sox

나는 참조 실제 검색어 접두사가 무엇인지 알아야합니다.

답변

6
is dbpprop:champion of dbpedia:American_League 

이 문장은 American_leage가 리그에서 우승 한 팀을 선언하는 재산 챔피언임을 의미합니다.

Is-Of는 범위를보고있는 리소스가있는 속성을 알려줍니다. 도메인을 클릭하면 초기 자원을 가리키는 속성을 볼 수 있습니다. American_league에 대한 dbpedia 리소스를 살펴보십시오.

그래서 원하는 결과를 얻으려면 이와 같이 쿼리를 구조해야합니다. (거의 다른 방법이 있습니다.)

PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX dbpedia: <http://dbpedia.org/resource/> 
PREFIX owl: <http://dbpedia.org/ontology/> 
PREFIX db: <http://dbpedia.org/> 
PREFIX dbpprop: <http://dbpedia.org/property/> 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#broader/> 
PREFIX category: <http://dbpedia.org/resource/Category:> 
PREFIX purl: <http://purl.org/dc/terms/> 
PREFIX ps: <http://purl.org/dc/terms/subject/> 


select distinct * 
where { 
    ?team rdf:type owl:BaseballTeam . 
    ?team rdf:type yago:MajorLeagueBaseballTeams . 
    // Like the one below 
    dbpedia:Major_League_Baseball dbprop:champion ?team 
}