Szerkesztővita:Gyimbot/Összegképlet robot

Aktív megbeszélések

A magyar Wikipédia adatait használó alkalmazás. Összegyűjti a kémiai lapokat, kigyűjti belőlük az összegképleteket, és továbbítja az összegképlet-kereső alkalmazásnak. Külső wikire listát készít a vegyületekről és néhány statisztikát a kémiai lapok keletkezéséről.

Az eredmények helye:

A bot nyílt forrású, GPLv2 licensszel. A forrásprogram és az AMD64-es bináris egy debian repository-ból érhető el. Maga a bot egy C-programból, több lua-programból és shell-szkriptből áll.

A bot raspberry pi-n fut, raspbian disztribúcióban, az előbb már említett debian repositoryból forrásból letöltött debian-csomagokkal, pillanatnyilag[1] naponta háromszor: 6, 14 és 20 óra után pár perccel. Mivel a szócikkek különbségét tölti csak le, és azok ritkán változnak, a futási idő általában egy percen belül marad.

Újdonságok az előző verzióhoz képestSzerkesztés

  • A bot csak az előző lekérdezés óta megváltozott szócikkeket kérdezi le újra, a régebbieket az előző futás eredményéből veszi. Ez nagyságrenddel csökkentette a hálózati forgalmat és ennek következtében a futási időt.
  • A vegyület kémiai nevét az eddigi DISPLAYTITLE helyett az infoboxbeli névből veszi. (A szócikk neve és a DISPLAYTITLE is technikai megkötéseket alkalmaz a névbeli karakterekre és formázásukra.) A vegyületnév első nem helyjel betűjét nagybetűre változtatja (ezek sokhelyütt helytelenül szerepelnek az infoboxban is), és a vegyületneveket a kémiai rendezés szabályai szerint teszi sorrendbe. Az összes vegyület napra kész sorrendezett listája itt található.
  • Az infoboxból kigyűjti a SMILES-okat is, bár egyelőre nem dolgozza fel őket.
  • Kódrevízió, algoritmus egyszerűsítés.

MűködésSzerkesztés

Lépések:

  1. A bot lekérdezi a szócikk névtérből a kémiai sablonokra hivatkozó lapokat és azok utolsó módosítási idejét. Kémiai sablonok:
  2. Az előző lekérdezéshez képest módosult szócikkeket lekérdezi a Wikipédiából, és az infoboxból kinyeri a molekula nevét, összegképletét, SMILES-szát és időadatait. A nem módosult szócikkek adatait az előző lekérdezésből veszi. Időadatok: a szócikk létrehozási és utolsó módosítási ideje és szerkesztője.
  3. Az összegképleteket korrigálja a kézi listával, majd rendezi a kémiai (helyjelek nélküli) rendezés szabályai szerint.
  4. Az összegképleteket és vegyületneveket feltölti az összegképletkeresőt futtató webszerverre.
  5. A létrehozási és módosítási időkből wikilapot állít elő. Egy másik wikilapra statisztikákat készít a Wikipédia szócikkek létrehozásáról. A két wikilapot feltölti egy külső wikire.

Bővebb információ: man 1 kemiabot (a kemiabot debian-csomag telepítése után).

ElőzményekSzerkesztés

A bot első változata a wikidump-ból, mysql adatbázisból dolgozott. A következő átdolgozáskor a mysql-t online lekérdezésre változtattam, amikor pedig elvették a megerősített szerkesztői jogomat, a bot két wikilapját átköltöztettem a saját szerveremre.

Továbbfejlesztési tervekSzerkesztés

  1. A bot átalakítása az angol Wikipédia vegyületeire is. Azt remélem, hogy 2019 őszére készen leszek. (Meglévő adatokra fejlesztéskor az adatellenőrzés és -javítás a nagy munka.)
  2. Az összegképlet-kereső továbbfejlesztése a vegyület szerkezete szerinti keresésre. Valamikor 2020-ra becslem az indulást. (A SMILES-ok várhatóan az összegképleteknél is rosszabb állapotban lesznek, és itt új programokat is kell írni a SMILES-okból számolt összegképletek összehasonlításán kívül.)

HiányosságokSzerkesztés

Az összegképletek gyűjtéskor figyelmen kívül maradnak a polimerek és ionok (amelyek összegképletében betűvel adott az előfordulásszám, ill. amelyekben a töltést jelző előjel szerepel), valamint a kristályvizet tartalmazó vegyületek.

Ugyancsak kimaradnak a szabálytalan alakú összegképletek, amelyekben szabad szöveg, több képlet, vagy rosszul párosított HTML-elemek vannak, ill. amelyek a {{chem}}(?) sablonnal adottak, és zárójelet tartalmaznak.

JegyzetekSzerkesztés

  1. 2019. május 31.

További információkSzerkesztés

Kapcsolódó lapokSzerkesztés

Visszatérés Gyimbot/Összegképlet robot felhasználói lapjához.