Semantic Mediawiki: Enkelt och vettigt avgränsatd och troligt ett bra val för många trots långsam dataimport

2013-06-09

Med begränsad erfarenhet av MediaWiki som plattform presentation mot affärslogik och artificiella intelligenser och analys-systems resultat "organiserat" och sökbart var det en tämligen självklar utgångspunkt att tänka basplattformen utan att blanda in Semantic MediaWiki. Hela det teknik-området är ju vanligt problematiskt långsamt när man börjar komma upp i ordentligt med samband och än mer när relationerna inte är binära utan varierade i "attraktion" som funktion av tid.


Men läsande egentligen väldigt lite publicerat - och förvånande lite jämfört med hur dåligt organiserat jag upplevde att informationen var centralt för MediaWiki i faktisk tid resulterande anmärkningsvärt enkelt - framgick att MediaWiki egentligen bara är en tämligen "dum-plattform" med en eller flera små insticksmoduler bl.a. uttryckt i PHP med lite filer runt omkring jag inte tittat just på men antagligen bär logik och kanske ev. eget modulerna behöver.


Ingen nackdel med att installera in subsystem motsvarande MediaWiki såg jag - åtminstone innan man ger dem ansvar och uppgifter genom att sitta och arbeta på sidor anropande dem eller vi egna diskreta små databas operationer det hela tycks göra men jag inte riktigt tittat i detalj på.


Semantic MediaWiki var dessutom förvånansvärt vettigt begränsad i vad de försökt att göra. Den kändes som en nästan kulturell-stereotyp för tyskarnas ontologi-intresse och visade sig också driven av dom vilket också gjorde att jag förväntade mig mer filosofiskt konceptuella relationsidéer av sådan natur att de praktiskt i maskin-analys blir oerhört långsamt. Men förenklad ner till nära nog bara det mest grundläggande i hur vi utnyttjar systemet skjutande in data (medan analys-kod för sökande diverse logik runt dom semantiska graferna troligt är vad man intresserat sig mer för att koda mycket in en hel del i: Det finns ett ganska stort intresse hos både universitet och företag i Tyskland med ett tycks det väldigt långsiktigt perspektiv ganska tydligt just uttryckt i analys-system av typen resonera "mer binärt" om vad relationer av olika slag betyder och bygga upp små antagande som växer sig stora över tiden men universiteten i USA oftare tycks mer inriktade på statistiska lösningsmetoder.


Att de avgränsat uppgiften gör att man lättare kan abstrahera vad den är till för och avgränsa ansvar med också mindre behov att verifiera om den gör saker kanske störande affärslogik ej trivialt att alltid reda ut när det handlar om väldigt komplexa grundplattformar (jämför ex. med de moderna databas-koncepten från IBM, Oracle m.m. som blandar alla möjliga former av datarepresentation, logik, underhåll, import och export fordrande mycket goda kunskaper om det innan man ens kan börja tänka på att bygga det värde man söker mer än delmål att få databasen att fungera utan att störa eller begränsa logik.


Logiken prioriterad för sökning och samband känns dessutom vettigt kompletterande i områden jag haft mindre intresse att göra lika generella lösningar i egen-kod. Det är ju dessutom samtidig logik som endast belastar när faktiskt använt av slutanvändare (åtminstone på nivåer av betydelse annat än vid dataimport där det kanske adderar en kostnad också åtminstone om man optimerat representationen för snabba analys-svar).


Dessutom var två excellenta introduktioner praktiskt funktionella utan att överdrivet uttrycka mer än funktionellt ny med systemen men ändå indikerande de viktigaste möjligheter ett tydligt ett värde ej trivialt:


Första länken är en längre guid och den man bäst utgår från vid installationen. Instruktioner tillsammans med Ubuntu-paketet gick ex. ej bra för mig innan jag gjorde en del saker indikerade här (ev. missade jag det i Ubuntu-informationen). Utmärkt som första introduktion.

Semantic MediaWiki 1.4.3 - User Manual | Semantic-mediawiki.org

Denny Vrandecic, Dominika Wloka, Markus Krötzsch, Yaron Koren, et al.,
Publicerad av: ontoprise GmbH | Ontoprise.de

Nedan sammanfattad information av åtminstone väldigt mycket av alla delar. Mycket praktisk för att snabbt se vilka möjligheter som egentligen finns för att lösa en del av vad som behöver göras.

Quick reference | Semantic-mediawiki.org .
Yaron Koren.

Precis som elegansen i grundkoncept överraskade klarade man här också av att förvåna med att man (åtminstone / redan) nådde upp till det nästan löjliga när systemet ska få data infört från andra system. Ingen verklighetsförankring från mitt användningsperspektiv verkar heller alls vara vad man i projektet noterat ännu.


Perspektivet i projektet är tänkt användning övergripande i Wiki-projekten där större importer sker mer sällan och istället många små "importer" från alla användare.
Att initialt ta in en kanske om sortering i namngivning lite generöst belastande databasens storlek på hårddisken är fungerande säg 50 000 000 koncept-sidor förutom själva relationerna är vad tänk och rekommenderade metoder ej är tidsmässigt förtroendeingivande för.


Det närmaste jag kom lösningar enkelt beskrivna (istället för inte alls) för att direkt skjuta in datat till databasen var istället för Pyton-skript läsande owl-filer och skickande det omvandlat till Wikimedia's intern-struktur till Wikimedia's webb-api (för parsning igen givetvis säkert på mer än en nivå) var detta underhållsskript:



"/var/lib/mediawiki/maintenance/" ."importTextFile.php".


Mycket troligt finns snabbare metoder men vad som hittades på den tid jag önskade lägga. Givet att vi här uttalat kan köra skriptet från kommando-prompt utanför själva Mediawiki-systemet blir det snabbare (när kö-hantering i Wikimedia inte just är problemet eller utmaningen för oss här utan heller någon negativ-sida).


Trots det mycket långsamt. Hårddisken låter på förvånande nivåer också för ganska små datamängder som kanske 100 till 1000 sidor uttryckande endast kategori- och property-relationer går in. På nivå med cirka 10 - 20 trådade Perl-processer som läser och skriver data i ganska hårda-loopar om än normalt för mig några sleep-inlagda av och till åtminstone på några milli-sekund av och till.


Men så har ju data't då gått en ordentlig väg trots kommando-prompts-körningen innan den slutligen hamnar i den databas jag ej varande någon expert eller ens särskilt kunnig alls om SQL m.m. nära nog kände att jag kanske hellre borde ha gett mig på att försöka oavsett ännu ganska dålig bild av hur enkelt det är att ta MediaWiki att korrekt följa upp sådant i ev. (och troliga) händelser den behöver göra när något nytt kommer (ex. optimeringar mot dess egen logik mer problematiskt för mig att uttrycka i kod mot databasen utan att ta ut den från deras plattform eller utsätta mig för traumatiskt krävande föga belönande utveckling av prospekterande stöd för det i Wikimedia's värld av massor av ofta lite ofullständig dokumentation).



>Importen till höger presterat till kanske 0.3% efter en försvarlig tid. Just nu säkert en eller två timmar senare på AJ. Med e och diverse andra otäcka bokstäver som första kvar. Till vänster om jag minns rätt några av de named relations som tas in i denna import. Faktiskt har vi ännu inte börjat kört in datat utan verifierar att inga dubletter finns i den MediaWiki-logik som skapas. Det tycks lite odefinierat för hur redundant-data alla gånger egentligen fungerar och också om det troligen ej är något egentligt problem med logik är det vettigt att varje system verifierar ner ökande som en funktion av dess vetskap och förståelse av datat nära dess kod (d.v.s. att jag helst inte vill behöva veta vad MediaWiki gör med datat i dess arbete vad vi hellre gör lite extra-filtrering innan skickande in det).

Nu tänkte jag börja köra in dom första miljonerna raderna koncept gjorda. Så får vi se om det kommer några skärmdumpar av det kanske tillsammans med en sammfattande publicering av dom skämtteckningar jag gjort bakåt i tiden relaterat Tyskland med kanske utlovade behov att helt prioritera ner Obama med flera fallstudier studerade i det komiska för att inrikta mig på att håna Tyskland i allt semantiskt för att avskräcka dem från att sprida något smärtsamt ut i världen. Humor är ju ett mycket potent vapen jag tror många fler än jag kan ha nytta för att standardiserat verktygsmässigt skapa värde från för att motivera diverse öppen-källkods-projekt m.m. att få rätt brukshöjd i vad skapar genom att addera en kul men samtidigt kompletterande motivations-area bredvid status- och makt-strider i grupperna om vem som kodar mest och bäst m.m. vi kan gissa tar mycket tid (åtminstone jag kan då inte se någon annan motivation förutom externt adderande komisk learning by shaming m.m. som kan spela in viket i sig på längre sikt kan bli ett problem om något av äppen-källkods-projekten konvergerar till en stark ledare med kraft i gruppen att försöka marschera ut för att utmana dagens betydelsefulla geo-politiska aktörer: den stora frågan är kanske om man kommer ta allians med NATO eller Kina och hur det påverkar utgången i det tredje-världskrig jag tror vi givet allat som skapas på nätet i kaotiska konflikter mellan teknik-plattformar m.m. helt säkert kommer bryta ut förr eller senare).


Men jag känner mig tämligen positiv i förväntan. Trots utmaningarna prestanda import har det överraskat i också fler små-indikationer än diskuterat att det kan vara ganska välgjort i inriktning en bra grund-plattform.