Skip to content

Commit

Permalink
Create lexeme_update.ipynb (#263)
Browse files Browse the repository at this point in the history
  • Loading branch information
LeMyst authored Dec 17, 2021
1 parent cac53e8 commit b305105
Showing 1 changed file with 293 additions and 0 deletions.
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
}

0 comments on commit b305105

Please sign in to comment.