Wikidata Query эквивалент в dbpedia - PullRequest
0 голосов
/ 15 января 2019

Я пытаюсь преобразовать мой SPARQL-запрос из Wikidata в DBpedia (только для образовательных целей), но он не работает. Может кто-нибудь, пожалуйста, помогите мне и скажите, что я делаю не так? Спасибо!

В http://query.wikidata.org

SELECT ?musician ?musicianLabel WHERE {
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
    ?musician wdt:P31 wd:Q5 .
    ?musician wdt:P136 ?genre .
    FILTER(?genre IN (wd:Q383982, wd:Q206159))
}
GROUP BY ?musician ?musicianLabel
ORDER BY ASC(?musicianLabel)

работает

... и в http://lod.openlinksw.com/sparql

SELECT ?musician WHERE {
    ?musician a <http://dbpedia.org/resource/Person> .
    ?musician <http://dbpedia.org/resource/Genre> <http://dbpedia.org/resource/Genre> .
    FILTER(<http://dbpedia.org/resource/Genre> IN (<http://dbpedia.org/resource/Psychedelic_Pop>, <http://dbpedia.org/resource/Psychedelic_Rock>))
}
GROUP BY ?musician
ORDER BY ASC(?musician)

не работает

1 Ответ

0 голосов
/ 15 января 2019

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

SELECT DISTINCT ?musician ?musicianlabel 
WHERE
 { ?musician a <http://dbpedia.org/ontology/Person> . 
   ?musician <http://dbpedia.org/ontology/genre> ?genre .
   OPTIONAL { ?musician <http://www.w3.org/2000/01/rdf-schema#label> ?musicianlabel . 
              FILTER ( LANGMATCHES ( LANG ( ?musicianlabel ), 'en' ) ) 
            }
   FILTER (?genre IN ( <http://dbpedia.org/resource/Psychedelic_pop> , 
                       <http://dbpedia.org/resource/Psychedelic_rock>
                     )
          )
 } 
ORDER BY ASC ( ?musician )
...