# Simplify entities data ## Summary - [Simplify entity](#simplify-entity) - [Simplify entities](#simplify-entities) - [Simplify claims](simplify_claims.md) - [Simplify labels](#simplify-labels) - [Simplify descriptions](#simplify-descriptions) - [Simplify aliases](#simplify-aliases) - [Simplify sitelinks](#simplify-sitelinks) - [keep badges](#keep-badges) - [add sitelinks URLs](#add-sitelinks-urls) - [Simplify lemmas](#simplify-lemmas) - [Simplify forms](#simplify-forms) - [Simplify senses](#simplify-senses) ## Simplify entity Applying all simplifiers at once. See next sections for details. ```js wbk.simplify.entity(entity) ``` You can also pass options as a second argument, that will then be passed the subfunctions: currently only [simplify claims](simplify_claims.md) and [simplify sitelinks](#simplify-sitelinks). ```js const simplificationOptions = { // claims entityPrefix: 'wd', propertyPrefix: 'wdt', keepRichValues: true, keepQualifiers: true, keepReferences: true, keepIds: true, keepTypes: true, keepHashes: true, keepSnaktypes: true, keepNonTruthy: true, // For each property, keep claims with preferred rank, or normal rank if no claims has the preferred rank keepNonDeprecated: true, // For each property, keep all claims with preferred or normal rank timeConverter: 'simple-day', // sitelinks keepBadges: true, addUrl: true, } wbk.simplify.entity(entity, simplificationOptions) ``` ## Simplify entities Same as [`wbk.simplify.entity`](#simplify-entity), but accepts all the entities sent by the Wikibase API at once: ```js const url = wbk.getEntities({ ids: [ 'Q1', 'P2', 'L3' ] }) const { entities } = await fetch(url).then(res => res.json()) const simplifiedEntities = wbk.simplifyEntities(entities) // Do your thing with those entities data) ``` ## Simplify claims That's a huge chunk so it got it's own doc page: [simplify claims](simplify_claims.md) ## Simplify labels ```js wbk.simplify.labels(entity.labels) ``` Before: `{ pl: { language: 'pl', value: 'książka' } }`
After: `{ pl: 'książka' }` ## Simplify descriptions ```js wbk.simplify.descriptions(entity.descriptions) ``` Before: `{ pl: { language: 'pl', value: 'dokument piśmienniczy [...]' } }`
After: `{ pl: 'dokument piśmienniczy [...]' }` ## Simplify aliases ```js wbk.simplify.aliases(entity.aliases) ``` Before: `{ pl: [ { language: 'pl', value: 'Tom' }, { language: 'pl', value: 'Tomik' } ] }`
After: `{ pl: [ 'Tom', 'Tomik' ] }` ## Simplify sitelinks ```js wbk.simplify.sitelinks(entity.sitelinks) ``` Before: `{ plwiki: { site: 'plwiki', title: 'Książka', badges: ['Q17437796'] } }`
After: `{ plwiki: 'Książka' }` ### keep badges ```js wbk.simplify.sitelinks(entity.sitelinks, { keepBadges: true }) ``` Before: `{ plwiki: { site: 'plwiki', title: 'Książka', badges: ['Q17437796'] } }`
After: `{ plwiki: { title: 'Książka', badges: ['Q17437796'] }` *NB*: setting `keepAll` would also imply keeping sitelinks badges ### add sitelinks URLs ```js wbk.simplify.sitelinks(entity.sitelinks, { addUrl: true }) ``` Before: `{ plwiki: { site: 'plwiki', title: 'Książka', badges: [] } }`
After: `{ plwiki: { title: 'Książka', url: 'https://pl.wikipedia.org/wiki/Książka' }` ## Simplify lemmas *Specific to lexemes* ```js wbk.simplify.lemmas(entity.lemmas) ``` Before: `{ pl: { language: 'pl', value: 'książka' } }`
After: `{ pl: 'książka' }` ## Simplify forms *Specific to lexemes* ```js // return an array of simplified forms, that is, // the forms but with simplified representations and claims wbk.simplify.forms(entity.forms) ``` ## Simplify senses *Specific to lexemes* ```js // return an array of simplified senses, that is, // the senses but with simplified glosses and claims wbk.simplify.senses(entity.senses) ```