es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtener descripciones de elementos en Wikidata mediante Sparql.

Estoy siguiendo la documentación de MWAPI (https://www.mediawiki.org/wiki/WikidataQueryService/UserManual/MWAPI#Findallentitieswithlabels%22cheese%22andgettheirtypes) y tengo la siguiente consulta:

SELECT * WHERE {
  SERVICE wikibase:mwapi {
      bd:serviceParam wikibase:endpoint "www.wikidata.org";
                      wikibase:api "EntitySearch";
                      mwapi:search "python";
                      mwapi:language "en".
      ?item wikibase:apiOutputItem mwapi:item.
      ?label wikibase:apiOutputItem mwapi:label.
      ?num wikibase:apiOrdinal true.
  }
} 
ORDER BY ASC(?num) LIMIT 10

También quiero recuperar la descripción del elemento de Wikidata, pero no sé cómo obtenerla. He intentado agregar la siguiente línea ?description wikibase:apiOutputItem mwapi:description, pero parece ser una propiedad inválida en la API. ¿Cómo puedo obtenerla y dónde puedo encontrar esto en la documentación?

Consulta reproducible aquí: https://query.wikidata.org/#SELECT%20%2a%20WHERE%20%7B%0A%20%20SERVICE%20wikibase%3Amwapi%20%7B%0A%20%20%20%20%20%20bd%3AserviceParam%20wikibase%3Aendpoint%20%22www.wikidata.org%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20wikibase%3Aapi%20%22EntitySearch%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mwapi%3Asearch%20%22python%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mwapi%3Alanguage%20%22en%22%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20mwapi%3Adescription%20%3Fdescription.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20?item%20wikibase%3AapiOutputItem%20mwapi%3Aitem.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20?label%20wikibase%3AapiOutputItem%20mwapi%3Alabel.%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20?num%20wikibase%3AapiOrdinal%20true.%0A%20%20%7D%0A%7D%20%0AORDER%20BY%20ASC%28?num%29%20LIMIT%2010

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para recuperar la descripción de un elemento de Wikidata en la consulta MWAPI, puedes utilizar la propiedad mwapi:description de la siguiente manera:

    ?description wikibase:apiOutputItem mwapi:description.
    

    Sin embargo, la propiedad mwapi:description no está disponible en el punto final MWAPI para Wikidata. En su lugar, puedes utilizar el punto final del Servicio de Consulta de Wikidata (WDQS) e incluir la propiedad schema:description en la consulta para obtener la descripción del elemento. Aquí tienes un ejemplo de consulta:

    SELECT * WHERE {
      SERVICE wikibase:mwapi {
          bd:serviceParam wikibase:endpoint "www.wikidata.org";
                          wikibase:api "EntitySearch";
                          mwapi:search "python";
                          mwapi:language "en".
          ?item wikibase:apiOutputItem mwapi:item.
          ?label wikibase:apiOutputItem mwapi:label.
          ?num wikibase:apiOrdinal true.
      }
    
      SERVICE wikibase:label {
          bd:serviceParam wikibase:language "en" .
          ?item rdfs:label ?itemName .
          ?description schema:description ?desc .
      }
    
    } 
    ORDER BY ASC(?num) 
    LIMIT 10
    

    Ten en cuenta que en la consulta anterior hemos agregado un bloque SERVICE wikibase:label para obtener la etiqueta y descripción del elemento utilizando las propiedades rdfs:label y schema:description, respectivamente. También hemos especificado que el idioma sea “en” utilizando bd:serviceParam wikibase:language "en" ..

Comments are closed.