Le script suivant permet avec pywikibot (version core) de créer un item sur Wikidata sans avoir en référence de page Wikipédia (ou page de projets frères Wikisource, Wikiquote, Wikivoyage…).
C’est l’occasion également d’avoir un exemple –volontairement redondant pour bien détailler– d’édition possible pour un item d’art visuel.
# -*- coding: utf-8 -*- # /* / */ import pywikibot # Connexion à Wikidata site = pywikibot.Site("wikidata","wikidata") site.login() repo = site.data_repository() # Un libellé avec sa langue est indiqué data = {u'labels':{u'en': {u'language': u'en', u'value': u'Jupiter Beguiled by Juno on Mount Ida'} } } identification = {} summary = u'Creating new item with data from Wikimedia commons' pywikibot.output(summary) # L'item est créé result = repo.editEntity(identification, data, summary=summary) # L'item est récupéré pour être renseigné ItemTitle = result.get(u'entity').get('id') item = pywikibot.ItemPage(repo, title=ItemTitle) item.get() item.editAliases({u'en':[u'Jupiter and Juno on Mount Ida']}) item.editDescriptions({u'en': u'painting by James Barry'}) # L'œuvre a comme libellé principal (label) 'Jupiter séduit par Junon sur le mont Ida' item.editLabels({u'fr': u'Jupiter séduit par Junon sur le mont Ida'}) # L'œuvre a un autre un libellé (alias) 'Jupiter et Junon sur le mont Ida' item.editAliases({u'fr':[u'Jupiter et Junon sur le mont Ida']}) # Elle peut être décrite comme une 'peinture de James Barry' item.editDescriptions({u'fr': u'peinture de James Barry'}) # source 1 - Sheffield Galleries and Museums Trust REF = pywikibot.Claim(repo,u'P143') REF.setTarget(pywikibot.ItemPage(repo,u'Q7492669')) # source 2 - Wikimedia Commons REF2 = pywikibot.Claim(repo,u'P143') REF2.setTarget(pywikibot.ItemPage(repo,u'Q565')) # C'est (P31) une peinture (Q3305213) claim = pywikibot.Claim(repo, u'P31') target = pywikibot.ItemPage(repo, u'Q3305213') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # appartenant aux collections (P195) de la Graves Art Gallery (Q5597892) claim = pywikibot.Claim(repo, u'P195') target = pywikibot.ItemPage(repo, u'Q5597892') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # localisée (P276) à la Graves Art Gallery (Q5597892) claim = pywikibot.Claim(repo, u'P276') target = pywikibot.ItemPage(repo, u'Q5597892') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # Ayant pour numéro d'inventaire (P217) VIS.2742 claim = pywikibot.Claim(repo, u'P217') target = u'VIS.2742' claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # Ayant pour auteur (P170) James Barry (Q1042892) claim = pywikibot.Claim(repo, u'P170') target = pywikibot.ItemPage(repo, u'Q1042892') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # Sa date de réalisation (P571) se situe dans les années 1790 claim = pywikibot.Claim(repo, u'P571') date = pywikibot.WbTime(year=1790, precision=8) claim.setTarget(date) item.addClaim(claim) claim.addSource(REF) # Comme materiau (P186), huile (Q296955) claim = pywikibot.Claim(repo, u'P186') target = pywikibot.ItemPage(repo, u'Q296955') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # Comme matériau (P186), toile (Q4259259) # avec en qualificateur "partie concernée" (P518) "support de peinture" Q861259 claim = pywikibot.Claim(repo, u'P186') target = pywikibot.ItemPage(repo, u"Q4259259") claim.setTarget(target) item.addClaim(claim) qualifier = pywikibot.Claim(repo, u'P518') target = pywikibot.ItemPage(repo, u'Q861259') qualifier.setTarget(target) claim.addQualifier(qualifier) claim.addSource(REF) # Une image de l'œuvre (P18) sur Wikimedia Commons, "James Barry 001.jpg" mediasite = pywikibot.Site("commons", "commons") imageclaim = pywikibot.Claim(repo, u'P18') image = pywikibot.ImagePage(mediasite, u"James Barry 001.jpg") imageclaim.setTarget(image) item.addClaim(imageclaim) imageclaim.addSource(REF2) # Dans les éléments dépeints (P180), Héra (Q38012) claim = pywikibot.Claim(repo, u'P180') target = pywikibot.ItemPage(repo, u'Q38012') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # Dans les éléments dépeints (P180), Zeus (Q34201) claim = pywikibot.Claim(repo, u'P180') target = pywikibot.ItemPage(repo, u'Q34201') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # Dans les éléments dépeints (P180), un aigle (Q2092297) claim = pywikibot.Claim(repo, u'P180') target = pywikibot.ItemPage(repo, u'Q2092297') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # L'œuvre est basée sur (P144) sur l'Iliade (Q8275) claim = pywikibot.Claim(repo, u'P144') target = pywikibot.ItemPage(repo, u'Q8275') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # Le genre (P136) de l'œuvre est une peinture mythologique (Q3374376) claim = pywikibot.Claim(repo, u'P136') target = pywikibot.ItemPage(repo, u'Q3374376') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF) # Le mouvement artistique (P135) peut être considéré comme du néoclassicisme (Q14378) claim = pywikibot.Claim(repo, u'P135') target = pywikibot.ItemPage(repo, u'Q14378') claim.setTarget(target) item.addClaim(claim) claim.addSource(REF2)
Le résultat sur Wikidata :
www.wikidata.org/wiki/Q17242710
Ou en joli sur Reasonator :
tools.wmflabs.org/reasonator/?&q=Q17242710
Ou encore sur Crotos :