Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add update example #263

Merged
merged 1 commit into from
Dec 17, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
293 changes: 293 additions & 0 deletions notebooks/lexeme_update.ipynb
Original file line number Diff line number Diff line change
@@ -0,0 +1,293 @@
{
"cells": [
{
"cell_type": "markdown",
"source": [
"# Update an existing Lexeme"
],
"metadata": {
"collapsed": false
}
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from wikibaseintegrator import WikibaseIntegrator, wbi_login, datatypes\n",
"from wikibaseintegrator.models import Reference, References\n",
"from wikibaseintegrator.models.qualifiers import Qualifiers\n",
"from wikibaseintegrator.wbi_config import config"
]
},
{
"cell_type": "code",
"execution_count": 2,
"outputs": [],
"source": [
"WDUSER = ''\n",
"WDPASS = ''"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Set default variables"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 3,
"outputs": [],
"source": [
"config['MEDIAWIKI_API_URL'] = 'https://test.wikidata.org/w/api.php'\n",
"config['USER_AGENT'] = 'Lexeme Write Notebook'"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Create login and WikibaseIntegrator object"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 4,
"outputs": [],
"source": [
"login = wbi_login.Login(auth_method='login', user=WDUSER, password=WDPASS,\n",
" mediawiki_api_url='https://test.wikidata.org/w/api.php')\n",
"wbi = WikibaseIntegrator(login=login)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Get existing lexeme entity"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 5,
"outputs": [],
"source": [
"lexeme = wbi.lexeme.get(entity_id='L42')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Set french lemmas"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"source": [
"# Lemmas\n",
"lexeme.lemmas.set(language='fr', value='réponse')"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
},
"execution_count": 6,
"outputs": [
{
"data": {
"text/plain": "<LanguageValue @a48be0 _LanguageValue__language='fr' _LanguageValue__value='réponse' _LanguageValue__removed=False>"
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
]
},
{
"cell_type": "markdown",
"source": [
"## Create a new claim"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 7,
"outputs": [],
"source": [
"# Claims\n",
"claim_references = References() # Create a group of references\n",
"\n",
"claim_reference1 = Reference()\n",
"claim_reference1.add(datatypes.String(prop_nr='P828', value='Claim string reference'))\n",
"\n",
"claim_reference2 = Reference()\n",
"claim_reference2.add(datatypes.String(prop_nr='P828', value='Another claim string reference'))\n",
"\n",
"# Add each reference to the group of references\n",
"claim_references.add(claim_reference1)\n",
"claim_references.add(claim_reference2)\n",
"\n",
"claim_qualifiers = Qualifiers()\n",
"claim_qualifiers.add(datatypes.String(prop_nr='P828', value='Claim qualifier'))\n",
"\n",
"claim = datatypes.String(prop_nr='P828', value=\"Create a string claim for claim\", references=claim_references,\n",
" qualifiers=claim_qualifiers)\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Add claim to lexeme"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 8,
"outputs": [
{
"data": {
"text/plain": "<Claims @9fbe80 _Claims__claims={'P77771': [<Form @9fbf70 _Claim__mainsnak=<Snak @a481f0 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P77771' _Snak__hash='5362eb3a0f7cba043a1b2afbc0352fc16463b0de' _Snak__datavalue={'value': {'entity-type': 'form', 'id': 'L41-F1'}, 'type': 'wikibase-entityid'} _Snak__datatype='wikibase-form'> _Claim__type='statement' _Claim__qualifiers=<Qualifiers @a48100 _Qualifiers__qualifiers={}> _Claim__qualifiers_order=[] _Claim__id='L42$7bd50233-4080-3f02-5fc3-c01b905a58ed' _Claim__rank=<WikibaseRank.NORMAL: 'normal'> _Claim__removed=False _Claim__references=<References @9fbfd0 _References__references=[]>>, <Form @9fa9e0 _Claim__mainsnak=<Snak @a48190 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P77771' _Snak__hash='1ad1672f2ebc9e96628b20091d1c0f7f17f2ec65' _Snak__datavalue={'value': {'entity-type': 'form', 'id': 'L103-F1'}, 'type': 'wikibase-entityid'} _Snak__datatype='wikibase-form'> _Claim__type='statement' _Claim__qualifiers=<Qualifiers @a482e0 _Qualifiers__qualifiers={}> _Claim__qualifiers_order=[] _Claim__id='L42$e6a6d9c6-4874-05b9-b7e6-433e7904e624' _Claim__rank=<WikibaseRank.NORMAL: 'normal'> _Claim__removed=False _Claim__references=<References @a48340 _References__references=[]>>], 'P828': [<String @9fa590 _Claim__mainsnak=<Snak @a48070 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P828' _Snak__hash='dc920cec98f0e830c30011cd496108be8d50afab' _Snak__datavalue={'value': 'Create a string claim for claim', 'type': 'string'} _Snak__datatype='string'> _Claim__type='statement' _Claim__qualifiers=<Qualifiers @a482b0 _Qualifiers__qualifiers={'P828': [<Snak @a48460 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P828' _Snak__hash='351f871bfe166697d3270cc0df7df8d09603efb0' _Snak__datavalue={'value': 'Claim qualifier', 'type': 'string'} _Snak__datatype='string'>]}> _Claim__qualifiers_order=['P828'] _Claim__id='L42$1B581F6D-71B6-4861-8300-6C5CFEE80337' _Claim__rank=<WikibaseRank.NORMAL: 'normal'> _Claim__removed=False _Claim__references=<References @a483d0 _References__references=[<Reference @a48520 _Reference__hash='ef1ebde859c902590dfbe5a3bd7a2f7af01f4a4f' _Reference__snaks=<Snaks @a485e0 snaks={'P828': [<Snak @a48670 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P828' _Snak__hash='bae62d7b26cff18d5a9d277e04475fcb6bd9bcfb' _Snak__datavalue={'value': 'Claim string reference', 'type': 'string'} _Snak__datatype='string'>]}> _Reference__snaks_order=['P828']>, <Reference @a48580 _Reference__hash='77df7e5db38ec15b7abac0755c4dc8e781ba9369' _Reference__snaks=<Snaks @a48700 snaks={'P828': [<Snak @a48790 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P828' _Snak__hash='dcd0b956c352f2036bb7da153c4db941e74a803f' _Snak__datavalue={'value': 'Another claim string reference', 'type': 'string'} _Snak__datatype='string'>]}> _Reference__snaks_order=['P828']>]>>]}>"
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lexeme.claims.add(claim)"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
},
{
"cell_type": "markdown",
"source": [
"## Write the lexeme to the Wikibase"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%% md\n"
}
}
},
{
"cell_type": "code",
"execution_count": 9,
"outputs": [
{
"data": {
"text/plain": "<Lexeme @6a22c0 api=<wikibaseintegrator.wikibaseintegrator.WikibaseIntegrator object at 0x000001EBC16CBCD0>\n\t lastrevid=553469\n\t type='lexeme'\n\t id='L42'\n\t claims=<Claims @9fad10 _Claims__claims={'P77771': [<Form @a4a170 _Claim__mainsnak=<Snak @a49c90 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P77771' _Snak__hash='5362eb3a0f7cba043a1b2afbc0352fc16463b0de' _Snak__datavalue={'value': {'entity-type': 'form', 'id': 'L41-F1'}, 'type': 'wikibase-entityid'} _Snak__datatype='wikibase-form'> _Claim__type='statement' _Claim__qualifiers=<Qualifiers @a49de0 _Qualifiers__qualifiers={}> _Claim__qualifiers_order=[] _Claim__id='L42$7bd50233-4080-3f02-5fc3-c01b905a58ed' _Claim__rank=<WikibaseRank.NORMAL: 'normal'> _Claim__removed=False _Claim__references=<References @a49d50 _References__references=[]>>, <Form @a4a0e0 _Claim__mainsnak=<Snak @a49e40 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P77771' _Snak__hash='1ad1672f2ebc9e96628b20091d1c0f7f17f2ec65' _Snak__datavalue={'value': {'entity-type': 'form', 'id': 'L103-F1'}, 'type': 'wikibase-entityid'} _Snak__datatype='wikibase-form'> _Claim__type='statement' _Claim__qualifiers=<Qualifiers @a49d80 _Qualifiers__qualifiers={}> _Claim__qualifiers_order=[] _Claim__id='L42$e6a6d9c6-4874-05b9-b7e6-433e7904e624' _Claim__rank=<WikibaseRank.NORMAL: 'normal'> _Claim__removed=False _Claim__references=<References @a498d0 _References__references=[]>>], 'P828': [<String @a4a1d0 _Claim__mainsnak=<Snak @a4a530 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P828' _Snak__hash='dc920cec98f0e830c30011cd496108be8d50afab' _Snak__datavalue={'value': 'Create a string claim for claim', 'type': 'string'} _Snak__datatype='string'> _Claim__type='statement' _Claim__qualifiers=<Qualifiers @a49cf0 _Qualifiers__qualifiers={'P828': [<Snak @a4a410 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P828' _Snak__hash='351f871bfe166697d3270cc0df7df8d09603efb0' _Snak__datavalue={'value': 'Claim qualifier', 'type': 'string'} _Snak__datatype='string'>]}> _Claim__qualifiers_order=['P828'] _Claim__id='L42$1B581F6D-71B6-4861-8300-6C5CFEE80337' _Claim__rank=<WikibaseRank.NORMAL: 'normal'> _Claim__removed=False _Claim__references=<References @a4a050 _References__references=[<Reference @a48bb0 _Reference__hash='ef1ebde859c902590dfbe5a3bd7a2f7af01f4a4f' _Reference__snaks=<Snaks @a4a080 snaks={'P828': [<Snak @a49db0 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P828' _Snak__hash='bae62d7b26cff18d5a9d277e04475fcb6bd9bcfb' _Snak__datavalue={'value': 'Claim string reference', 'type': 'string'} _Snak__datatype='string'>]}> _Reference__snaks_order=['P828']>, <Reference @a4a110 _Reference__hash='77df7e5db38ec15b7abac0755c4dc8e781ba9369' _Reference__snaks=<Snaks @a496f0 snaks={'P828': [<Snak @a49660 _Snak__snaktype=<WikibaseSnakType.KNOWN_VALUE: 'value'> _Snak__property_number='P828' _Snak__hash='dcd0b956c352f2036bb7da153c4db941e74a803f' _Snak__datavalue={'value': 'Another claim string reference', 'type': 'string'} _Snak__datatype='string'>]}> _Reference__snaks_order=['P828']>]>>]}>\n\t lemmas=<Lemmas @a487f0 _LanguageValues__values={'en': <LanguageValue @a48760 _LanguageValue__language='en' _LanguageValue__value='answer' _LanguageValue__removed=False>, 'fr': <LanguageValue @a49060 _LanguageValue__language='fr' _LanguageValue__value='réponse' _LanguageValue__removed=False>}>\n\t lexical_category='Q1084'\n\t language='Q1860'\n\t forms=<Forms @6c83d0 _Forms__forms={}>\n\t senses=<Senses @6c8310 senses=[]>>"
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lexeme.write()\n"
],
"metadata": {
"collapsed": false,
"pycharm": {
"name": "#%%\n"
}
}
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 0
}