WdBot czyli boty dla Wikidanych

Data startowa: 
niedziela, 17 Wrzesień, 2023
install: npm i wdbot; use exported classes or utils

WdBot (lub WikidataBot) – narzędzie pośredniczące w operacjach na API Wikidanych. Bot był testowany z dużymi partiami danych i wydania znajdujące się w NPM powinny być stabilne.

Skrypt z wdbot może być używany do odczytu wielu rekordów WD (elementów Q) oraz kasowania wybranych lub wszystkich wartości z danej właściwości (P).

Techniczne ciekawe elementy:

  1. Użycie wąskiej warstwy abstrakcji dla biblioteki MWN do automatyzacji.
  2. Narzędzia (utils) do uruchamiania wielu asynchronicznych zadań jednocześnie (współbieżnie).
  3. Intensywne wykorzystanie async przemieszanego z Promise.
  4. Stosunkowo prostu moduł w NPM.

Sposób użycia:

Instalacja:

npm i wdbot

Użycie w swoim pliku Node.js (package: "type": "module", albo plik.mjs):

import { utils } from 'wdbot';
 
async function runOps() {
    const startTime = performance.now();
 
    // jakaś długa lista
    const someList = [,,,,,,,,,,,,,,];
 
    // asynchroniczne operacje na części listy (np. pobranie danych)
    const asyncOp = (chunk) => {
        return new Promise((resolve, reject) => {
            // jakieś operacje na `chunk`...
            resolve();
        });
    };
    await utils.runInBatches(someList, asyncOp);
 
    // czas wykonania operacji
    const elapsed = utils.formatTime(startTime, performance.now());
    const elapsedPerRecord = utils.formatTime(startTime, performance.now(), someList.length);
    console.log(`Elapsed time for loadMany: ${elapsed} (per record: ${elapsedPerRecord}).`);
}
 
await runOps();

Linki

Rodzaj:

Licencja:

Wersje językowe:

Technologie: