User talk:TomT0m
Jump to navigation
Jump to search
Best rank
[edit]Hello, je m'en remets à tes lumières dans cette requête qui a des faux positifs: je cherche des dates P1619 ayant uniquement une précision année (donc celles pas précises). Ce code propose des vrais et des faux positifs. Comment limiter aux best ranks ? Ex de faux positif Q10275535#P1619
SELECT ?item?itemLabel ?date ?coords WHERE {
SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en". }
?item (wdt:P31/(wdt:P279*)) wd:Q928830;
wdt:P5817 wd:Q55654238;wdt:P1619 ?date ;wdt:P625 ?coords .
VALUES ?precision { 9 }#10 = month precision, 11 = day precision
?item p:P1619/psv:P1619 [wikibase:timePrecision ?precision; wikibase:timeValue ?time].
}
Bouzinac 💬●✒️●💛 19:52, 4 January 2025 (UTC)
- @Bouzinac: Salut ! Ca devrait fonctionner : voir les commentaires pour explication. Pour forcer des valeurs à être identiques dans des parties différents d'une requête, on réutilise simplement le même nom de variable. author TomT0m / talk page 20:57, 4 January 2025 (UTC)Try it!
SELECT ?item?itemLabel ?date ?coords WHERE { SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en". } ?item (wdt:P31/(wdt:P279*)) wd:Q928830; wdt:P5817 wd:Q55654238 ;wdt:P625 ?coords . # on a pas besoin du wdt pour le temps si on récupère la déclaration équivalente VALUES ?precision { 9 }#10 = month precision, 11 = day precision ?item p:P1619 [ ps:P1619 ?date ; # utiliser la forme "ps:" dans les déclarations pour récupérer la valeur principale a wikibase:BestRank ; # récupérer les "best rank", les déclarations "bestrank" sont instances de cette classe rdf/owl (à un niveau de langage inférieur, rien à voir avec les instances et classes wikidata) psv:P1619 [ wikibase:timePrecision ?precision # wikibase:timeValue ?time # du coup on a plus besoin de la valeur de "?time", c'est la même que la valeur principale, à la place, on pourrait supprimer le "ps:P1619 ?date" et le remplacer par "wikibase:timeValue ?date" ça fonctionnerait aussi ] ] }
- Mince 1582 vrai positifs, donc du boulot :( Merci en tous cas pour ta requête! Bouzinac 💬●✒️●💛 09:20, 5 January 2025 (UTC)
- Re, cerise sur le gâteau, si tu pouvais m'aider à éliminer les éventuels items date=année et où j'ai mis circa comme sur cet exemple (impossible de préciser la date, quoi) https://www.wikidata.org/wiki/Q10276202#P1619 ? Bouzinac 💬●✒️●💛 17:43, 5 January 2025 (UTC)
- @Bouzinac: hop ! author TomT0m / talk page 21:15, 5 January 2025 (UTC)Try it!
SELECT ?item?itemLabel ?date ?coords WHERE { SERVICE wikibase:label { bd:serviceParam wikibase:language "fr,en". } ?item (wdt:P31/(wdt:P279*)) wd:Q928830; wdt:P5817 wd:Q55654238 ;wdt:P625 ?coords . # on a pas besoin du wdt pour le temps si on récupère la déclaration équivalente VALUES ?precision { 9 }#10 = month precision, 11 = day precision ?item p:P1619 ?datestatement . # on récupère toute la déclaration dans une variable pour pouvoir faire un optional/minus, pour le coup ?datestatement ps:P1619 ?date ; # utiliser la forme "ps:" dans les déclarations pour récupérer la valeur principale a wikibase:BestRank ; # récupérer les "best rank", les déclarations "bestrank" sont instances de cette classe rdf/owl (à un niveau de langage inférieur, rien à voir avec les instances et classes wikidata) psv:P1619 [ wikibase:timePrecision ?precision # wikibase:timeValue ?time # du coup on a plus besoin de la valeur de "?time", c'est la même que la valeur principale, à la place, on pourrait supprimer le "ps:P1619 ?date" et le remplacer par "wikibase:timeValue ?date" ça fonctionnerait aussi ] . minus { ?datestatement pq:P1480 wd:Q5727902 . # pq pour récupérer le qualificatif } }
- @Bouzinac:
- Re, cerise sur le gâteau, si tu pouvais m'aider à éliminer les éventuels items date=année et où j'ai mis circa comme sur cet exemple (impossible de préciser la date, quoi) https://www.wikidata.org/wiki/Q10276202#P1619 ? Bouzinac 💬●✒️●💛 17:43, 5 January 2025 (UTC)
- Mince 1582 vrai positifs, donc du boulot :( Merci en tous cas pour ta requête! Bouzinac 💬●✒️●💛 09:20, 5 January 2025 (UTC)