Cq passe en limitant le mobre de pays envisagés :
SELECT ?country ?location ?countryLabelEn ?countryLabelFr ?creationDate ?dissolutionDate ?dist WHERE {
# norway coordinates
wd:Q20 wdt:P625 ?norwayLoc .
SERVICE wikibase:around {
?country wdt:P625 ?location .
bd:serviceParam wikibase:center ?norwayLoc .
bd:serviceParam wikibase:radius "500" .
bd:serviceParam wikibase:distance ?dist.
}
{ select ?country {
?country wdt:P31/wdt:P279* wd:Q7275. } limit 100000 }
optional { ?country rdfs:label ?countryLabelFr filter(lang(?countryLabelFr)= "fr")} .
optional { ?country rdfs:label ?countryLabelEn filter(lang(?countryLabelEn)= "en")}.
optional { ?country wdt:P571 ?creationDate }.
optional { ?country wdt:P576 ?dissolutionDate }.
}
Try it!
et j'ai le royaume en question dans les résultats pour ma part. Après il faut que les coordonnées soient renseignées pour que ça marche, je sais pas si c'set fréquent pour ce type d'entités.
C'est pas nécessairement étonnant que ça parte en timeout étant donnée que
SELECT ?country ?location ?countryLabelEn ?countryLabelFr ?creationDate ?dissolutionDate WHERE {
?country wdt:P31/wdt:P279* wd:Q7275.
}
Try it! part elle aussi en hors délais. L'arbre des sous-classes de https://tools.wmflabs.org/wikidata-todo/tree.html?lang=fr&q=Q7275&rp=279 mériterai d'être nettoyé, ce qui risque de pas être une mince affaire étant donné que je sais pas trop si on a une définition bien claire de toutes ces notions, c'est pas nécessairement une bonne idée de partir d'un élément aussi vague.
Cela dit l'autre partie de la requête (les éléments géorlocalisés autours des coordonées de la norvège passe elle allègrement, et en forçant le moteur à essayer ça en premier avec une sous requçete nommées, le tout passe sans soucis dans les délais :
SELECT ?country ?location ?countryLabelEn ?countryLabelFr ?creationDate ?dissolutionDate
with {
select ?country {
wd:Q20 wdt:P625 ?norwayLoc .
SERVICE wikibase:around {
?country wdt:P625 ?location .
bd:serviceParam wikibase:center ?norwayLoc .
bd:serviceParam wikibase:radius "500" .
bd:serviceParam wikibase:distance ?dist.
}
}
} as %places
WHERE {
include %places .
?country wdt:P31/wdt:P279* wd:Q7275.
optional { ?country rdfs:label ?countryLabelFr filter(lang(?countryLabelFr)= "fr")} .
optional { ?country rdfs:label ?countryLabelEn filter(lang(?countryLabelEn)= "en")}.
optional { ?country wdt:P571 ?creationDate }.
optional { ?country wdt:P576 ?dissolutionDate }.
}
Try it! (c'est un soucis d'ordonnacement, le moteur se rend pas compte/ignore qu'il gagnerait du temps à effectuer les choses dans ce sens et calcule d'abord un résultat intermédiaire sans espoir d'aboutir avant de savoir si les résultats sont proches de la norvège, alors qu'il faut lui faire calculer les éléments proche de la norvèges puis vérifier si ce sont des instances d'états)