2015-12-15 3 views
0

Я хотел получить «is dbo: wikiPageRedirects от» и использовать его как псевдоним для метки.Я хочу получить все «is dbo: wikiPageRedirects of» в dbpedia с помощью sparql

enter image description here

например:

PREFIX owl: <http://www.w3.org/2002/07/owl#> 
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#> 
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> 
PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> 
PREFIX foaf: <http://xmlns.com/foaf/0.1/> 
PREFIX dc: <http://purl.org/dc/elements/1.1/> 
PREFIX dbo: <http://dbpedia.org/ontology/> 
PREFIX : <http://dbpedia.org/resource/> 
PREFIX dbpedia2: <http://dbpedia.org/property/> 
PREFIX dbpedia: <http://dbpedia.org/> 
PREFIX skos: <http://www.w3.org/2004/02/skos/core#> 


SELECT * 
WHERE { 
    FILTER (?uri = <http://dbpedia.org/resource/Benigno_Aquino_III>) 

    OPTIONAL{ 
     ?uri rdfs:label ?label . 
     FILTER(LANG(?label) = "" || LANGMATCHES(LANG(?label), "en")) 
    } 
    OPTIONAL 
    { 
     ?uri dbo:birthDate ?birthDate . 
    } 
    OPTIONAL 
    { 
     ?uri rdfs:label "Benigno Aquino III"@en ; 
      dbo:wikiPageRedirects ?redirectsTo . 
    } 
} 

что я получаю является пустой wikiPageRedirects, но когда я использую http://dbpedia.org/resource/PNOY я получаю http://dbpedia.org/resource/Benigno_Aquino_III как redirectsTo. Я хочу сделать наоборот.

ответ

2

Отношение «dbo: wikiPageRedirects of», а не «dbo: wikiPageRedirects». В данном случае это означает, что http://dbpedia.org/resource/Benigno_Aquino_III списки ресурсов, которые имеют связь подобного

?u dbo:wikiPageRedirects http://dbpedia.org/resource/Benigno_Aquino_III 

вы должны использовать

?redirectsTo dbo:wikiPageRedirects ?uri . 
+0

Спасибо за знания Jerome! :) Теперь я понимаю, как это работает! теперь проблема заключается в том, как ограничить результат одним, а затем вставить ** redirectsTo ** внутри результата. Ну, что ж, спасибо! – user3883507