2014-10-22 1 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 } 
} 

Если я раскомментирую последнюю строку в запросе, я не получаю никаких результатов. Глядя на: http://dbpedia.org/page/Boston_Red_Sox

Я вижу:

is dbpprop:champion of dbpedia:American_League 

Я не уверен, как я бы структурировать синтаксис для фильтрации только команды, которые выиграли мировую серию (Champion), и я действительно путают о том, как узнайте, какими должны быть фактические префиксы запросов.

ответ

6
is dbpprop:champion of dbpedia:American_League 

Это предложение означает, что у American_leage есть чемпион по категории, который объявляет команды, победившие в лиге.

Is-Of просто сообщает вам, какие свойства имеют ресурс, на который вы смотрите, как диапазон. Если вы перейдете в домен, вы увидите, что у него есть свойство, указывающее на исходный ресурс. Просто взгляните на ресурс dbpedia для American_league.

Итак, вы должны структурировать свой запрос таким образом, чтобы получить желаемый результат. (У вас почти было это, это как раз наоборот)

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 
}