Как получить пол лейбла для неанглийских языков в Викиданных - PullRequest
1 голос
/ 12 марта 2019

Мне было интересно, как мы можем получить пол результатов Викиданных.Например,

SELECT ?s ?sLabel 
WHERE
{
  ?s wdt:P31 wd:Q6256 ; rdfs:label ?sLabel .
   FILTER (lang(?sLabel) = 'fr') .
  } limit 10

Я хочу получить не только метки на французском языке, но и их пол, например:

Canada        Masculin
Bangladesh    Masculin
Norvège       Feminin

Есть ли способ сделать это с помощью запросов Wikidata?

1 Ответ

2 голосов
/ 13 марта 2019

SELECT ?country_label ?language_code ?gender_label {
  ?s wdt:P31 wd:Q6256 ;
     rdfs:label ?country_label .
  FILTER (lang(?country_label) = ?language_code)
  ?lexeme ontolex:sense?/wdt:P5137 ?s ;
          dct:language/wdt:P424 ?language_code .
  OPTIONAL { 
     ?lexeme wdt:P5185 ?gender .
     ?gender rdfs:label ?gender_label .
     FILTER (lang(?gender_label) = ?language_code)
  }
} VALUES (?language_code) {('de')}

Попробуйте

Дополнительная информация: https://www.wikidata.org/wiki/Wikidata:Lexicographical_data

...