Pywikibot tutorial 1-1: Data harvest

Taken from

https://www.wikidata.org/wiki/Wikidata:Pywikibot_-_Python_3_Tutorial

Slight modifications by user:andycyca

Getting labels

# Getting labels
import pywikibot as pyb

site = pyb.Site("en", "wikipedia")
page = pyb.Page(site, "Douglas Adams")
item = pyb.ItemPage.fromPage(page)

print(item)
[[wikidata:Q42]]

The methods available for the object can be shown by adding a print function (print(dir(item))) command

print(dir(item))
['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__unicode__', '__weakref__', '_cache_attrs', '_cmpkey', '_content', '_cosmetic_changes_hook', '_defined_by', '_diff_to', '_getInternals', '_get_parsed_page', '_isredir', '_latest_cached_revision', '_link', '_namespace', '_normalizeData', '_normalizeLanguages', '_pageid', '_revid', '_revisions', '_save', 'addClaim', 'aliases', 'applicable_protections', 'aslink', 'autoFormat', 'backlinks', 'botMayEdit', 'canBeEdited', 'categories', 'change_category', 'claims', 'clear_cache', 'concept_uri', 'concept_url', 'content_model', 'contributingUsers', 'contributors', 'coordinates', 'create_short_link', 'data_item', 'data_repository', 'defaultsort', 'delete', 'depth', 'descriptions', 'editAliases', 'editDescriptions', 'editEntity', 'editLabels', 'editTime', 'embeddedin', 'encoding', 'entity_type', 'exists', 'expand_text', 'extlinks', 'fromPage', 'from_entity_uri', 'fullVersionHistory', 'full_url', 'get', 'getCategoryRedirectTarget', 'getCreator', 'getDeletedRevision', 'getID', 'getLatestEditors', 'getMovedTarget', 'getOldVersion', 'getRedirectTarget', 'getReferences', 'getRestrictions', 'getSitelink', 'getTemplates', 'getVersionHistory', 'getVersionHistoryTable', 'getdbName', 'id', 'image_repository', 'imagelinks', 'interwiki', 'isAutoTitle', 'isCategory', 'isCategoryRedirect', 'isDisambig', 'isEmpty', 'isFlowPage', 'isImage', 'isIpEdit', 'isRedirectPage', 'isStaticRedirect', 'isTalkPage', 'is_categorypage', 'is_filepage', 'is_flow_page', 'is_valid_id', 'iterlanglinks', 'iterlinks', 'itertemplates', 'labels', 'langlinks', 'lastNonBotUser', 'latestRevision', 'latest_revision', 'latest_revision_id', 'linkedPages', 'loadDeletedRevisions', 'markDeletedRevision', 'mergeInto', 'merge_history', 'move', 'moved_target', 'namespace', 'oldest_revision', 'pageAPInfo', 'page_image', 'pageid', 'permalink', 'preloadText', 'previousRevision', 'previous_revision_id', 'properties', 'protect', 'protection', 'purge', 'put', 'put_async', 'removeClaims', 'removeSitelink', 'removeSitelinks', 'repo', 'revision_count', 'revisions', 'save', 'section', 'sectionFreeTitle', 'setSitelink', 'setSitelinks', 'set_redirect_target', 'site', 'sitelinks', 'templates', 'text', 'title', 'titleForFilename', 'titleWithoutNamespace', 'title_pattern', 'toJSON', 'toggleTalkPage', 'touch', 'undelete', 'urlname', 'userName', 'version', 'watch']

We can ask, for instance, if item.exists() and expect a truth value.

item.exists()
True

With item.get() we can turn the whole item into a dictionary:

item_dict = item.get()
print(item_dict.keys())
dict_keys(['aliases', 'labels', 'descriptions', 'claims', 'sitelinks'])

For instance, the values for labels are:

item_dict["labels"]
{'fr': 'Douglas Adams',
 'ru': 'Дуглас Адамс',
 'pl': 'Douglas Adams',
 'it': 'Douglas Adams',
 'en-gb': 'Douglas Adams',
 'nb': 'Douglas Adams',
 'es': 'Douglas Adams',
 'en-ca': 'Douglas Adams',
 'hr': 'Douglas Adams',
 'pt': 'Douglas Adams',
 'ko': '더글러스 애덤스',
 'nl': 'Douglas Adams',
 'el': 'Ντάγκλας Άνταμς',
 'ar': 'دوغلاس آدمز',
 'arz': 'دوجلاس ادامز',
 'bar': 'Douglas Adams',
 'be': 'Дуглас Адамс',
 'bg': 'Дъглас Адамс',
 'bs': 'Douglas Adams',
 'ca': 'Douglas Adams',
 'cs': 'Douglas Adams',
 'cy': 'Douglas Adams',
 'da': 'Douglas Adams',
 'eo': 'Douglas Adams',
 'et': 'Douglas Adams',
 'fa': 'داگلاس آدامز',
 'fi': 'Douglas Adams',
 'ga': 'Douglas Adams',
 'gl': 'Douglas Adams',
 'he': 'דאגלס אדמס',
 'hu': 'Douglas Adams',
 'id': 'Douglas Adams',
 'io': 'Douglas Adams',
 'is': 'Douglas Adams',
 'ja': 'ダグラス・アダムズ',
 'jv': 'Douglas Adams',
 'ka': 'დაგლას ადამსი',
 'la': 'Duglassius Adams',
 'lv': 'Duglass Adamss',
 'mk': 'Даглас Адамс',
 'mr': 'डग्लस अॅडम्स',
 'nn': 'Douglas Adams',
 'ro': 'Douglas Adams',
 'sco': 'Douglas Adams',
 'sh': 'Douglas Adams',
 'sk': 'Douglas Adams',
 'sl': 'Douglas Adams',
 'sq': 'Douglas Adams',
 'sr': 'Даглас Адамс',
 'sv': 'Douglas Adams',
 'ta': 'டக்ளஸ் ஆடம்ஸ்',
 'tr': 'Douglas Adams',
 'uk': 'Дуглас Адамс',
 'vi': 'Douglas Adams',
 'zh': '道格拉斯·亚当斯',
 'zh-cn': '道格拉斯·亚当斯',
 'zh-hans': '道格拉斯·亚当斯',
 'zh-hant': '道格拉斯·亞當斯',
 'de-ch': 'Douglas Adams',
 'pt-br': 'Douglas Adams',
 'zh-sg': '道格拉斯·亚当斯',
 'zh-my': '道格拉斯·亚当斯',
 'zh-hk': '道格拉斯·亞當斯',
 'zh-tw': '道格拉斯·亞當斯',
 'zh-mo': '道格拉斯·亞當斯',
 'war': 'Douglas Adams',
 'be-tarask': 'Дуглас Адамз',
 'vep': 'Adams Duglas',
 'ur': 'ڈگلس ایڈم',
 'oc': 'Douglas Adams',
 'af': 'Douglas Adams',
 'an': 'Douglas Adams',
 'br': 'Douglas Adams',
 'eu': 'Douglas Adams',
 'lb': 'Douglas Adams',
 'lmo': 'Douglas Adams',
 'lt': 'Douglas Adams',
 'nds': 'Douglas Adams',
 'nds-nl': 'Douglas Adams',
 'pms': 'Douglas Adams',
 'vec': 'Douglas Adams',
 'wa': 'Douglas Adams',
 'sr-ec': 'Даглас Адамс',
 'sr-el': 'Daglas Adams',
 'de': 'Douglas Adams',
 'ckb': 'دەگلاس ئادمز',
 'fo': 'Douglas Adams',
 'kl': 'Douglas Adams',
 'gsw': 'Douglas Adams',
 'te': 'డగ్లస్ ఆడమ్స్',
 'si': 'ඩග්ලස් ඇඩම්ස්',
 'bn': 'ডগলাস অ্যাডামস',
 'hi': 'डग्लस अ\u200dडम्स',
 'rwr': 'डग्लस अ\u200dडम्स',
 'mg': 'Douglas Adams',
 'ml': 'ഡഗ്ലസ് ആഡംസ്',
 'gu': 'ડગ્લાસ એડમ્સ',
 'hy': 'Դուգլաս Ադամս',
 'ast': 'Douglas Adams',
 'co': 'Douglas Adams',
 'de-at': 'Douglas Adams',
 'frp': 'Douglas Adams',
 'fur': 'Douglas Adams',
 'gd': 'Douglas Adams',
 'ia': 'Douglas Adams',
 'ie': 'Douglas Adams',
 'kg': 'Douglas Adams',
 'li': 'Douglas Adams',
 'lij': 'Douglas Adams',
 'min': 'Douglas Adams',
 'ms': 'Douglas Adams',
 'nap': 'Douglas Adams',
 'nrm': 'Douglas Adams',
 'pcd': 'Douglas Adams',
 'rm': 'Douglas Adams',
 'sc': 'Douglas Adams',
 'scn': 'Douglas Adams',
 'sw': 'Douglas Adams',
 'vls': 'Douglas Adams',
 'vo': 'Douglas Adams',
 'wo': 'Douglas Adams',
 'zu': 'Douglas Adams',
 'az': 'Duqlas Noel Adams',
 'ak': 'Doglas Adams',
 'or': 'ଡଗ୍\u200cଲାସ୍\u200c ଆଦାମ୍\u200cସ',
 'kn': 'ಡಗ್ಲಸ್ ಆಡಮ್ಸ್',
 'ne': 'डगलस एडम्स',
 'mrj': 'Адамс',
 'th': 'ดั๊กลาส อดัมส์',
 'pa': 'ਡਗਲਸ ਐਡਮਜ਼',
 'tcy': 'ಡಾಗ್ಲಸ್ ಆಡಮ್ಸ್',
 'tl': 'Douglas Adams',
 'ext': 'Douglas Adams',
 'azb': 'داقلاس آدامز',
 'en': 'Douglas Adams',
 'lfn': 'Douglas Adams',
 'nan': 'Douglas Adams',
 'ky': 'Дуглас Адамс',
 'bho': 'डगलस एडम्स',
 'wuu': '道格拉斯·亚当斯',
 'yue': '道格拉斯亞當斯',
 'pnb': 'ڈگلس ایڈمس',
 'sje': 'Douglas Adams',
 'se': 'Douglas Adams',
 'smn': 'Douglas Adams',
 'sms': 'Douglas Adams',
 'sma': 'Douglas Adams',
 'smj': 'Douglas Adams'}

Accessing the Wikidata item directly

It is also possible to call the Wikidata item directly. All that is needed is the Q-code of the item. This code will allow the same access to the ItemPage-object:

site = pyb.Site("wikidata", "wikidata")
repo = site.data_repository()
item = pyb.ItemPage(repo, "Q42")

Getting claims

Next, how to extract claims from Wikidata. The example is electron (Q2225)

# Get the item
site = pyb.Site("wikidata", "wikidata")
repo = site.data_repository()
item = pyb.ItemPage(repo, "Q2225")

item_dict = item.get() # Get the item dictionary
clm_dict = item_dict["claims"] # Get the claim dictionary

clm_dict
{'P1360': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1360', 'datatype': 'string', 'datavalue': {'value': '11', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$56c49ee0-4c6b-4804-bc6b-a26fc4b26dbf', 'rank': 'normal', 'references': [{'snaks': {'P248': [{'snaktype': 'value', 'property': 'P248', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 17323608}, 'type': 'wikibase-entityid'}}]}, 'snaks-order': ['P248'], 'hash': '3153e51478ca3817f06970080e46d462d592ada3'}]})],
 'P279': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P279', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 82586}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'q2225$CA3B52EE-5E76-4A3D-B2CB-0DDDC21E7B0B', 'rank': 'normal'}),
  Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P279', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 44363}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$546af15c-480f-e871-c643-0b8426e73ba6', 'rank': 'normal'})],
 'P1036': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1036', 'datatype': 'string', 'datavalue': {'value': '539.72112', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$908ade56-4ff1-95b3-1521-eb8d4249c2b0', 'rank': 'normal'})],
 'P373': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P373', 'datatype': 'string', 'datavalue': {'value': 'Electrons', 'type': 'string'}}, 'type': 'statement', 'id': 'q2225$1C523D9A-862E-4DC0-8D99-FEAA60D872A1', 'rank': 'normal'})],
 'P227': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P227', 'datatype': 'external-id', 'datavalue': {'value': '4125978-6', 'type': 'string'}}, 'type': 'statement', 'id': 'q2225$A910F863-6788-4281-A073-1973C5083665', 'rank': 'normal', 'references': [{'snaks': {'P143': [{'snaktype': 'value', 'property': 'P143', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 48183}, 'type': 'wikibase-entityid'}}]}, 'snaks-order': ['P143'], 'hash': '9a24f7c0208b05d6be97077d855671d1dfdbc0dd'}]})],
 'P517': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P517', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 11418}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$77575a0c-4a43-2b4d-cef4-8a17ffd7db68', 'rank': 'normal'}),
  Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P517', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 849919}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$a571422c-4a60-65ed-3642-7c8675766bfd', 'rank': 'normal'}),
  Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P517', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 11412}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$0f7a27de-4db4-2f88-b04f-5c383b035cb0', 'rank': 'normal'})],
 'P508': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P508', 'datatype': 'external-id', 'datavalue': {'value': '3791', 'type': 'string'}}, 'type': 'statement', 'id': 'q2225$48F396B9-5515-4CCE-95E8-DE75AA8DDB77', 'rank': 'normal', 'references': [{'snaks': {'P248': [{'snaktype': 'value', 'property': 'P248', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 460907}, 'type': 'wikibase-entityid'}}]}, 'snaks-order': ['P248'], 'hash': 'a235ba3d92daf43853b23688674b7ab464b4eea8'}]})],
 'P910': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P910', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 8411332}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$334BBD54-F057-4FB1-A279-507370DCA326', 'rank': 'normal', 'references': [{'snaks': {'P143': [{'snaktype': 'value', 'property': 'P143', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 14380}, 'type': 'wikibase-entityid'}}]}, 'snaks-order': ['P143'], 'hash': '60cf770260aef7fc2fed6c981da268725c641b94'}]})],
 'P349': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P349', 'datatype': 'external-id', 'datavalue': {'value': '00561425', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$F288E882-7E99-445F-BF7F-A4EC89FDC7FE', 'rank': 'normal'})],
 'P1122': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1122', 'datatype': 'quantity', 'datavalue': {'value': {'amount': '+0.5', 'upperBound': None, 'lowerBound': None, 'unit': '1'}, 'type': 'quantity'}}, 'type': 'statement', 'id': 'Q2225$9760e517-4f85-d808-50e7-85698fe554bf', 'rank': 'normal'})],
 'P1123': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1123', 'datatype': 'quantity', 'datavalue': {'value': {'amount': '+1', 'upperBound': None, 'lowerBound': None, 'unit': '1'}, 'type': 'quantity'}}, 'type': 'statement', 'id': 'Q2225$88d2984d-46ce-c948-02a9-55d93079d0c3', 'rank': 'normal'})],
 'P646': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P646', 'datatype': 'external-id', 'datavalue': {'value': '/m/02l7x', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$C4FACE8D-F599-4C69-8623-80C7FE64402B', 'rank': 'normal', 'references': [{'snaks': {'P248': [{'snaktype': 'value', 'property': 'P248', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 15241312}, 'type': 'wikibase-entityid'}}], 'P577': [{'snaktype': 'value', 'property': 'P577', 'datatype': 'time', 'datavalue': {'value': {'time': '+00000002013-10-28T00:00:00Z', 'precision': 11, 'after': 0, 'before': 0, 'timezone': 0, 'calendarmodel': 'http://www.wikidata.org/entity/Q1985727'}, 'type': 'time'}}]}, 'snaks-order': ['P248', 'P577'], 'hash': '2b00cb481cddcac7623114367489b5c194901c4a'}]})],
 'P1014': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1014', 'datatype': 'external-id', 'datavalue': {'value': '300264243', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$49D14258-FE09-458A-9831-2A9F8CC3397A', 'rank': 'normal'})],
 'P1051': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1051', 'datatype': 'external-id', 'datavalue': {'value': '3701', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$08AD62CB-C11D-42D8-90D6-76D3EFE7A401', 'rank': 'normal'})],
 'P61': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P61', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 47285}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$cf471463-4476-9ee7-25b1-6328e2307db9', 'rank': 'normal'})],
 'P575': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P575', 'datatype': 'time', 'datavalue': {'value': {'time': '+00000001897-00-00T00:00:00Z', 'precision': 9, 'after': 0, 'before': 0, 'timezone': 0, 'calendarmodel': 'http://www.wikidata.org/entity/Q1985727'}, 'type': 'time'}}, 'type': 'statement', 'id': 'Q2225$9e03b33c-4b89-ebc7-a07f-f8dba057abf6', 'rank': 'normal'})],
 'P31': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P31', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 22675015}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$C62338D6-971A-4FBB-8CA8-2CAC19C43913', 'rank': 'normal'})],
 'P2069': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P2069', 'datatype': 'quantity', 'datavalue': {'value': {'amount': '-1.00115965218076', 'upperBound': '-1.00115965218075', 'lowerBound': '-1.00115965218077', 'unit': 'http://www.wikidata.org/entity/Q737120'}, 'type': 'quantity'}}, 'type': 'statement', 'id': 'Q2225$edaaaf4e-48fd-6503-016c-27d857e55f40', 'rank': 'normal'})],
 'P2152': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P2152', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 3229}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$c0d4e2e5-4517-6968-d118-854f1b78c23d', 'rank': 'normal'})],
 'P2200': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P2200', 'datatype': 'quantity', 'datavalue': {'value': {'amount': '-1', 'upperBound': None, 'lowerBound': None, 'unit': 'http://www.wikidata.org/entity/Q2101'}, 'type': 'quantity'}}, 'type': 'statement', 'id': 'Q2225$f6f6e26b-4f3e-fb2b-e1d1-64734af0e45c', 'rank': 'normal'})],
 'P2375': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P2375', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 1087203}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$ab40a257-41ab-d688-709f-abdacb2a1e65', 'rank': 'normal', 'qualifiers': {'P31': [{'snaktype': 'value', 'property': 'P31', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 41719}, 'type': 'wikibase-entityid'}, 'hash': 'da9e8ccbb9a2d14e3b0495df4a459dc9386e4e2f'}]}, 'qualifiers-order': ['P31']})],
 'P18': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P18', 'datatype': 'commonsMedia', 'datavalue': {'value': 'Single electron probability pattern.png', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$3479e9d8-4902-0c01-e351-f42323b3b6a6', 'rank': 'normal'})],
 'P3417': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P3417', 'datatype': 'external-id', 'datavalue': {'value': 'Electrons', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$35DF88B3-F55E-4593-9117-DC762BD156A6', 'rank': 'normal', 'references': [{'snaks': {'P248': [{'snaktype': 'value', 'property': 'P248', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 51711}, 'type': 'wikibase-entityid'}}]}, 'snaks-order': ['P248'], 'hash': '3b0a5bb3c1f955edce73740124f7d935698092ad'}]})],
 'P3827': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P3827', 'datatype': 'external-id', 'datavalue': {'value': 'electrons', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$9269A7D8-741E-4B65-B5F8-97037E9BEEF9', 'rank': 'normal'})],
 'P3916': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P3916', 'datatype': 'external-id', 'datavalue': {'value': 'concept9543', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$B40DD64D-95C4-4F8B-A929-2AE94FC49A41', 'rank': 'normal'})],
 'P2067': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P2067', 'datatype': 'quantity', 'datavalue': {'value': {'amount': '+0.00054857990907016', 'upperBound': None, 'lowerBound': None, 'unit': 'http://www.wikidata.org/entity/Q483261'}, 'type': 'quantity'}}, 'type': 'statement', 'id': 'Q2225$45e73d74-44f3-b546-1faa-b1a59d75e7f7', 'rank': 'normal', 'references': [{'snaks': {'P854': [{'snaktype': 'value', 'property': 'P854', 'datatype': 'url', 'datavalue': {'value': 'http://physics.nist.gov/cgi-bin/cuu/Value?me', 'type': 'string'}}]}, 'snaks-order': ['P854'], 'hash': 'd2e3e5a11a866698e0bbce4b25b7d3e3f651ab64'}]})],
 'P138': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P138', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 25381}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$98fefef9-4f12-2a5f-c60a-457cc450a062', 'rank': 'normal'})],
 'P683': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P683', 'datatype': 'external-id', 'datavalue': {'value': '10545', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$8d21ddeb-4bad-0e9a-02b1-bf36285c50c0', 'rank': 'normal'})],
 'P486': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P486', 'datatype': 'external-id', 'datavalue': {'value': 'D004583', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$1841CA3D-103A-4A02-B6F7-AB0CDF2ABCE0', 'rank': 'normal'})],
 'P156': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P156', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 3151}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$c043582b-4f1a-c273-755b-870120f59ba9', 'rank': 'normal', 'qualifiers': {'P642': [{'snaktype': 'value', 'property': 'P642', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 846671}, 'type': 'wikibase-entityid'}, 'hash': '70a76205a395caadf5346c218a4af722dcd40506'}]}, 'qualifiers-order': ['P642']})],
 'P155': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'novalue', 'property': 'P155'}, 'type': 'statement', 'id': 'Q2225$36f78ba3-4d6f-f6a3-2adf-df5a9bae6e74', 'rank': 'normal'})],
 'P1417': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P1417', 'datatype': 'external-id', 'datavalue': {'value': 'science/electron', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$43B0B42C-C1C5-43F3-A097-4406B26D6335', 'rank': 'normal'})],
 'P665': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P665', 'datatype': 'external-id', 'datavalue': {'value': 'C05359', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$F6B098BA-1C3F-4064-AFA5-1AB8C218B164', 'rank': 'normal'})],
 'P461': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P461', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 651050}, 'type': 'wikibase-entityid'}}, 'type': 'statement', 'id': 'Q2225$FDD02309-8C2B-4B82-81CD-2E98A4E7A70B', 'rank': 'normal', 'references': [{'snaks': {'P3452': [{'snaktype': 'value', 'property': 'P3452', 'datatype': 'wikibase-item', 'datavalue': {'value': {'entity-type': 'item', 'numeric-id': 651050}, 'type': 'wikibase-entityid'}}]}, 'snaks-order': ['P3452'], 'hash': '7e055a7a9d0060243e69a88c57ef791eb7da563f'}]})],
 'P244': [Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P244', 'datatype': 'external-id', 'datavalue': {'value': 'sh85042423', 'type': 'string'}}, 'type': 'statement', 'id': 'Q2225$B27863D0-9E7D-45FA-957D-AAA2DA2C0BF6', 'rank': 'normal', 'references': [{'snaks': {'P854': [{'snaktype': 'value', 'property': 'P854', 'datatype': 'url', 'datavalue': {'value': 'https://github.com/JohnMarkOckerbloom/ftl/blob/master/data/wikimap', 'type': 'string'}}], 'P813': [{'snaktype': 'value', 'property': 'P813', 'datatype': 'time', 'datavalue': {'value': {'time': '+00000002019-04-03T00:00:00Z', 'precision': 11, 'after': 0, 'before': 0, 'timezone': 0, 'calendarmodel': 'http://www.wikidata.org/entity/Q1985727'}, 'type': 'time'}}]}, 'snaks-order': ['P854', 'P813'], 'hash': 'ac5d47e9fbcc281bc0d27a205ae02e22ad24ce31'}]})]}

As you can see the keys of the dictionary are strings (e.g. "P1014") and the values are always lists (even if only one item is in the list). This will be important for the next step, where we want to get the value and unit of the magnetic moment (P2069) claim. Add the following lines at the end of the script:

clm_list = clm_dict["P2069"]

for clm in clm_list:
    print(clm)
Claim.fromJSON(DataSite("wikidata", "wikidata"), {'mainsnak': {'snaktype': 'value', 'property': 'P2069', 'datatype': 'quantity', 'datavalue': {'value': {'amount': '-1.00115965218076', 'upperBound': '-1.00115965218075', 'lowerBound': '-1.00115965218077', 'unit': 'http://www.wikidata.org/entity/Q737120'}, 'type': 'quantity'}}, 'type': 'statement', 'id': 'Q2225$edaaaf4e-48fd-6503-016c-27d857e55f40', 'rank': 'normal'})