Использование сервиса меток Wikidata в федеративных запросах - PullRequest
0 голосов
/ 26 октября 2018

Мне интересно, возможно ли использовать сервис меток Wikidata в федеративном запросе.Например, следующий запрос

# Query from a local SPARQL enpoint

select ?item ?itemLabel
where {
    SERVICE <https://query.wikidata.org/sparql> {
        ?item wdt:P31 wd:Q146.
        SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
    }

}

возвращает пустое значение ?itemLabel с.Как я также могу получить ?itemLabel с в моем наборе результатов?

Ответы [ 2 ]

0 голосов
/ 29 октября 2018

Вы также можете использовать ручной режим , в вашем случае это всего на одну строку больше:

PREFIX       wdt:  <http://www.wikidata.org/prop/direct/>
PREFIX        wd:  <http://www.wikidata.org/entity/>
PREFIX        bd:  <http://www.bigdata.com/rdf#>
PREFIX  wikibase:  <http://wikiba.se/ontology#>
PREFIX      rdfs: <http://www.w3.org/2000/01/rdf-schema#>

SELECT * {
  SERVICE <https://query.wikidata.org/sparql> {
    ?item wdt:P31 wd:Q146
    SERVICE wikibase:label { bd:serviceParam wikibase:language "it". ?item rdfs:label ?label }
  }
}

Попробуйте FactForge

0 голосов
/ 26 октября 2018

Включите некоторые вещи, которые являются номинально необязательными ... Вот полный запрос Я только что пробежал URIBurner.com , и его результаты .

PREFIX       wdt:  <http://www.wikidata.org/prop/direct/>
PREFIX        wd:  <http://www.wikidata.org/entity/>
PREFIX        bd:  <http://www.bigdata.com/rdf#>
PREFIX  wikibase:  <http://wikiba.se/ontology#>

SELECT *
WHERE
  {
    SERVICE <https://query.wikidata.org/sparql>
      {
        SELECT ?item ?itemLabel 
        WHERE 
          {
            ?item wdt:P31 wd:Q146 .
            SERVICE wikibase:label
              { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
          }
      }
  }
...