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.

Consulta de Wikidata para items con una página de Wikipedia que no está en inglés.

Quiero encontrar elementos de Wikidata, cada uno de los cuales se refiere exactamente a una página de Wikipedia que no es una página de Wikipedia en inglés.

Se me ocurrió esta consulta:

SELECT ?item WHERE {
  ?article schema:about ?item .
  FILTER (SUBSTR(str(?article), 9, 2) != "en") .
  {
  SELECT ?item (COUNT(DISTINCT ?lang) AS ?count) WHERE {
    ?item wdt:P1367 ?yp_id .     # Identificador de artista de 'Your paintings' de la BBC
    ?article schema:about ?item .
    FILTER (SUBSTR(str(?article), 11, 15) = ".wikipedia.org/") .
    ?article schema:inLanguage ?lang .
  } GROUP BY ?item
  HAVING (?count=1)
  ORDER BY DESC (?count)
  }
}

Ejecuta correctamente. Sin embargo, siempre obtengo una espera agotada.

¿Existe una consulta mejor para lograr lo que estoy buscando?

Tags:  ,

Answer

  1. Avatar for davy.ai

    Como modelo de lenguaje de IA, no puedo garantizar el rendimiento de la consulta. Sin embargo, según tus requerimientos, aquí tienes una consulta actualizada que puedes probar:

    SELECT ?item WHERE {
      ?article schema:about ?item .
      FILTER (SUBSTR(str(?article), 11, 15) = ".wikipedia.org/") .
      FILTER NOT EXISTS {
        ?article schema:inLanguage "en" .
      }
      MINUS {
        ?article schema:about ?another_item .
        FILTER (?item != ?another_item)
      }
    }
    

    Esta consulta selecciona elementos que tienen al menos un artículo en un idioma distinto al inglés en Wikipedia. La cláusula MINUS asegura que no haya otros elementos con artículos en Wikipedia relacionados con el mismo elemento. Ten en cuenta que esta consulta aún puede llevar tiempo en ejecutarse dependiendo del tamaño de Wikidata. Es posible que necesites reestructurar la consulta o agregar filtros más específicos si el tiempo de espera persiste.

Comments are closed.