sparql - page - wikidata order by
¿Algunas ciudades no son instancias de ciudad o gran ciudad? Comportamiento extraño de Wikidata (1)
Mientras examinaba los resultados de la consulta de ejemplo oficial "Continentes, países, regiones y capitales" (en
https://query.wikidata.org/
, limitada a Alemania para su conveniencia aquí:
link
), noté que algunas capitales del gobierno federal alemán faltaban estados
Por ejemplo Wiesbaden como capital de Hesse.
Noté que Wiesbaden es una instancia de una
big city
, pero no de una
city
(ver
https://www.wikidata.org/wiki/Q1721
), en contraste con otras ciudades.
Pude aliviar el problema al incluir también ciudades que son subclases de
city
cambiando la línea 17 a
?city wdt:P31/wdt:P279? wd:Q515
?city wdt:P31/wdt:P279? wd:Q515
.
Una de las cuatro ciudades que aún faltan es Magdeburgo, la capital de Sajonia-Anhalt.
La consulta de diagnóstico
SELECT ?cityLabel ?props
WHERE {
?city wdt:P31 ?props.
FILTER(?city = wd:Q1733 || ?city = wd:Q1726).
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en". }
}
muestra que Magdeburgo ni siquiera es una instancia de
city
, aunque está claramente de acuerdo con su página de Wikidata
https://www.wikidata.org/wiki/Q1733
.
Soy nuevo en Wikidata y SPARQL. Sin embargo, esto me parece mal. ¿Qué puedo hacer para obtener todas las capitales de los estados federales alemanes? ¿Y cuál es la razón de este comportamiento?
Estas declaraciones faltantes no son truthy :
SELECT ?statement ?valueLabel ?rank ?best
WHERE {
wd:Q1733 p:P31 ?statement.
?statement ps:P31 ?value .
?statement wikibase:rank ?rank .
OPTIONAL { ?statement a ?best . }
SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
Son declaraciones de rango normal, pero hay una declaración de rango preferido.
Las declaraciones de verdad representan declaraciones que tienen el mejor rango no obsoleto para una propiedad dada. Es decir, si hay una declaración preferida para la propiedad P2, entonces solo las declaraciones preferidas para P2 se considerarán verdaderas. De lo contrario, todas las declaraciones de rango normal para P2 se consideran verdaderas.
Actualizar
He decreased el rango de la declaración preferida en este momento . Por favor pruebe su consulta nuevamente.