Browse Source

added prototype of function for editing existing entities

master
corsaronero 1 year ago
parent
commit
9bfd56ff2c
3 changed files with 46 additions and 2 deletions
  1. +1
    -1
      main.py
  2. BIN
      wikidata/__pycache__/wdPEP.cpython-310.pyc
  3. +45
    -1
      wikidata/wdPEP.py

+ 1
- 1
main.py View File

@ -28,4 +28,4 @@ wikidataPEP = WikidataPEP(config)
#wikidataPEP.checkForEntityIds(listOfCountries)
wikidataPEP.createMemberOnWikidata()
wikidataPEP.editMemberOnWikidata()

BIN
wikidata/__pycache__/wdPEP.cpython-310.pyc View File


+ 45
- 1
wikidata/wdPEP.py View File

@ -75,7 +75,7 @@ class WikidataPEP(object):
from wikibaseintegrator.datatypes import ExternalID, Item
from wikibaseintegrator.wbi_config import config as wbi_config
wbi_config['USER_AGENT'] = 'PEPimport/1.0 (https://www.wikidata.org/wiki/User:Username)'
wbi_config['USER_AGENT'] = 'PEPimport/1.0 (https://www.wikidata.org/wiki/User:)'
# login object
login_instance = wbi_login.OAuth2(consumer_token='', consumer_secret='')
@ -110,3 +110,47 @@ class WikidataPEP(object):
#item.claims.add(data3)
print(item.write())
def editMemberOnWikidata(self):
from wikibaseintegrator import wbi_login, WikibaseIntegrator
from wikibaseintegrator.datatypes import ExternalID, Item
from wikibaseintegrator.wbi_config import config as wbi_config
from wikibaseintegrator.wbi_enums import ActionIfExists
wbi_config['USER_AGENT'] = 'PEPimport/1.0 (https://www.wikidata.org/wiki/User:Username)'
# login object
login_instance = wbi_login.OAuth2(consumer_token='', consumer_secret='')
wbi = WikibaseIntegrator(login=login_instance)
# data type object, e.g. for a NCBI gene entrez ID
isHuman = Item(value='Q5', prop_nr='P31')
occupationPolitician = Item(value='Q82955', prop_nr='P106')
occupationDeputy = Item(value='Q1055894', prop_nr='P106')
referenceURL = ExternalID(value='http://legislacion.asamblea.gob.ni/Tablas%20Generales.nsf/InfoDiputado.xsp?documentId=3D4CFDC4B3006D70062587C5007C29E1&action=openDocument&SessionID=1868803A06AB73D50B7F89BD0AB', prop_nr='P854')
# print(isHuman)
# print(referenceURL)
# data goes into a list, because many data objects can be provided to
data1 = [isHuman]
data2 = [occupationDeputy]
data3 = [occupationPolitician]
data4 = [referenceURL]
# get item for Qid
item = wbi.item.get(entity_id='Q116918332')
# Set an english label
item.labels.set(language='en', value='Carlos Humberto Ruíz', action_if_exists=ActionIfExists.KEEP)
# Set a French description
item.descriptions.set(language='en', value='Nicaraguan National Assembly Deputy', action_if_exists=ActionIfExists.KEEP)
item.claims.add(data4)
#item.claims.add(data2)
#item.claims.add(data3)
print(item.write())

Loading…
Cancel
Save