User talk:TomT0m

From Wikidata
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].     
     }
Try it!

Bouzinac💬✒️💛 19:52, 4 January 2025 (UTC)[reply]

@Bouzinac: Salut ! Ca devrait fonctionner :
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  
      ]
  ]
}
Try it!
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)[reply]
Mince 1582 vrai positifs, donc du boulot :( Merci en tous cas pour ta requête! Bouzinac💬✒️💛 09:20, 5 January 2025 (UTC)[reply]
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)[reply]
@Bouzinac:
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
  }
}
Try it!
hop ! author  TomT0m / talk page 21:15, 5 January 2025 (UTC)[reply]
Merci à toi ;) https://public.tableau.com/views/Stationsmtrocumuldesouvertures/Stationsdemtro?:language=fr-FR&publish=yes&:sid=&:redirect=auth&:display_count=n&:origin=viz_share_link Bouzinac💬✒️💛 23:11, 22 January 2025 (UTC)[reply]