drewno-pasek.jpg

 

    Ludzie patrzą na Ukrainę i nie wierzą własnym oczom i uszom. Rosja eskaluje konflikt, wybuchają demonstracje, protesty i akty separatyzmu, nieledwie cześć wschodnich obwodów deklaruje nie tylko prorosyjskość ale i wręcz separację i przynależność do Rosji. I nic. Ukraińcy oddają Ukrainę bez walki? Dlaczego nikt nie strzela do tłumu – zadaje sobie pytanie przeciętny polski inteligent przyzwyczajony do tego że do tłumu strzelać należy, inaczej władza jest niewarta szacunku ( nie wiem skąd te poglądy w kraju w którym zasadniczo nikt, nawet Jaruzelski do tłumu nie strzelał – przypomnijmy że pomimo zajść w Kopalni Wujek itp. w całej Jaruzelskiej RP zginęło mniej ludzi niż na Ukrainie w ciągu kilku tygodni “budowy demokracji”. Nie wiem skąd ten pęd do gloryfikacji przemocy – oczywiście zawsze w imię “wyższych celów”. Najpewniej dzieci bite biją własne dzieci – może dlatego nie mamy w Polsce szacunku dla życia ludzi?). Jak to wiec jest – że Ukraińcy nic nie robią?

    Ukraińcy zostali poddani działaniu, czy tez ulegli atakowi – nowej broni. Broni przed która nie potrafią sie bronić, bo klasyczne arsenały nie są w stanie odeprzeć takiego ataku, a polityczne i militarne dyletanctwo nie pozwala na rewizję taktyki.

    Nie przeceniając roli Rosji i Putina, trzeba zdać sobie sprawę z jednego – to co obserwujemy to politycznie i militarnie jest bardzo skomplikowaną operacją logistyczną. Z innych tego typu wydarzeń na świecie ( Syria, Egipt, Libia) widać że bardzo trudno jest rozpętać konflikt i go kontrolować – przynajmniej Amerykanom sie to jeszcze nigdy w pełni nie udało, a na Ukrainie Rosjanom jak na razie, udaje sie to perfekcyjnie. Widać że Rosjanie mieli to zaplanowane od dawna, oni w jakiś sposób utrzymują to napięcie a nie powodują eskalacji przemocy. Nawet na Krymie to było widać- jacyś ludzie, coś zajmowali, gdzieś stali, kogoś blokowali, a na koniec była rosyjska flaga. Tego sie nie zrobi  “Gromem” i “Formozą”. Wyobraźcie sobie wyszkolenie żołnierzy ( agentów?) którzy z jednej strony są w stanie brać udział w walkach, ale na co dzień, w trakcie normalnych działań, są w stanie manipulować tłumem, wygłaszać przemówienia, działać jak partyzanci w grupie po 10-15 osób i destabilizować całe miasto czy obwód.
    To jest nowy rodzaj sił zbrojnych. Pewnie że ich zastosowanie nie udałoby sie powiedzmy w Niemczech. Ale jestem pewien że oni mają jednostki tego typu dedykowane do działań w krajach postsowieckich, gdzie sa w stanie zapewnić kulturową bliskość “agentów” i ludności cywilnej.

    To jest coś przy czym armia wyposażona w bomby, pistolety i czołgi wygląda jak młotek naprzeciw smartfona. Oni to przygotowywali w sensie strategicznym przez całe ostatnie 20 lat. Kluczowymi elementami tej strategii są jak przypuszczam:

  1. użycie niewielkich grup 10-15 osobowych, złożonych z ludzi doskonale znających środowisko lokalne, język, kulturę, może nawet posiadających znajomości.
  2. użycie ludności cywilnej jako broni – ludzi wychodzą na ulice i demonstrują. Odpowiednie działania sprawiają że destabilizuje to lokalne struktury władzy.
  3. partyzancka taktyka działań – duża mobilność, samodzielność, poleganie na oddziaływaniu psychologicznym, absolutna wstrzemięźliwość w użyciu broi. Jeśli mamy tam do czynienia z jakąkolwiek formą dowodzenia – ma ono charakter lokalny i wysoce samodzielny.
  4. brak przywódców, nie ma z kim negocjować, nie ma kogo złapać i pokazać przed kamerami.
  5. stosowna oprawa propagandowa skierowana zarówno do świata jak i nawet przede wszystkim do własnego społeczeństwa
  6. wirtuozowska oprawa dyplomatyczna, w której niby nic nie wiadomo, a w istocie wiadomo wszystko, niby deklaruje sie dobrą wolę ale nie wiadomo cóż jest to to gra na czas czy realna deklaracja intencji itp.
  7. głębokie zintegrowanie strategii działań wojennych z działaniami gospodarczymi.

    Wydaje sie że Rosjanie wyciągnęli tu wnioski z analiz konfliktów animowanych na całym świecie przez CIA i opracowali strategię postępowania która jest skuteczniejsza. Widać tu pewnego rodzaju biegłość polityczna i strategiczną która wydaje sie jednak ze przewyższa to co się śni naszym, wychowanym na starodawnych pomysłach i przywiązanym do idei potęgi ciężkiej broni, dowódcom. Dla mnie to ważna konstatacja, bo nie tyle każdy z osobna ale wszystkie razem punkty 1-7, ich głęboka integracja, świadczy o tym że mamy do czynienia najprawdopodobniej z nowoczesną doktryną konfliktu przy zastosowaniu nowoczesnych środków jego prowadzenia.

    Warto zwrócić uwagę na punkt 7. Jak wiadomo nikt Putinowi krzywdy nie zrobi bo wszyscy potrzebują jego ropy i gazu ( oczywiście poza akwizytorami strony przeciwnej którzy będą dowodzić że obędziemy sie bez gazu i ropy Putina jeśli kupimy – całkowicie bezpieczny i nieszkodliwy dla delfinów  – gaz i ropę akwizytora. Trzeba pamiętać że wojna jest doskonała okazją do interesów i np. Wielka Brytania podczas II Wojny Światowej wyprzedała  na rzecz USA całe Imperium). Jeśli ktoś sądzi że Rosja budując swoje rurociągi posługuje sie koncepcją “rura ma iść tak żeby było tanio, niech w przetarg wygra najtańsza oferta”  zwyczajnie wierzy ze cały świat stosuje Polnische Wirtschaft. Nie jest to prawda. Budując skomplikowane przedsięwzięcia gospodarcze, kraje w których nie rządzą idioci, biorą pod uwagę nie tylko ich znaczenie gospodarcze ale i strategiczne, polityczne, społeczne i w tym militarne. Rosja brała je pod uwagę – na pewno. Ukraina jest zakładnikiem Rosyjskiej dobrej woli w zakresie dostaw ropy i gazu. Ktoś w Rosji zadał sobie pytanie – jak będziemy robić interesy z Niemcami kiedy w Polsce powiedzmy – taki fantastyczny scenariusz -  CIA osadzi swojego agenta wpływu w MSZ? I narysowali rurę tak, żebyśmy nie mieli wpływu na jej działanie. Zadajmy sobie pytanie – co mogliśmy/możemy zrobić? Nie ma i jeśli to co piszę jest prawda – nie będzie wojny. Nikt nie przyjdzie nam z pomocą bo nie ma w czym nam pomagać. Rosja z Niemcami sie dogadają, a do ropy do Polski objętej sankcjami nikt nie będzie dopłacał, co oznacza że jeśli Radek nadal będzie podskakiwał ( na szczęście ktoś mu dał po łapach i ostatnio po oszałamiających sukcesach w wyzwalaniu Ukrainy nieco przygasł) to Rosja podniesie nam ceny ropy a zachód im tylko – w imię pokoju -  przyklaśnie widzą okazje do pośrednictwa w jej sprzedaży.

    Co należało zrobić? Aby popsuć strategię w pt. 7. należało uczestniczyć w interesach. Należało być entuzjastą który rozumie własny interes, dołożyć swoje trzy grosze, i mieć swojego człowieka w zarządzie Nord Stream i innych tego typu przedsięwzięciach. Kogoś kto potakuje w sprawach nieważnych, ale mówi veto ( raz na 10 lat ) wtedy kiedy to istotne.  No ale trzeba wiedzieć co jest ważne.. Rozumienie takie zakłada pojęcie patriotyzmu, znajomości interesów własnego kraju, szacunek dla własnego społeczeństwa i własnych korzeni, tego wszystkiego czego w Polsce nie rozumieją elity, którym od wieków bliższy jest Paryż ;-). Można zatykać nos, ba1 to słuszne, jak sie patrzy na Schroedera. Ale chyba nikt nie ma wątpliwości której strony interesy on w tym Nord Stream reprezentuje. Taki styl uprawiania polityki, z jakimś zamysłem, z użyciem rozumu, z koncepcją wykraczająca poza wymachiwanie szabelką w nadziej że jakieś mocarstwo doceni to machanie i nagrodzi – niestety nie jest naszą mocną stroną.I niestety patrząc na naszą scenę polityczną trudno czasem powiedzieć czyje interesy reprezentują nasi politycy…

    Pozostaje nieć  nadzieję ze pozostałe punkty planu – czyli 1-4. nie są możliwe do zastosowania w Polsce. Nie chciałbym by ktoś odniósł mylne wrażenie że chodzi  “kwestię mniejszości rosyjskiej” – nie chodzi i to zupełna bzdura tka myśleć. W Egipcie czy Syrii nie było żadnej “mniejszości amerykańskiej” a udało sie tam wywołać całkiem identyczne zajścia jak na Ukrainie ( tyle że nie udało sie ich kontrolować). Chodzi o wywołanie podziałów, dla której to strategii konieczne jest istnienie wektora wpływu. A nim może być jakikolwiek mocny i trwały podział społeczny poddający sie manipulacji.  ( Czy na pewno Polska jest wolny od konfliktów? ). Stąd przynajmniej pod tym względem możemy spać bezpiecznie…

felicjan.jpg

    Czego pożąda Polak? Po latach bycia Chrystusem Narodów, Przedmurzem Chrześcijaństwa, Obrońcą Wolnego Świata przed atakiem bolszewizmu, najbardziej Doświadczonym Narodem w Historii, i Wielkim Więźniem Sumienia, naród Nasz jak nigdy wcześniej pożąda sukcesów globalnych a to w następujących dziedzinach ( kolejność przypadkowa):  
1.jeśli już nie mamy własnej antymaterii i broni jądrowej, to niechże chociaż Demokratyczne Mocarstwa Atomowe postępują wyłącznie zgodnie z naciskiem Polskiej Racji Stanu!
2. skoro już jesteśmy najszybciej się Rozwijająca Gospodarką Świata ( Chin i kilku innych państw nie należy liczyć bo rozwijają się niesłusznymi metodami) niechże ktoś o nas dba, i doceni jak ważne dla świata ( i Europy!) jest nasze PKB.
3. niechże ktoś wreszcie zwróci uwagę na fakt że mamy najlepszych na Świecie Programistów ( choć nie mamy przemysłu komputerowego)

    Wobec bezprzykładnej i krwawej agresywnej i zbrodniczej Rosji, należy podjąć działania o których wiadomo ze będą skuteczne. Przez całe lata przekonywali nas eksperci że można wymusić wszystko jeśli się po prostu nie kupuje czegoś ( soli, cukru, niesłusznej gumy do żucia), zaś fakt że w pewnych wypadkach działanie to nie skutkuje ( powiedzmy pracodawca wyzyskuje i okrada pracowników – czego nie kupować by przestał? Chiny traktują podle dysydentów – czego nie kupować by zaczeły traktować z szacunkiem? ) kładziono oczywiście na karb naszej winy i nieporadności w demokratycznej organizacji. Skoro nie skutkuje, to wcale nie znaczy że jest nieskuteczne. Nie! Znaczy tylko że to my, homo sovieticus, nie umiemy tego robić. W imię tej filozofii ultraskuteczności niekupowania, czy szerzej nierobienia, wymyślano nam że nie potrzeba reformować służby zdrowia, wystarczy nie korzystać jak nam się nie podoba. Nie trzeba walczyć z wysokimi cenami żywności – wystarczy nie jeść i ceny spadną. Jeśli bogaci nie płaca podatków, wystarczy zagrozić im że nie będziemy ich oglądać w telewizji, a oni posrają sie ze strachu i zaczną płacić.

    Trudno ocenić czy ludzie którzy propagują taką wiedzę zawodowo ( tzw. spin doktorzy od socjotechniki neoliberalnej ) wierzą w te dyrdymały czy też sprytnie podają je ludziom do wierzenia jako tzw. strategie zarządzania ( permanentnym) kryzysem.

    Dosyć że znaleźliśmy się w ciekawej sytuacji. Oto okazuje sie owe proste recepty sa niemożliwe do wprowadzenia w skali państw. Oto państwo jak USA, organizacje jak UE, czy kraje jak Polska, które zaleca obywatelowi by głosował portfelem, jednocześnie samo nie jest w stanie, nawet wobec tak jawnego politycznego zagrożenia i oczywistej potrzeby podjęcia działań, wykonać tego co samo zaleca każdemu ( oczywiście każdemu, kto nie jest nastawionym roszczeniowo Homo Sovieticus!). Zwykłego ograniczenia kontaktów z podmiotem które w uzasadniony sposób powinien ponieść karę! Z czym sie wszyscy zgadzają!

    Państwo stwierdza w odniesieniu obywatela, który korzysta z usług firmy która go oszukuje i dotkliwie obciąża wielkimi opłatami za kiepską jakość usług, że skoro nie zrywa umowy, sam sobie winien. I niech ma. Nic nikomu do tego – toż to wolny rynek, a regulacja, nawet gdyby miała karać złodzieja, oszusta i cwaniaka, przecież byłaby wbrew zasadom! Nie, państwo nie jest od zapewniania sprawiedliwości obywatelom ( ostatnio nie bardzo wiadomo w ogóle od czego jest państwo, bo właściwie wyjaśniono że prawie od niczego… Po co takie wysokie pensje ministrów?). Czy można zatem, stwierdzić że UE, USA i Polska są same sobie winne bo przecież zwyczajnie mogą zmienić sobie dostawcę ropy i po krzyku? A jak nie tego nie robią – to ich ( nasza? osobiście nie poczuwam sie…) wina?

    Ktoś ludziom którzy tak protestują wmówił że pewne działanie da efekt. A jak widać – efekt jest mizerny a działanie głupie… I nagle okazuje sie że klasa polityczna niewiele więcej umie zrobić. Bo i większość kwalifikacji tych panów sprowadza sie do niezwykłych wprost kompetencji w wyjaśnianiu dlaczego obywatel jest sam sobie winny swojej biedy. I dlaczego czegoś tam nie można bo brak pieniędzy. Prawdę mówiąc jeszcze nie słyszałem w Polsce by polityk, a zwłaszcza tzw. ekspert ekonomiczny, mówił że coś da sie zrobić ( o przepraszam, przypomniałem sobie telewizyjne pogadanki Kuronia, który stwierdzał ze coś jest możliwe, ale… ).  

Lekarzu – ulecz sie sam?

lod-datasets_2011-09-19_1000px

    W poprzednim wpisie zajmowaliśmy sie importem danych. Tym razem pobawimy się SPARQL. Jest to język odgrywający podobną rolę jak SQL w wypadku relacyjnych baz danych. W przypadku SQL mamy do czynienia z formalizacją zapytań dotyczących algebry relacyjnej zbiorów w bazie danych. W wypadku SPQRQL mamy do czynienia z formalizacją zapytań dotyczących algebry wierzchołków grafu. Brzmi ciekawie.

    Baza danych semantycznych, jak już pisaliśmy, ma postać trójek w postaci <S,P,O> gdzie S to subject, P to predykat a O to object. Jeśli w naszych danych ten sam subject ma wiele cech ( Predykatów) to można taki fakt reprezentować w postaci grafu w którym subject i jest wierzchołkiem wyjściowym a obiekty to wartości cech których nazwy to predykaty. Pisałem o takiej konstrukcji kiedy mówiliśmy o ontologiach – czyli formalnym opisie własności obiektu. Zarazem ontologia pokazuje zwykle hierarchię obiektów – jak w biologii – roślina->drzewo->dąb. I w tym przypadku może być podobnie bo ten sam subject może być powiązany z innymi jakimiś zależnościami.

    W poprzednim wpisie sprawdziliśmy jakie cechy ( predykaty) opisują dane w naszym grafie z Projektu Gutenberg. Wśród nich znaleźliśmy miedzy innymi takie: http://purl.org/dc/terms/creator oraz http://purl.org/dc/terms/title co sugeruje autora i tytuł. Sprawdźmy zatem co sie pod tym predykatem kryje. POniższe zapytania były wykonywane za pomocą interfejsu w przeglądarce, zwanego conductorem, który pozwala odpytywać bazę Virtuoso i jest dostępny po jej zainstalowaniu i uruchomieniu pod adresem: http://localhost:8890/conductor/ w sekcji “Linked Data”, SPARQL. Ta sekcja nadaje się do interaktywnych eksperymentów. Do obsługi zapytań programowych ( być może opiszę jej użycie w kolejnych wpisach) używam tzw. endpointu ( końcówki?) http://localhost:8890/sparql i tej właśnie będę używał ( gdyż generuje w wyniku kod html łatwy do umieszczenia na blogu).

    Zacznijmy od prostego zapytania:

select ?creator, ?title
 from <http://gutenberg.new>
 where{
 ?s <http://purl.org/dc/terms/creator> ?creator.
 ?s <http://purl.org/dc/terms/title> ?title.} limit 10

    Klauzula limit 10 ogranicza ilość wyświetlanych wyników. Po uruchomieniu uzyskałem następujący wynik ( tabela poniżej jest przeklejonym html-em z endpointu Virtuoso):

creator title
http://www.gutenberg.org/2009/agents/3579 Poetry
http://www.gutenberg.org/2009/agents/41561 Poetry
http://www.gutenberg.org/2009/agents/38898 Sermons
http://www.gutenberg.org/2009/agents/546 Essays
http://www.gutenberg.org/2009/agents/1486 Essays
http://www.gutenberg.org/2009/agents/1440 Essays
http://www.gutenberg.org/2009/agents/5466 Etiquette
http://www.gutenberg.org/2009/agents/9318 Etiquette
http://www.gutenberg.org/2009/agents/998 Meditations
http://www.gutenberg.org/2009/agents/34332 Games

    O ile sekcja title być może wydaje sie sensowna o tyle widać ze zobaczyliśmy identyfikator autora a nie jego imię i nazwisko. Pewnym mankamentem jest także fakt że musieliśmy pisać długie nazwy predykatów. Sprawdzając po raz kolejny zbiór predykatów znajdujemy inny niż http://purl.org/dc/terms/creator predykat http://www.gutenberg.org/2009/pgterms/name . Spróbujemy go użyć. Poniższe query zawiera definicję “przestrzeni adresowych” spakowaną w dogodną formę deklaracji prefix, co pozwala na bardziej czytelną postać samego querry. Zmieniłem też “sposób wędrówki po grafie, tym razem nie zaczynamy od autora ale od książki ( linia ?s pp:title ?title)

prefix pp: <http://purl.org/dc/terms/>
 prefix gg: <http://www.gutenberg.org/2009/pgterms/>
 select ?ID, ?autor, ?title
 where{
 ?s pp:title ?title.
 ?s pp:creator ?ID.
 ?ID gg:name ?autor.
 }
 order by ?autor
 limit 10

    Wynik zapytania to:

ID autor title
http://www.gutenberg.org/2009/agents/3425 “Colored Quartet” (name unknown) Pharoah’s Army Got Drownded
http://www.gutenberg.org/2009/agents/37381 A Gentleman of Elvas [pseud.] A Narrative of the expedition of Hernando de Soto into Florida published at Evora in 1557
http://www.gutenberg.org/2009/agents/42956 A’Beckett, Gilbert Abbott The Comic History Of England
http://www.gutenberg.org/2009/agents/4360 A-No. 1 The Trail of the Tramp
By A-No. 1, the Famous Tramp, Written by Himself from Actual Experiences of His Own Life
http://www.gutenberg.org/2009/agents/31385 A. L. O. E. The Crown of Success
http://www.gutenberg.org/2009/agents/31385 A. L. O. E. Hebrew Heroes
A Tale Founded on Jewish History
http://www.gutenberg.org/2009/agents/31385 A. L. O. E. The Rambles of a Rat
http://www.gutenberg.org/2009/agents/31385 A. L. O. E. The Haunted Room
A Tale
http://www.gutenberg.org/2009/agents/31385 A. L. O. E. The Spanish Cavalier
A Story of Seville
http://www.gutenberg.org/2009/agents/38745 A.E. The Hero in Man

    Oczywiście kolumna ID nie jest nam do niczego potrzebna, możemy więc ją całkowicie opuścić w prezentacji dalszych zapytań. Cóż to za dziwny autor A.L.O.E.? Sprawdźmy jakie jeszcze książki napisał. Możemy w tym celu użyć komendy filter jak w poniższym przykładzie ( proszę zwrócić uwagę, że musiałem skopiować A. L. O. E. ze spacjami w środku. prościej byłoby zrobić to samo za pomocą ID):

 prefix pp: <http://purl.org/dc/terms/>
 prefix gg: <http://www.gutenberg.org/2009/pgterms/>
 select ?autor, ?title
 where{
 ?s pp:title ?title.
 ?s pp:creator ?ID.
 ?ID gg:name ?autor.
 filter ( ?autor = 'A. L. O. E.')
 }
 order by ?title

Oto wynik:

autor title
A. L. O. E. Hebrew Heroes
A Tale Founded on Jewish History
A. L. O. E. The Crown of Success
A. L. O. E. The Haunted Room
A Tale
A. L. O. E. The Rambles of a Rat
A. L. O. E. The Spanish Cavalier
A Story of Seville

    Jak widać A. L. O. E. jest autorem kilku pozycji. Ciekawe jak wygląda sprawa z innymi autorami. Poniższe query pokazuje tych którzy są autorami więcej niż 5-ciu pozycji, na dodatek posortowaliśmy autorów od najbardziej płodnych czyli w kolejności malejącej ilości dzieł. No i dla czytelności ograniczyłem ilość wyników do 10-ciu ( a kto ciekawy zobaczy więcej u siebie):

 prefix pp: <http://purl.org/dc/terms/>
 prefix gg: <http://www.gutenberg.org/2009/pgterms/>
select ( count(?s) as ?ilosc ), ?creator
 from <http://gutenberg.new>
 where{
 ?s pp:title ?tytul.
 ?s pp:creator ?ID.
 ?ID gg:name ?creator.
 }
 group by ?creator
 having ( count(?s) > 5 )
 order by desc(?ilosc)

A wynik to:

ilosc creator
2774 Various
672 Anonymous
306 Shakespeare, William
215 Lytton, Edward Bulwer Lytton, Baron
212 Twain, Mark
170 Ebers, Georg
163 Dickens, Charles
150 Unknown
143 Verne, Jules
134 Parker, Gilbert

    Jak widać można bawić sie SPRQL-em całkiem podobnie jak SQL. SPARQL, ma całkiem podobne jak SQL składnie i dyrektywy ( select, insert itp.), ale pośród nich sa tez i takie których w SQL nie ma. Jedną z nich jest dyrektywa CONSTRUCT, która w odróżnieniu od pokazanych powyżej, które zwracają “raport” z wykonania, zwraca w wyniku graf, a wiec plik rdf ( w jednej z zadanych postaci, a jest ich wiele od pliku z trojkami, przez html, na rdf-ie w składni xml, czy jsonie skończywszy).

Użyjemy klauzuli CREATE by wykreować sobie następujący graf. Z przykładów powyżej widać że wielu autorów ma na swoim koncie więcej niż jedno dzieło. Oczywiście wśród nich sa i tacy co maja na swoim koncie dzieła pisane we współpracy z innymi autorami. Poniższe query zwraca pozycje z Gutenberga w kolejności od największej ilości autorów do najmniejszej:

 prefix pp: <http://purl.org/dc/terms/>
 prefix gg: <http://www.gutenberg.org/2009/pgterms/>
select ?s, ( count(?ID) as ?ilosc )
 from <http://gutenberg.new>
 where{
 ?s pp:title ?title.
 ?s pp:creator ?ID
 }
 group by ?s
 order by desc(?ilosc)

    Jak widać dzieło http://www.gutenberg.org/ebooks/40718 czyli ( proszę klinknąć!) – “Atlantic Narratives: Modern Short Stories; Second Series by Mary Antin et al.” ma aż 24 autorów. Byłoby zabawnie zatem zobaczyć graf w którym wierzchołkami byliby autorzy ( ich identyfikatory uzupełnone etykieta nazwiska), zaś krawędź między wierzchołkami oznaczałaby że autorzy ci napisali razem książkę. Zapytanie takie wymaga by wykluczyć złączenia “autora z siebie samym” stąd klauzula FILTER w zapytaniu:

prefix pp: <http://purl.org/dc/terms/>
 prefix gg: <http://www.gutenberg.org/2009/pgterms/>
 PREFIX : <Author>
construct { ?ID1 :Name ?autor1. ?ID1 :WroteTogetherWith ?ID2. } where{
 ?s pp:title ?title.
 ?s pp:creator ?ID1.
 ?s pp:creator ?ID2.
 ?ID1 gg:name ?autor1.
 ?ID2 gg:name ?autor2.
 filter(?ID1 != ?ID2)
 }
 order by ?ID1

    Zwrócę uwagę że w deklaracji CONSTRUCT powyżej mamy następujące elementy ( definicja grafu):

  1. pole ID1 które podaje unikalny numer wierzchołka
  2. pole autor jako object które podaje nazwę – etykietę – wierzchołka, którą jest oczywiście imię i nazwisko
  3. pole WroteTogetherWith które podaje współautorów piszących z danym autorem ID1
  4. zdefiniowałem sobie globalny i domyślny PREFIX <Author> który jest dołączany wszędzie tam gdzie używam dwukropka “:” bez określenia innego prefiksu – czyli w predykatach :Name oraz :WroteTogetherWith które sa tworzone w wynikowym grafie.

Wynik ( fragment), w postaci pliku trujek, wygląda tak:

Subject Item
n2:1
AuthorName
United States
AuthorWroteTogetherWith
n2:396 n2:141
Subject Item
n2:65
AuthorName
Shakespeare, William
AuthorWroteTogetherWith
n2:39948 n2:9129 n2:6042 n2:407 n2:39704
Subject Item
n2:216
AuthorName
Anonymous
AuthorWroteTogetherWith
n2:37263 n2:42275 n2:16 n2:583 n2:1919 n2:3592 n2:38998 n2:146 n2:26322 n2:39598

Ten sam fragment w postaci listy HTML jest taki:

itp. itd.
     W następnym odcinku, jeśli w ogóle nastąpi ;-) zobaczymy jak wyglądałby graf który na podstawi tych danych można narysować.

 

felicjan.jpg

 

Za BBC14:11: US Secretary of State John Kerry says Russia is behaving “in 19th century fashion by invading another country on completely trumped-up pretext”.” - a to paradne… Nie sądziłem że polityka może być tak zabawna.

Informacje ułatwiajace czytanie: Facecja

isql

    W poprzednim wpisie było o Semantic Web w sensie ogólnym. Skupialiśmy się na sposobie organizacji danych. W tym opiszę jak pobrać i załadować do Virtuoso dane udostępniane przez Project Gutenberg. Zaczniemy od tego że pobierzemy je z tej strony. Dane dostępne są w dwóch formatach, skupimy się na nowszym z nich. Format starszy jest wyraźnie gorszy do zabawy, jak ktoś jest ciekawy dlaczego, może także pobrać pliki z danymi, i załadować dane do Virtuoso w celu porównania. Po pobraniu plik należy rozpakować. Plik do pobrania nie jest szczególnie wielki – ma 13 Mb w wersji bz i 23 w wersji zip, wszakże po rozpakowaniu dostaniemy prawie 800 Mb danych, w plikach tekstowych poukładanych w ponad 44 tysiącach katalogów. Nazwa każdego katalogu odpowiada numerowi publikacji w Projekcie Gutenberg, a zawartość każdego katalogu to plik z rozszerzeniem rdf, zawierający opis pozycji. Przykładowo fragment pozycji 4147 jest następujący:

pg4047.rdf:
……………………
<dcterms:subject>
<rdf:Description>
<dcam:memberOf rdf:resource=”http://purl.org/dc/terms/LCC“/>
<rdf:value>PS</rdf:value>
</rdf:Description>
</dcterms:subject>
<dcterms:title>The Leavenworth Case</dcterms:title>
<dcterms:type>
<rdf:Description>
<dcam:memberOf rdf:resource=”http://purl.org/dc/terms/DCMIType“/>
<rdf:value>Text</rdf:value>
</rdf:Description>
</dcterms:type>
</pgterms:ebook>
<pgterms:agent rdf:about=”2009/agents/541″>
<pgterms:alias>Rohlfs, Anna Katharine Green</pgterms:alias>
<pgterms:alias>Rohlfs, Mrs. Charles</pgterms:alias>
<pgterms:birthdate rdf:datatype=”http://www.w3.org/2001/XMLSchema#integer“>1846</pgterms:birthdate>
<pgterms:deathdate rdf:datatype=”http://www.w3.org/2001/XMLSchema#integer“>1935</pgterms:deathdate>
<pgterms:name>Green, Anna Katharine</pgterms:name>
<pgterms:webpage rdf:resource=”http://en.wikipedia.org/wiki/Anna_Katharine_Green“/>
</pgterms:agent>
<rdf:Description rdf:about=”http://en.wikipedia.org/wiki/Anna_Katharine_Green“>
<dcterms:description>en.wikipedia</dcterms:description>
</rdf:Description>
…………………………

    W terminologii Virtuoso ( i Semantic Web) dane które pobierzemy – o zapisaniu w bazie danych – utworzą nie tabelę lecz graf. Nazwa ta bierze się z faktu, że dane które ładujemy to trójki, subject – predykat – object – <S,P,O>, a to z kolei można interpretować jako opis grafu gdzie subject i object to wierzchołki a predykat jest etykietą krawędzi. Aby załadować te dane należy skłonić Virtuoso do przeglądnięcia rekurencyjnie każdego z tych katalogów i pobrania do bazy danych z plików rdf. Instrukcja opisująca jak tego dokonać znajduje sie tu. W tym celu musimy utworzyć w katalogu głównym, tam gdzie “widać wszystkie katalogi”, plik o nazwie global.graph. W pliku tym podamy nazwę grafu do którego będziemy ładować dane. Wpisać można właściwie cokolwiek, ja zachowując pewną konwencję nadałem grafowi nazwę http://gutenberg.new czyli mój plik global.graph, zawierają tylko jedna, właśnie tą linię:

global,graph:
http://gutenberg.new

Następnie otwieramy sobie terminal i łączymy się z motorem Virtuoso za pomocą polecenia

isql-vt 1111 dba hasło

i wydajemy polecenie:

 SQL> ld_dir_all('/home/Semantic/cache/epub','*.rdf','http://gutenberg.new');

gdzie /home/Semantic/cache/epub to ścieżka do katalogów z danymi i należy oczywiście użyć takiej jaka jest w Waszym systemie. *.rdf określa rozszerzenie ( i format) plików które importujemy. Ostatni parametr to nazwa grafu. Powoduje ono zarejestrowanie “danych do importu”. Możemy sprawdzić operacja ta zakończyła sie sukcesem za pomocą polecenia:

 SQL> select from DB.DBA.load_list;

Jeśli wszystko poszło dobrze, powinniśmy zobaczyć 44 tysiące linii zawierających nazwy plików do importu. Pliki te można policzyć:

 SQL> select count(*) from DB.DBA.load_list;

Następnie ładujemy dane za pomocą polecenia:

SQL> rdf_loader_run();

Po zakończeniu importu ( u mnie trwał około 10 minut) możemy sprawdzić liczbę zaimportowanych trójek za pomocą polecenia sparql:

SQL> sparql select count(*) { graph <http://gutenberg.new> { ?s ?p ?o.}};
 callret-0
 INTEGER
 _______________________________________________________________________________
5421346
1 Rows. -- 2701 msec.

    Jak widać powstało prawie 5 i pół miliona rekordów. Gdyby coś poszło nie tak, możemy wyczyścić graf za pomoca polecenia:

 SQL> sparql clear graph <http://gutenberg.new>;

i przeprowadzić import jeszcze raz.

    Jeśli import przeszedł poprawnie, możemy zacząć analizę zawartości grafu. Poświęcony będzie temu zadaniu kolejny wpis, ten zakończmy jedynie podaniem listy predykatów ( etykiet krawędzi) jakie występują w zaimportowanych danych:

 SQL> sparql select distinct ?p from <http://gutenberg.new> where{ ?s ?p ?o.};
 p
 LONG VARCHAR
 _______________________________________________________________________________
http://www.w3.org/1999/02/22-rdf-syntax-ns#type
 http://www.w3.org/1999/02/22-rdf-syntax-ns#_1
 http://www.w3.org/1999/02/22-rdf-syntax-ns#_2
 http://www.w3.org/1999/02/22-rdf-syntax-ns#_3
 http://purl.org/dc/terms/modified
 http://purl.org/dc/terms/extent
 http://purl.org/dc/terms/creator
 http://purl.org/dc/terms/subject
 http://purl.org/dc/terms/title
 http://web.resource.org/cc/license
 http://purl.org/dc/terms/issued
 http://purl.org/dc/terms/language
 http://purl.org/dc/terms/license
 http://purl.org/dc/terms/publisher
 http://purl.org/dc/terms/rights
 http://purl.org/dc/dcam/memberOf
 http://purl.org/dc/terms/type
 http://purl.org/dc/terms/description
 http://purl.org/dc/terms/hasFormat
 http://www.gutenberg.org/2009/pgterms/name
 http://purl.org/dc/terms/format
 http://www.gutenberg.org/2009/pgterms/alias
 http://www.gutenberg.org/2009/pgterms/birthdate
 http://www.gutenberg.org/2009/pgterms/deathdate
 http://www.gutenberg.org/2009/pgterms/webpage
 http://id.loc.gov/vocabulary/relatorstrl
 http://purl.org/dc/terms/tableOfContents
 http://id.loc.gov/vocabulary/relatorsedt
 http://purl.org/dc/terms/alternative
 http://www.gutenberg.org/2009/pgterms/marc010
 http://id.loc.gov/vocabulary/relatorsctb
 http://id.loc.gov/vocabulary/relatorsill
 http://id.loc.gov/vocabulary/relatorsaui
 http://www.gutenberg.org/2009/pgterms/marc901
 http://www.gutenberg.org/2009/pgterms/marc440
 http://id.loc.gov/vocabulary/relatorscmp
 http://id.loc.gov/vocabulary/relatorslbt
 http://id.loc.gov/vocabulary/relatorsprf
 http://id.loc.gov/vocabulary/relatorsarr
 http://id.loc.gov/vocabulary/relatorsunk
 http://id.loc.gov/vocabulary/relatorscom
 http://www.gutenberg.org/2009/pgterms/marc260
 http://id.loc.gov/vocabulary/relatorsoth
 http://id.loc.gov/vocabulary/relatorscnd
 http://www.w3.org/1999/02/22-rdf-syntax-ns#value
 http://purl.org/dc/terms/isFormatOf
 http://id.loc.gov/vocabulary/relatorsaft
 http://www.gutenberg.org/2009/pgterms/marc546
 http://id.loc.gov/vocabulary/relatorscmm
 http://id.loc.gov/vocabulary/relatorsann
 http://id.loc.gov/vocabulary/relatorspbl
 http://id.loc.gov/vocabulary/relatorsadp
 http://id.loc.gov/vocabulary/relatorsegr
 http://www.gutenberg.org/2009/pgterms/marc250
 http://www.gutenberg.org/2009/pgterms/marc508
 http://id.loc.gov/vocabulary/relatorsdub
 http://id.loc.gov/vocabulary/relatorspht
 http://www.gutenberg.org/2009/pgterms/marc520
 http://www.gutenberg.org/2009/pgterms/marc300
 http://www.gutenberg.org/2009/pgterms/marc902
 http://www.gutenberg.org/2009/pgterms/marc903
 http://id.loc.gov/vocabulary/relatorstrc
 http://id.loc.gov/vocabulary/relatorsart
 http://www.gutenberg.org/2009/pgterms/marc020
 http://www.gutenberg.org/2009/pgterms/marc653
 http://id.loc.gov/vocabulary/relatorsprt
 http://id.loc.gov/vocabulary/relatorsres
 http://id.loc.gov/vocabulary/relatorsclb
68 Rows. -- 10212 msec.

     Jak widać predykaty mają formę adresów URL ( co nie jest konieczne ale bywa praktyczne). W teorii każdy z tych adresów może być referencable co oznacza że można w niego kliknąć a po wyświetleniu w przeglądarce powinniśmy zobaczyć definicje czy opis o co w predykacie chodzi. W praktyce nie każda informacja jest dostępna czy aktualna. To wielka szkoda bo wiele spraw byłoby znacznie prostszych gdyby zachowano ta konwencję. Ważnym i działający fragmentem tej struktury sa adresy podobne do tego: http://purl.org/dc/terms/language . Odwołują sie one do tzw. Dublin Core Initiative – proponowanego standardu opisu metadanych dotyczących dokumentów.

    Na dziś to wszystko. W kolejnym wpisie pobawimy się SPARQL – językiem stworzonym w celu efektywnego budowania zapytań w bazach danych zawierających grafy.

MathTextOntology-pasek

    Wyobraźmy sobie klasyczną, relacyjną bazę danych. Załóżmy że zawiera ona informacje o produktach kilku firm. Relacyjna baza danych zawierająca tego typu informacje będzie zapewne zawierać kilka tabel – tabele z informacjami o nazwach produktów, o firmach które je wyprodukowały, o cenach, rozmiarach czy dostępności towaru. Każda asocjacja, czy zbiór dotyczący jakiejś cechy będzie musiał odwoływać się do pewnego unikalnego numeru – klucza – pozwalającego powiązać własność opisywaną przez tą asocjację z konkretnym produktem. Tego typu informacje przechowuje sie w tabelach relacyjnej bazy danych i na przykład tabela “kolor” może zawierać kolumny “IDProduktu” i “IDKoloru”. Tego typu związek – pomiędzy IDProduktu i jego kolorem nazywamy relacją. Relacje mogą być oczywiście bardziej złożone, wszakże idea jest ta sama – tabela to relacja – czyli – związek – pomiędzy pewną własnością ( kolor) a jakimś identyfikatorem mówiącym w sposób jednoznaczny czego owa własność dotyczy. Oczywiście konstrukcja złożonej bazy danych zawierającej wiele rozmaitych relacji może być bardzo złożona, zaś wymogi jej bezpiecznej i wydajnej eksploatacji sprawiają że organizacja danych w tabelach bynajmniej nie jest prosta. Proces uzyskiwania optymalnej struktury tabel dla zadanego zbioru relacji nazywa się normalizacją. Relacyjne bazy danych spełniają rozmaite wymogi dotyczące w szczególności wydajności uzyskiwania informacji i bezpieczeństwa danych. Wszakże należy być świadomym, ze dodawanie nowych informacji w takiej bazie jest złożonym zagadnieniem. Po pierwsze nowe relacje wymagają nowych tabel. Po drugie nowe tabele wymagają znajomości organizacji pozostałych danych bowiem powiązanie nowych informacji ze starymi wymaga budowania lub uzupełniania słowników spinających nowe cechy ze starymi identyfikatorami. Na koniec relacyjne bazy danych optymalizowane sa dla odpowiadania na zapytania w języku algebry zbiorów – za pomocą języka SQL. Podejście takie świetnie sprawdza się w wypadku centralnie zarządzanych systemów w których stosowne służby dbają o poprawność danych w bazie.

    W poprzednim wpisie pisałem o instalacji hybrydowego serwera baz danych Virtuoso. Pora wyjaśnić co znaczy słowo hybrydowy. Ma ono w tym wypadku wiele znaczeń, obejmuje możliwość przechowywania w motorze Virtuoso danych w wielu modelach w tym relacyjnym i obiektowym. Właśnie to ostatnie znaczenie nas interesuje. Obiekty w tym kontekście, nieco podobne do tych znanych z programowania obiektowego, to struktury danych budowane przez “opisywanie własności”. Obiekt “krzesło” ma rozmaite części składowe i cechy: “nogi”, “oparcie’, “ciężar”, “kolor”, “model”, “materiał” i wiele innych cech. Niektóre z tych cech są właściwe tylko dla mebli do siedzenia ( “oparcie”) a inne są wspólne z wieloma innymi obiektami (“kolor” i “ciężar” możemy przypisać bardzo wielu przedmiotom). Konstruując obiektowa bazę danych musimy zbudować model obiektów o których będziemy gromadzić dane, taki “model rzeczy” o których mówimy. Model taki musi zawierać zarówno charakterystykę cech obiektów, jak i może zawierać informacje o wzajemnych powiązaniach pomiędzy “rzeczami”. Na przykład możemy budować model danych wychodząc od jakiegoś ogólnego i elementarnego obiektu ( “Rzecz”) i wypisać pewne generyczne cechy ( “kolor”, “waga”, “materiał” ) a następnie precyzować model podając bardziej szczegółowe rodzaje obiektów: “Rzecz” zwana “mebel” ma dodatkowe cechy – “producent”, “sposób użycia”, “cena”, “pomieszczenie”. Mebel do siedzenia to “krzesło” i kolejne konkretne cechy . Konstruowanie tego typu modelu określa sie terminem budowania ontologii.

    Ontologie to forma opisu relacji jakie zachodzą pomiędzy obiektami, o których informacje zgromadzimy w bazie danych. Opis ontologii może być bardzo skomplikowany ( bo relacje o których mowa mogą być złożone). Może być to forma prostej hierarchii ( czyli drzewo w którym każdy obiekt dziedziczy cechy gałęzi bliższych niż on do korzenia, tych z których “wyrasta” ) ale może być tez i tak, ze obiekty sa wielorakich rodzajów i ontologia ma strukturę niebanalnego grafu. W szczególności cechy jakie przypiszemy obiektom nie muszą się ograniczać do cech konkretnych ( “fizycznych”) jak waga czy kolor, ale mogą opisywać także cechy abstrakcyjne. Proszę sobie wyobrazić obiekty opisujące ludzi, ich wzajemne relacje ( “rodzic” – “dziecko”). Opis relacji abstrakcyjnych jak “bycie dziadkiem” oznacza, że obiekt który jest “dzieckiem” ma własne “dzieci”. Własność “bycia ciotka” oznacza posiadanie płci “kobieta” oraz posiadanie wspólnego “ojca” z kimś kto ma “dziecko”. Tego typu relacje mogą być opisane w ontologii i motory baz danych czy aplikacje mogłyby wykonywać w oparciu o nie  proste wnioskowania w logice ( a więc wyliczyć dziadków z bazy danych, pomimo że żadne obiekt nie ma cechy “dziadek” zapisanej w swoich własnościach). Co więcej specyfikacja modelowania w ontologii pozwala na to, że w wypadku relacji pomiędzy obiektami, podajemy jakiego typu są to relacje – funkcyjne, zwrotne, symetryczne, antysymetryczne, przechodnie itp. Pojawia się tu olbrzymia ilość możliwości wykorzystania tych informacji. Obiektowe bazy danych w naturalny sposób stanowią środowisko do przechowywania i łączenia modeli danych – ontologii – z samymi danymi – będącymi opisami konkretnych obiektów. Można powiedzieć, że ontologie to słowniki własności ( i własności własności!), zaś dane to zapisy cech dostępnych w tych słownikach łączące je z realnymi rzeczami opisywanymi baza danych. Warto pamiętać, ze obiekt nie jest zbiorem cech – lepiej jest myśleć w tym kontekście ze obiekt to realna rzecz czy pojęcie, a ontologia to jej – z konieczności niepełny – model.

    Przedstawmy przykładową ontologię. Jako ze pisałem trochę o matematyce, poniżej obrazek przedstawiający fragment grafu ontologii tekstów matematycznych:

MathTextOntology

    A poniżej fragment pliku w którym tą ontologię opisano ( jest to pewna forma xml-a, konkretnie rdf – o czym więcej – poniżej – opisujący nic innego jak cechy  o których wspomniałem. Ontologia sama w sobie jest formą opisów obiektów, czy “rzeczy” jakimi sa pojęcia, o których mówimy kiedy mówimy o innych “rzeczach”. W tym sensie ontologie mogą podlegać modelowaniu wyższego rzędu itp.):

<rdf:Description rdf:about=”http://www.omdoc.org/ontology#NonconstitutiveStatement“>
<rdf:type rdf:resource=”http://www.w3.org/2002/07/owl#Class“/>
<rdfs:subClassOf rdf:resource=”http://www.omdoc.org/ontology#Statement“/>
<dc:description>An OMDoc statement, which is not theory-constitutive, as defined in the OMDoc specification, chapter 15.1 (Types of Statements in Mathematics).</dc:description>
<owl:disjointWith rdf:resource=”http://www.omdoc.org/ontology#ConstitutiveStatement“/>

    Cały plik można pobrać stąd,  warto jednak odwiedzić też stronę na której go opublikowano.  Nadmieńmy tu, że nie istnieje nić takiego jak “jedyna obiektywnie poprawna ontologia” w tym sensie w jakim nie ma niczego takiego jak “jedyny poprawny model rzeczywistości”. Powyższa ontologia, jak wszystkie inne, ma jakieś ograniczone zastosowania, i właśnie do nich została przykrojona. Brak jakichś elementów – tu służących do opisu tekstu matematycznego – na przykład artykułu z dowodem twierdzenia – nie jest żadnym problemem. Po pierwsze łatwo ontologię uzupełnić po prostu dodają dalsze cechy, powiązania, relacje i własności, tak by spełniała nasze potrzeby. W założeniu ontologię maja postać pozwalającą na inkrementalne uzupełnianie o potrzebne elementy. Po drugie ten sam fragment rzeczywistości może być opisywany kilkoma ontologiami, a specyficzna zawartość danej ontologii nie wpływa właściwie w żaden sposób na organizację danych – ale o tym nieco później.

    Rysunek powyżej wykonałem programem Protege4.3 – edytorem służącym do analizowania, tworzenia, obrazowania, rozumowania i dłubania w ontologii. O ontologiach wiele więcej nie powiem, jest to jednak zagadnienie fascynujące, w którym widać jak z pozoru trywialna praca ( wypisanie wszystkich “cech” krzesła, która może wykonać dziecko), w efekcie kumulacji i mądrej klasyfikacji przeradza sie w wiedzę, którą można użyć w całkowicie niespotykany sposób. Ontologia powyżej – tekstów matematycznych- mogłaby być użyta do klasyfikacji treści dokumentów matematycznych, w szczególności o odnotowywania powiązań pomiędzy ich elementami. Na stronie można znaleźć ( niezbyt imponującą) listę aplikacji i witryn które rozumieją tą ontologie i jej używają. Bardziej praktycznymi przykładami mogą być ontologie związane z Wikipedią i z CIA World Fact Book opis jest tu  – a kawałek obrazka poniżej ( proszę kliknąć, aby zobaczyć większy obrazek):

CIA---Pipeline

    Trochę dla żartu zwrócę uwagę, ze w ontologii dosyć szczególne miejsce, bo wyszczególnione od głównego pnia, zajmuje PipelineDistance co sugeruje wagę tego pojęcia w stosunku do reszty, i rzuca pewne światło na tym czym interesuje sie CIA.

    Model relacyjny jest na tyle ogólny by opisać opisaną powyżej strukturę. I w wielu bazach danych na niskim poziomie mamy do czynienia z relacyjnym opisem cech obiektów. Nie wszystkie bazy działają w taki sposób. Z najbardziej znanych przyjdzie mi tu wymienić Lotus Notes, w którym obiektami są dokumenty, zaś sposób operowania na nich określony jest przez metody przypisane do typów które reprezentują. Nie jest to jednak baza relacyjna – nie ma tam tabel, obiekty siedzą sobie “w worku” zaś o sposobie interakcji z nimi decydują zaimplementowane metody oraz “widoki” pozwalające oglądać w przygotowanych “formularzach” wybrane cechy obiektów. Celowo “formularz” i “widok” umieszczam w cudzysłowowy gdyż choć pojęcia te brzmią podobnie do tych używanych w relacyjnych bazach danych, mechanika systemu jest w wypadku Lotus Notes inna, co w wyniku daje olbrzymią łatwość budowania np. przepływów workflow, znacznie trudniejszych do uzyskania w modelu relacyjnym. Obiekty pewne działania znacząco ułatwiają, gdyż pewne ich cechy są opisane mniej lub bardziej hierarchiczną ontologią, zas konstrukcja obiektów pozwala odwoływać się do ich własności niejako wprost, a nie poprzez skomplikowany – a konieczny w modelu relacyjnym – zestaw słowników.

    Przyjmijmy że ktoś nie zna i nie chce znać koncepcji obiektowej bazy danych. Wyobraźmy sobie że chcemy zanalizować pewne dane pochodzące z internetu, cześć z nich pochodzi z witryn producentów (a więc każda z tych części zawiera dane właściwe dla sposobu prezentacji danego producenta, jeden produkuje buty i odwołuje sie do nich po fantazyjnej nazwie, a inny produkuje komputery i odwołuje sie do nich po numerycznym symbolu modelu) i powiązać je z opiniami użytkowników z których każdy na jakimś forum ocenia to co kupił lub o czym tylko czytał pod dosyć dowolnie wybranymi kryteriami. Oczywiście konieczne jest – tak samo jak w wypadku relacyjnej bazy danych – jakieś powiązanie tego o czym mówią jedni i drudzy. Wszakże budowanie bazy danych i tworzenie struktury tabel, w tym ich normalizacja, mogą być działaniami dalece zbyt pracochłonnymi i nieefektywnymi. Zwłaszcza jeśli naszym celem jest poszerzanie zakresu analizowanych danych – a tym samym integracja danych z coraz bardziej różnorodnymi kryteriami oceny dotyczącymi coraz mniej podobnych produktów. Wyobraźmy sobie zadanie napisania systemu który automatycznie uzupełniałby brakujące słowniki. Koszmar.

    Innym przykładem może być próba budowania słownika pozwalającego na prostą analizę języka naturalnego. Nie wystarczy znać tylko znaczenia słów w dwóch językach. Aby zrozumieć strukturę wypowiedzi przydałoby sie mieć jakieś informacje o jej znaczeniu – a jak subtelna mogą być tu różnice łatwo przekona sie każdy kto używa translatora google. Być może interesują nas nie tylko relacje typu “Po Polsku” -> “góra”, ‘po Angielsku” -> “mountain”, ale na przykład “Słowo: -> “ciemny” -> “przeciwstawne” ->”jasny” co wykracza poza zwykle tłumaczenie słów, i zawiera dodatkowe informacje dotyczące języka. Oczywiście możemy budować dla każdej tego typu relacji kolejna tabelę. Będziemy mieli zatem tabele wyrazów bliskoznacznych, przeciwstawnych, mylonych, nic nieznaczących itp. Takich tabel możemy mieć dużo, a i tak próba dodania nowej informacji np. o wyrazach dźwiękonaśladowczych, pejoratywnych lub wulgarnych – będzie wymagała dodania nowej tabeli.

    Każda nowa tabela zwykle wymaga zmian w aplikacji, w mechanice zapytań, uzyskiwanie informacji wymaga złączeń.

    Na poziomie relacyjnej bazy danych, a więc technologii najlepiej znanej na rynku, idea Semantic Web, tak jak ja ją widzę, polega na prostej konstatacji, że relacja między danymi, może być zapisana jako dana w tabeli. Zamiast zatem w określonej tabeli ( relacji) zapisywać dane, możemy zapisać w jednej tabeli, rekordy o strukturze Subject, Predicate, Object – w skrócie <S,P,O>. Subject to identyfikator odnoszący sie do “tematu” czy przedmiotu sprawy. Predykat to określenie relacji, może być to np. ciąg znaków numerycznych ze słownika relacji, zwykle jednak zachęca sie do używania czytelnych dla człowieka, i dla maszyny identyfikatorów URI odnoszących sie do zasobów w internecie, które zawierają informację o jakiej relacji Subject i Obekt mowa. Temat ten blisko zahacza o konstrukcję ontologii i wrócimy do niego niebawem. Trzecia dana – Object jest “realizacją” cechy o której mówimy. Tak więc w wypadku przykładu o którym wspomniałem powyżej moglibyśmy mieć trójki:

<123567> <Type:Nazwa> <”Pizza peperoni”>
<QW234> <OcenaProduktu> <8.5>
<77886y66> <Wpis:ID> <QW234>
<77886y66> <Name> <Tomek>
<QW234> <Wpis:Type> <OcenaProduktu>
<QW234><Dotyczy> <123567>

I tak dalej.

    Jak więc widać i tego typu model danych da sie rozumieć i zapisywać w formie relacyjnej. Semantic Web jest zespołem technik i pojęć budowanych powyżej takiej abstrakcji. Nie interesuje nas sposób realizacji zapisu trójek <S,P,O>. nie będziemy także wspominać o bardziej złożonych strukturach ( np. <S,P,O,L> gdzie L to label – etykieta, struktura taka zwana jest N-quadem ). Interesuje nas taka charakterystyka obiektów w której elementarna forma krotki danych zapisana jest jako trójka ( ang. triple) w postaci <S,P,O> zaś znaczenie predykatów i ich wzajemne relacje opisane sa ( lub nie! ) w podanym mniej lub bardziej formalnie modelu danych zwanym ontologia, który opisuje co najmniej wyjaśnienie znaczenia używanych predykatów, a czasami także ich logiczno-matematyczne własności. Właśnie owo odwołanie sie do znaczenia predykatu jest powodem używania nazwy Semantic Web. Dane zorganizowane w trójki przechowywane sa w plikach RDF, zwanych także N-triples. Pliki RDF mogą mieć wiele równoważnych formatów, od tak banalnej jak pokazana powyżej ( i niezbyt użytecznej) po pliki xml o skomplikowanej strukturze. Nie format, ale zawartość danych, ich organizacja – opis związków miedzy rzeczami, predykatami i wartościami cech – decyduje że mamy do czynienia z danymi związanymi z tematem o którym mowa. Jak widać odskoczyliśmy w stronę abstrakcji, proszę jednak czytelnika by sie nie zniechęcał.W kolejnym wpisie opiszę jak zaimportować do Virtuoso dane z pliku rdf z project Gutenberg i jak zacząć zabawę z tymi danymi.

    Na koniec taki może komentarz.Gdzie używane sa ontologie i trójki?
Pewnie w wielu miejscach. Podałem powyżej przykład OMDOC i CIA Fact Book. W poprzednim wpisie było o Wikipedii i jej bazodanowym end-poincie wikidata. W internecie wiele serwisów pozwala na dostęp do danych w formacie RDF ( Data.gov – gigantyczny zbiór danych rządowych USA, dane rządu UK ponoć też gdzieś sa w takim formacie dostępne ). Warto wiedzieć, ze tematem blisko związanym z tym o czym piszemy sa następujące obszary: bioinformatyka ( ontologie pełnia rolę słowników klasyfikujących zawartość danych i relacje pomiędzy danymi – czy to dotyczące gatunków czy genomu), Web2.0 ;-) i social media jak Facebook ( nie będę linkował bo nie lubię tej platformy, należy jednak wiedzieć że mają oni produkt Open Graph który pozwala na przeszukiwanie grafów czyli w istocie zabawę w mechanikę Semantic Web, bardzo podobną do technik które opisze w kolejnych artykułach. Oczywiście FB zrobił swoje API i opakował całość w user friendly otoczkę dla developerów. U podstaw jednak lezą zbiory trójek o jakich pisałem, zaś już obecnie liczba przetwarzanych krotek w postaci <S,P,O> sięga milionów jeśli nie miliardów. Przyciski LikeIT generują właśnie takie trójki…). Koncepcja SemanticWeb pochodzi od Tima Bernes-Lee ale ma swoje początki w latach 60-tych! jest to więc pomysł równie stary jak web, z tym, że o ile internet skupił sie na użyciu sformalizowanych metod wyświetlania danych ( HTML to język opisu wyglądu strony) o tyle pominął haniebnie koncepcje zapisywania i prezentacji danych tak by zawierały informację o ich znaczeniu ( a więc predykatów i opisu ich znaczenia i własności). Internet był dzieckiem, świat nie był gotowy na takie przetwarzanie danych. Teraz dorasta. Wydaje sie ze z wolna dokonuje sie ewolucja która odświeża ten pomysł, i mam wrażenie ( ale mogę sie całkowicie mylić, jestem po prostu amatorem który coś tam sobie wyczytał. ) że pojawia sie pewna przestrzeń – związana oczywiście z BigData i przetwarzaniem danych w oparciu o grafy, dla mniej lub bardziej zmienionej implementacji tych pomysłów.

lod-datasets_2011-09-19_1000px

    Jak to często bywa, znalazłem w necie coś ciekawego. Tym razem jest to koncepcja Semantic Web. Zamierzam coś niecoś o tym napisać, aby jednak móc bawić sie w te sprawy, zacznę od krótkiego wpisu na temat instalacji Open Link Virtuoso Server. Jest to baza danych czy wręcz platforma aplikacyjna, wyposażona w hybrydowy motor baz danych oraz dużą liczbę rozmaitych api i konektorów od wbudowanego webserwera do obsługi z 20 protokołów sieciowych jak WebDAW, SOAP i inne tego typu rzeczy. Słowem jest t produkt zapewniający dużą łatwość jeśli chodzi o możliwość integracji. Ja używałem go wyłącznie w temacie któremu chce poświęcić tu kilka wpisów – mianowicie Semantic Web – i w tym kontekście nie będę opisywał wszystkich opcji i możliwości jakie samo oprogramowanie posiada. Właściwie nie napisze o tym prawie nic, zaś zainteresowaniach odsyłam do strony producenta i Wikipedii. Nadmienię tylko że oprogramowanie posiada darmową wersję Open Source i wersję komercyjną z wsparciem itp.

    Używam Linux Mint, i w moim przypadku instalacja sprowadzała się do wyszukania słowa virtuoso w katalogu oprogramowania w Synapticu i zaznaczeniu kilku czekboksów. Następnie wydałem polecenie install selected i po 10 minutach miałem działający serwer Open Link Virtuoso w wersji 6.1. Ci którzy używają innych dystrybucji Linuxa z łatwością znajdą oprogramowanie w swoich repozytoriach lub na koniec mogą dodać repozytoria Open Link Virtuoso jak opisano tutaj! Ci z czytelników którzy z jakichś powodów pozostają na przestarzałych platformach jak Windows, zmuszeni sa do pobrania plików z programami instalacyjnymi z internetu, i wykonania instalacji ( pamiętajmy – nadal dystrybucja oprogramowania w postaci plików wykonywalnych jest podstawowym źródłem propagacji wirusów i backdoorów. To najgorsza metoda instalacji oprogramowania jaka może istnieć – a jej istnienie wynika wyłącznie z faktu że systemy Microsoft działają tak jakby internet nie istniał).

    W moim przypadku instalacja przebiegła bezproblemowo, podałem hasło dba dla administratora systemu i serwer był od razu dostępny. Dla osób zainteresowanych w poznaniu tej platformy polecam zainstalować raczej więcej niż mniej pakietów – do instalacji poza serwerem sa także paczki z dokumentacją i demonstracyjną bazą danych itp. Dla celów tych wpisów, wystarczy jednak właściwie to co w podstawowej paczce.

    Konfiguracja serwera, choć od razu gotowa i działająca, warta jest odrobiny uwagi. Plik konfiguracyjny znajduje sie w katalogu /etc/virtuoso-opensource-6.1 i nazywa się virtuoso.ini. Opis jego zawartości można znaleźć tutaj . W paczkach dodatkowych znajdują się narzędzia takie jak isql-vt który umożliwia prace z linii komend, interfejs webowy pozwalający na prace przez przeglądarkę, czy tak zwany conductor który pozwala przez przeglądarkę administrować serwerem. Właściwie nie wprowadzałem żadnych zmian w konfiguracji poza jedną. Domyślnie serwer ma restrykcyjnie ustawione ścieżki w których można operować poprzez rozmaite interfejsy, co uniemożliwia np. zapis plików z wynikami query w dogodnych katalogach. Dlatego w pliku konfiguracyjnym virtuoso.ini dodałem katalog /home do zmiennej DirsAllowed, oraz zrestartowałem serwis. Oczywiście każdy powinien sobie skonfigurować te rzeczy wg. własnego uznania, a z pewnością w wypadku serwerów należy rozważyć tu kwestie bezpieczeństwa itp. W wypadku instalacji testowej pewna doza otwartości ułatwia jednak prace.

Połączenie za pomocą isql-vt wymaga konfiguracji w pliku odbc.ini, a jest ona w moim wypadku następująca:

[VOS]
Driver = /usr/lib/odbc/virtodbc.so
Description = Virtuoso OpenSource Edition
Address = localhost:1111

    W tym momencie możemy połączyć sie do serwera czy to przez interface webowy w przeglądarce za pomocą adresu http://localhost:8890/conductor/ czy to za pomocą isql-vt:

isql-vt 1111 dba hasło

     W tym miejscu zaznaczę od razu, że Ci z czytelników którzy chcą jedynie zapoznać się z samą koncepcją oraz wymyślić kilka własnych zapytań, a nie chcą tracić czasu i zasobów na instalację dedykowanego serwera, mogą użyć w celach testowych niezwykle ciekawych i dostępnych zasobów w internecie. Zaletą tego podejścia jest to że można zacząć natychmiast, i bez jakiejkolwiek instalacji u siebie. Gorąco polecam zabawę tym zasobem. Jest to tak zwany endpoint umożliwiający odpytywanie gigantycznej bazy danych Wikipedii, za pomocą języka sparql – bazy danych realizującej koncepcję Semantic Web. Baza ta pracuje pod motorem Virtuoso. W szczególności obrazek który otwiera ten wpis pochodzi właśnie z tej strony, zaś jego autorami są Richard Cyganiak (DERI, NUI Galway) and Anja Jentzsch (HPI) . Nota bene, jest to pierwszy przypadek że obrazek ilustrujący tego bloga nie jest mojego autorstwa ( chyba że wliczymy screenshot z video trailera Stalingrad, jako twór cudzy ;-)

    Instalując własny serwer zyskujemy możliwość pracy z własnymi danymi, w szczególności możemy pobrać z internetu dane udostępniane przez jeden z kilku serwisów. W dalszej części będziemy posługiwać się danymi z projektu Gutenberg, zaś jak je zaimportować do Virtuoso opiszę w następnym wpisie.

    Jesteśmy właściwie gotowi do użycia serwera. Kolejnym krokiem jest wykonanie importu danych. Zanim jednak napisze coś na ten temat, przedstawię w następnym wpisie koncepcję Semantic Web.

AutomatyLicza-Kluska

    “Dnia 1 maja 2010 roku, po 34 latach trzyzmianowej pracy ciągłej na stacji rozrządowej dla ruchu towarowego PKP w Lublinie, dyrekcja placówki podejmuje decyzję o wyłączeniu ostatnie funkcjonującej w kraju – i wciąż prawidłowo wykonującej swoje obowiązki – maszyny cyfrowej Odra. Tam gdzie ją wyprodukowano, teraz rośnie trawa” – te słowa kończą książkę którą chciałbym polecić wszystkim czytelnikom. Zarówno tym którzy zawodowo związani z nauką z zaciekawieniem będą chcieli odnaleźć znane sobie nazwiska, oraz poznać historię projektowania i budowy maszyn cyfrowych w Polsce, jak i laikom którzy oczekują pasjonującej opowieści o wynalazkach i wynalazcach, i o tym “jak to w PRL bywało”. Książka o którą chodzi nosi tytuł “Automaty liczą. Komputery PRL” i została napisana przez Bartłomieja Kluskę – historyka i archiwistę, jak głosi notka o nim na okładce. Autor, urodzony w 1980 roku, zadał sobie trud odszukania i syntezy całkiem sporej bibliografii, zaś w wyniku powstała ciekawie napisana opowieść o pionierskim, a dalej, wczesno-przemysłowym okresie Polskiej Informatyki. Pisałem już o niej niedawno na tym blogu, była to jednak krótka wzmianka, a właściwie, cytat, tym razem pomyślałem że napiszę, krótką, recenzję.

    Książka jest w pewien sposób unikatowa na polskim rynku książki, gdzie z łatwością znajdziemy rozmaite popularnonaukowe publikacje traktujące o światowych luminarzach nauki i techniki, począwszy od Newtona a skończywszy na Steve Jobbsie. Wypełnia ona pewien widoczny brak publikacji na temat polskiej nauki i techniki, która przecież obfituje w ciekawe osiągnięcia i niebanalne postacie, może dziś często zapomniane, lub przyćmione historią skoncentrowaną na wielkiej polityce i historii idei. Dowiadujemy się więc o powstaniu w 1948 roku, przy poparciu Michała Rola-Żymierskiego Grupy Aparatów Cyfrowych, i działaniu tej instytucji w sytuacji kiedy nie posiadała nawet lokalu. Śledzimy etap pionierski w którym konstruowano maszyny cyfrowe zdolne pracować tylko na binarnych liczbach 2-cyfrowych ( a więc na liczbach od 1 do 3) i wykonywać na nich operacje dodawania z prędkością jednej na sekundę. Poznajemy kulisy powstania Elwro i konstrukcji pierwszych maszyn Odra na początku lat 60-tych. Przez karty książki przewija się plejada luminarzy nauki i techniki, w tym miejscu wymieńmy może Jacka Karpińskiego – genialnego konstruktora komputerów, w tym pierwszego chyba na świecie mikrokomputera wielkości walizki K-202, którego ostatecznie wyprodukowano zaledwie 30 egzemplarzy. Książka nie ma bardzo technicznego charakteru, nie dowiadujemy się z niej jakie były szczegóły techniczne konstrukcji o których mówi, ale zarazem daje całkiem niezły, na ile potrafię to ocenić, obraz techniki w PRL i tego z jakimi przeciwnościami musiał borykać się w tamtych latach inżynier poważnie traktujący swój zawód. Czytając tą książkę zadumałem się głęboko nad historią traconych okazji, życiem ludzi napędzanych pasją która nie mogła się zrealizować z powodu bałaganu, niekompetencji władz, braku wsparcia czy wręcz przeciwdziałaniu decydentów zatroskanych o swoje stołki. Właściwie uważam właśnie ten aspekt książki za najbardziej ciekawy. Autor nie pozwala sobie właściwie na jawną krytykę PRL, ale tym głośniej przemawiają fakty.

    Książka ukazała się w 2013 roku, nakładem Novaeres, liczy zaś 207 stron. Autor udostępnił także na swojej stronie bibliografię, która zapewne zainteresuje czytelnika (a co poniektórych i wzruszy). Notatkę tę pozwolę sobie zakończyć również cytatem, tym razem pochodzącym z środkowego okresu historii Polskiej informatyki. “Jeszcze na początku lat 70. reporter Wiesław Górnicki przy opisie swojej wizyty w Stanach Zjednoczonych przytoczył rozmowę nowojorskich biznesmenów, z których jeden wypowiadał się w samych superlatywach o inżynierach z Elwro: “Są to ludzie dystansujący o wiele długości swą wiedzą i oryginalnością rozwiązań większość naszych rutynowych konstruktorów” – miał mówić Amerykanin, nie obawiał się jednak konkurencji ze strony Polaków bowiem [...] “Kiedy zamawiają partię oporników po sto omów, połowa partii ma 90 omów, a druga połowa – 110. Kiedy potrzebują kawałka kabla pięciożyłowego, muszą pisać podanie do ministra. Kiedy wielkim nakładem czasu i pracy skonstruują jakiś piekielnie pomysłowy podzespół, okazuje się że nie ma dostatecznie cienkich wierteł albo śruby o wymaganym gwincie”.

    A dziś? Czy to co potrzebne – jest już dostępne? Czy może okazuje się że za “problemy obiektywne” odpowiada, cóż, tym razem to jaki mamy, niestety, no, hmm, klimat…

“Automaty Liczą. Komputery PRL” Bartłomiej Kluska wyd. NovaeRes 2013

KONICA MINOLTA DIGITAL CAMERA

    Podczas pewnej dyskusji udało mi się sformułować ciekawą wypowiedź, którą zamieszczam poniżej, bo wydała mi się warta zapisania i przemyślenia. Sprawa dotyczy tego jak sie zachować podczas wyborów ( do parlamentu, do samorządu). Każdy ma prawo podejmować decyzje jakie uzna za słuszne. Osoby będące zdeklarowanymi zwolennikami którejś z partii politycznych, mają łatwo – idą i głosują na tego kogo popierają. Jak wiemy z poprzednich wyborów – jest ich jakieś 15% elektoratu. Pozostali albo idą i głosują na tzn. “mniejsze zło” albo nie idą nigdzie i zmniejszają frekwencje wyborczą ( lub oddają “nieważny” głos, co w znacznej mierze na jedno wychodzi). Rozumiem taka postawę – abstynencję wyborczą – w sensie emocjonalnym. Ale taka postawa w sensie praktycznym ma dwie konsekwencje:

  1. wybierają inni, a więc sam, świadomie rezygnujesz z wpływu na to co dzieje sie wokół Ciebie. zgoda, jest to rodzaj protestu może nawet, ale jest to protest milczący
  2. działania polityczne wobec niskiej frekwencji zmieniają swój charakter i przez chęć “uruchomienia” milczącego elektoratu, przybierają formę “bardziej skrajnych”. Taki Tusk czy Kaczyński nigdy nie pomyślą że Tobie zależy na racjonalności, umiarkowaniu i użyteczności społecznej. Zamiast tego będą wynajmować spin-doktorów którzy im doradzą że najlepiej by wywoływali spory ideologiczne najlepiej na takiej płaszczyźnie emocjonalnej która budzi kurewskie emocje: “wytruć czy nie wytruć gejów?”, “za usiłowanie samobójstwa kara śmierci czy tylko wysoka grzywna?”, “pozbawiamy praw wyborczych singli czy dajemy 10x więcej głosów dzieciorobom?”. Taka strategia sprawia że w końcu nawet krety wychodzą w zimie spod ziemi i idą głosować, a potem Rostowski mówi że ma legitymizację bo wygrał większością głosów wyborach i może podwyższać wiek emerytalny do 120 lat bez konsultacji społecznych.

    Uważam że jedyna sensowna strategia, to głosować na to co się popiera niezależnie od bzdurnych stwierdzeń że się “marnuje głosy”, bo “wygra komuna, faszyści, transwestyci” itp.  Nie ma zmarnowanych głosów. Zmarnowany głos to głos tego kto nie głosuje.

drewno-pasek.jpg

    Wszelkie fakty opisane w tym wpisie sa całkowicie fikcyjne i nie dotyczą rzeczywistości materialnej, nawet w 10%. Jednak wpis ten, według głębokiego przekonania autora, w 300% oddaje stan umysłu fikcyjnych postaci których podobieństwo do postaci realnych, być może wywołane zbieżnością imion jest czystym złudzeniem. Innymi słowy można by rzec że przedstawione charaktery fikcyjne i fantasmagoryczne sposoby myślenia oddane sa z niezwykłą precyzją ;-) jednak dotyczą postaci wyłącznie fikcyjnych. Nie znam przecież osobiście ani Rostowskiego ani Balcerowicza, ani żadnego członka rządu, a już tym bardziej nie wiem dlaczego podejmują takie a nie inne decyzje, bo nie jest w zwyczaju władzy w Polsce tłumaczyć sie ze swoich decyzji, poddawać je konsultacjom, czy choćby nawet o nich publicznie dyskutować. W istocie – jak sądzę przekonanie podziela to całkiem spora cześć społeczeństwa kraju – prawdziwe powody większości decyzji rządowych sa całkowicie inne niż te, które sa deklarowane publicznie. Pozwalam więc sobie puścić wodze fantazji, czyniąc bohaterami poniższego wpisu osoby całkowicie fikcyjne. Dla ustalenia uwagi osadzimy bulwersujące koncepcję opisane poniżej w dwu państwach – Pasmanterii – wielkim kraju leżącym w Azji, słynącym z taniej siły roboczej, wielkiego wzrostu gospodarczego i zamordystycznych rządów podziwianych przez cały demokratyczny świat, oraz w Kopalsce, kraju słynącym z bogatych złóż kopalin, węgla i siarki oraz z ministrów finansów nieodmiennie zabiegających o stanowiska pacy w bankach komercyjnych i międzynarodowych instytucjach finansowych.

    Jeszcze 30 lat temu, w szkole, uczono mnie że metr to miara długości o wartości określonej przez wzorzec metra przechowywany w Sevres pod Paryżem . Sytuacja taka – istnienie tak zwanych etalonów, materialnych reprezentantów wielkości wzorcowych – trwał na tym świecie przez całe wieki. W jakimś 20 leciu międzywojennym, minister który by chciał usystematyzować miary i wagi w Kopalsce, wsiadał w kolaskę, lub w automobil, a może raczej wysyłał delegację sekretarzy – koleją – oni zaś jechali do Paryża. Po przedstawieniu listów uwierzytelniających i dokonaniu opłat skarbowych, uzyskiwali dostęp do etalonu metra. Za pomocą brzeszczota przycinali własne miarki do stosownej wielkości i wracali do kraju. Koszty takiej operacji były w istocie niewielkie – delegacja dla kilku sekretarzy ministra: sute obiady i odwiedziny w kilku kabaretach, skromny posiłek stolarza który jako jedyny umiał przyciąć deseczkę precyzyjnie, koszty biletów 1-wszej klasy dla sekretarzy i 3-ciej klasy dla stolarza – oraz oczywiście opłaty skarbowe itp. Warto pamiętać, ze system taki był nie dosyć że skuteczny to jeszcze rozumiany i lubiany przez ministrów ( paryska kuchnia!). Tak by mogło to wyglądać w naszym fikcyjnym świecie stworzonym na użytek tej dykteryjki. W praktyce wykonywano w jakichś warsztatach laboratoryjnych kopię etalonu i wysyłano odpowiednio zabezpieczoną do kraju przeznaczenia.

    A dziś?

    Dawniej wzorzec był rzeczą materialna, wymagał właściwego przechowywania, sporządzony był z drogocennych materiałów (by zapewnić niską rozszerzalność termiczną), poza tym jednak trwał, był, miał wszelkie cechy stołu czy krzesła. Obecnie jest zgoła inaczej – a sytuacja ta związana jest, tak, tak, z postępem w dziedzinie nauki, techniki i handlu. Wszystko zaczęło sie od tego, że przypomniałem sobie właśnie że 1m = “the length of the path travelled by light in vacuum during a time interval of 1/299,792,458 of a second.” Jakie są zalety takiej definicji? Łatwo je wymienić – jednostka metra została zdefiniowana za pomocą procesu fizycznego który w każdym miejscu na kuli ziemskiej przebiega w identyczny sposób. Jak zbudować etalon metra ze stopu platyny i irydu wiedzieli metalurdzy, nawet jednak gdy dysponowano stosowną wiedzą, wizyta w Sevres pod Paryżem była niezbędna by dokonać porównania. Współcześnie wszystko co niezbędne do wykonania pomiarów, włącznie z samym procesem “cechowania” metra można dokonać nie ruszczejąc się z miejsca. Co więcej, w definicji metra występuje ułamek – liczba wymierna – 1/299,792,458. Oznacza to że w ciągu 1s światło przebywa 299,792,458 metrów i jest to dokładna liczba a pomiar zależy jedynie od dokładności z jaką mierzymy odległości i czas, czego nie można powiedzieć o wzorcu materialnym, gdzie wchodzi w grę cała masa dodatkowych czynników ( jak choćby dokładność z jaką postawiono “kreski” na etalonie). Współczesna technika od dawna już wymaga dokładności pomiarów, zarówno odległości jak i czasu, które nie mieszczą się w głowach ministrom finansów. Na przykład system GPS działa uwzględniając efekty wynikające z Ogólnej Teorii Względności, oraz użytkuje relatywnie dokładne zegary atomowe – a jednak cześć błędu wyznaczania pozycji w jego wypadku – wynikający z niedokładności pomiaru czasu w zegarze atomowym – wynosi około 2m. 

    W teorii zatem nie trzeba podróżować od Paryża ( to dla kręgów rządowych spora wada!), wystarczy mieć własny wzorzec i można mierzyć metr z dowolną dokładnością. W praktyce łatwo sobie wyobrazić, że nie jest tak prosto. Trzeba dysponować wieloma przyrządami i wieloraką wiedzą. Nie jestem w stanie wymienić wszystkich potrzebnych rzeczy, dziedzin wiedzy i materiałów, jednak te które przychodzą mi na myśl, to: dostatecznie stabilny budynek laboratorium w którym przeprowadzamy pomiary, stosowne zegary atomowe i precyzyjne źródła światła, najlepiej lasery. Konieczne jest posiadanie aparatury próżniowej raczej wysokiej jakości, co oznacza konieczność produkcji rozmaitego rodzaju cylindrów ciśnieniowych i sprężarek, a nie jest całkowicie zadaniem błahym. Zapewne niektóre z urządzeń, w celu zapewnienia dostatecznej dokładności powinny być wyposażone w kriogeniczne chłodzenie ( choć nie przypuszczam, by było konieczne stosowanie nadprzewodników, przynajmniej gdy tworzymy wzorzec metra z myślą o przemyśle czy handlu ). Oczywiście praca urządzeń wymaga posiadania stosownego personelu, składającego aparaturę do kupy, utrzymującego jej dobrostan, czy wreszcie dokonującego reperacji. Oznacza to że potrzeba całego sztabu ludzi, sporej grupy specjalistów, inżynierów itp. Na koniec należy dokonać pomiarów, akwizycji danych, ich analizy i interpretacji. Zapewne pomogą tym komputery, nie zastąpią jednak całkowicie ludzkiej pracy i żmudnej eliminacji źródeł błędów. I rzeczywiście w Polsce – taka instytucja istnieje realnie – jednak z powodu braku właściwego finansowania prowadzi działalność gospodarczą – w postaci sprzedaży norm itp.  Proszę jednak nie zapominać że to o czym piszemy to swobodna fikcja historyczna nie mająca zapewne wiele wspólnego z rzeczywistą sytuacja ludzi czy instytucji, a raczej z pewnym fantastycznym pomysłem o czym dalej. Cała ta aparatura i zespół zapewne musieliby osiąść w fikcyjnej Kopolsce w jakimś Instytucie Miernictwa, Miar i Wag itp. zapewne w Sewrkach pod Warwszawą ( niestety…Warwszawa, jak wile stolic z rzadka tylko działa dla dobra własnego kraju – Kopolski, częściej działając dla dobra Warwszawy. Nieodmiennie cechą mieszkańców stolicy, jak wszystkich stolic świata, jest owczy pęd do przejadania cudzych pieniędzy i stawiania pomników bliskich sercom elity miasta,  jak plastikowe palmy, filetowe krowy itp. ).

    Nad delegacją sekretarzy ministra podróżujących do Sevres pod Paryżem unosiłby sie zapewne duch Grabskiego, niestety nad Fikcyjnym Instytutem Miar Kopolski unosiłby się już zapewne duch Balcerowicza lub Rostowskiego. Koszty działania takiej instytucji wyniosłyby zapewne 100 milionów złotych rocznie, a i ta kwota byłaby rozpatrywana jako znacząca rozrzutność, zwłaszcza wobec konieczności organizacji szampańskich imprez w rodzaju Kopolska Euro 2012 czy Zimowych Igrzysk Olimpijskich w Zakopconem i Kokotowie. Co prawda przez całe 100 lat udało się utrzymywać tą szkodliwe dla budżetu ( wydatki!) i biznesu ( kontrole! homologacje!) instytucję, jednak w 2012 roku, w dzień uroczystego otwarcia Euro 2012 Instytut w Kopolsce udało sie usunąć z listy wydatków finansowanych przez rząd. Pierwszy powód był taki, że po prawdzie żaden z ministrów nie miał zielonego pojęcia czym zajmuje się rzeczona instytucja. W istocie zaś Minister Finansów ograniczał ogólnie nakłady na naukę, jako kosztowną fanaberię, która na wiele sposobów przyczynia sie do zguby narodów. A sa one takie: powiększając ogólne nieszczęście ( człowiek oczytany z rzadka tylko bywa beztrosko szczęśliwy. CBOS bada Beztroską Szczęśliwość vs,. Zatroskanie i owo zatroskanie sprawia że Kopolska nie jest aż tak atrakcyjnym miejscem inwestycji zagranicznych! ), podnosząc koszty edukacji ( podręczniki! i co może jeszcze darmowe?), oraz obniżając zaufanie do elit stołecznych ( jak wiadomo nauka to forma krytykanctwa. Nic tak nie utrudnia wprowadzanie reform jak swoboda dyskusji, demokracja itp. chyba że chodzi o krytykę likwidacji OFE, wtedy to nie. ) Drugim powodem likwidacji Instytutu Miernictwa Miar i Wag Kopolski był precyzyjny rachunek ekonomiczny ( autorstwa miejscowego profesora Balcudowicza), a opierał się on o genialnie prostą konstatację. Skoro inne kraje mają swoje Urzędy Miar i Wag – Kopolska własnego nie potrzebuje bo może stosowne ekspertyzy zakupić za granicą, w krajach, których rządy są  na tyle naiwne że łożą na takie szkodliwe socjalne działania. “W sumie” – rozumował Balcudowicz – “zysk jest potrójny. Wzrasta PKB – bo mamy wymianę handlową, to raz! Wzmacniamy własną gospodarkę bo zaoszczędzone pieniądze można przeznaczyć np. na śnieg Zakpocponem podczas Igrzysk Zimowych co zelektryzuje turystykę i da w konsekwencji większe przychody ze sprzedaży skór baranich. Po trzecie – obniża konkurencyjność gospodarek państw konkurencyjnych – bowiem to one muszą łożyć an tę całą naukę i technikę, a my nie!”. Tak tedy udało sie połączyć w jednej decyzji o obniżeniu finansowania nauki dwa iście makiaweliczne cele – szkodzenie konkurentom i troskę o rodzimy dynamiczny rozwój przedsiębiorczości.

    Pewnym cieniem na ogólnej radości z organizacji Euro 2012 położył się fakt, że pracownicy Urzędu Miar i Wag w Sewrkach nie chcieli poddać się bez walki. Założyli komitet protestacyjny i ogłosili natychmiast strajk głodowy. “Dosyć knowań lobbystów osłabiających konkurencyjność gospodarki” – pisali w prasie eksperci ekonomiczni Niezależnego Instytutu Sobiepański, profesorowie Rybczyński i Orczyński. Jednak informacji o samym strajku głodowym nie podano w żadnym z dzienników i gazet całkowicie niezależnych od rządu a to z powodu prośby ministrów Finansów by nie psuć tak doniosłej w historii kraju chwili. Oto po raz pierwszy Kopalska wystawiała imprezkę dla całego świata i obiecała wziąć na siebie rachunek za koszta! I rzeczywiście – z początku nękały ministrów telefony z Sewrków pod Warwszawą gdzie instytut miał swoją siedzibę. Po kilku jednak miesiącach telefony sie nagle urwały, i sprawy dalej nie drążono. Właściwie nie wiadomo o losach Sewrków nic więcej, bowiem w ramach programów oszczędnościowych zlikwidowano zarówno plany budowy metra do Sewrków jak i linie autobusów podmiejskich. Tytułem dygresji dodajmy że w budżecie na rok 2020 planowana jest rządowa wyprawa krajoznawcza, w skład której mają wchodzić Warwszawscy urzędnicy, przedstawiciele magistratu i geodeci, a to w celu oceny stanu kształtu ziem w tych okolicach w tym określenia kto je zamieszkuje. Może ręka przyszłego geodety natrafi na resztki sprężarek które onegdaj, w epoce kiedy nie liczono sie z wydatkami, służyły tylko temu by wysysać podatki z prywatnego przedsiębiorcy?

    Powyższa cześć opowieści, dotycząca Kopolski i jej makiawelicznych planów obciążania kosztami nauki krajów ościennych, nosiła znamiona humorystyczne, można by więc nazwać ja częścią komiczną. Jak to w sztuce przejdziemy teraz do części tragicznej.

    W dalekiej Pasmanterii produkującej towary dziewiarskie, a to gumę do majtek nawijana na szpule, perkale w belach i szaliki na metry, od wielu już lat prowadzono aktywną politykę neoliberalną. Ustalono że największym skarbem człowieka jest pieniądz, a kiedy już takie ustalenia powzięto, reszta poszła łatwo. Kraj ów, z dawna pogrążony w stagnacji i marazmie, doznał ożywczego rozbudzenia kiedy dla początku zamknięto w więzieniach z 200 czy 300 milionów obywateli ( obywatele są w Pasmanterii niewielcy, nieco pożółkli i niesłychanie tani) po czym zachęcono ich przykładem i dobrotliwą perswazją, tudzież ściśle kontrolowanym – przez specjalistów oczywiście – wydawaniem jedzenia, do jeszcze wydajniejszej pracy. Uzyskane fundusze członkowie władz rządzącej Partii Pasmanterii zabrali dla siebie – bowiem tylko prywatny kapitał może dać prawdziwy wzrost gospodarczy – by przeznaczyć na inwestycje w nowe, tym razem już prywatne ośrodki gospodarczego odosobnienia. Tym razem jednak działano już w neoliberalnym założeniu, ze skoro gospodarka najlepiej ma sie przy braku krępujących przepisów, to i wydawanie jedzenia jest niepotrzebnym kosztem działalności przedsiębiorstw i powinno być zmartwieniem pracowników co będą jedli. Zastosowano sprawdzone wzorce budowy społeczeństwa w pełni neoliberalnego i zaiste, każdy mógł dostać za umiarkowaną opłatę wędkę ( ale nie rybę!), a to w nadziei że chcąc złowić coś na obiad, kupi jeszcze, przymuszony głodem i żyłkę i haczyki i robaki. Przyznacie że strategia taka ma spore szanse powodzenia skoro osoba która w nią dała się wciągnąć, była tak naiwny że kupiła wcześniej wędkę bez żyłki i haczyków…

    Działania takie odniosły tak wilki sukces, zwłaszcza w tym, ze produkty z Pasmanterii były tańsze niż cokolwiek wyprodukowanego gdziekolwiek na całym świecie, że inne kraje zachęcone przychylnością lokalnych władz, zaczęły inwestować w Pasmanterii swoje fundusze. Pasmanteria urosła do rangi gospodarczego mocarstwa, a to dzięki całkowitej likwidacji jakichkolwiek zobowiązań państwa wobec obywatela, co przyciągnęło rzutki biznes z całego świata, bowiem nic tak nie poprawia zysków w biznesie jak rezygnacja z niepotrzebnych skrupułów. I faktycznie zaprawdę trudno było na całym świecie znaleźć kraj w którym nie noszono by majtek z gumka z pasmanterii czy szalika odciętego z beli szalików Made by Pasmanteria, zaś profesor Balcudowicz osobiście deklarował, że gdyby nie historyczne ograniczenia jakim podlega społeczeństwo ( tzw. (c)hamo robotus) w Kopolsce, już dawno zbudowałby w niej dryga Pasmanterie. Pasmanteria utrzymywała kontakty gospodarcze z całym światem, w tym oczywista także z Kopolska, a nawet jej przedstawiciele zostali zaproszeni na rzeczone obchody Euro 2012 w Kopolsce, zas ich naprędce stworzona drużyna złożona z emerytowanych pracowników fabryki gumki do majtek zdołała pokonać reprezentację gospodarzy w stosunku 5:2 co ciekawe nie strzelając przeciwnikom ani jednej bramki – gdyż tak nakazuje Pasmanteryjny dobry obyczaj! I właśnie wtedy w Pasmanterii specjaliści od Marketingu i Promocji goszczący w Kopolsce, w bliżej nieokreślony sposób wywiedzieli sie prawdy o sytuacji w Instytucie mierniczym Miar i Wag w Sewrkach pod Warszawą i wpadli na iście szatański plan.

    Do każdej beli perkalu, do każdego sznurka z koralikami, do każdej szpuli gumki do majtek, byle tylko eksportowanego do dalekiej Kopalski, zaczęto dołączać gratis – 20-30 metrów krawieckich. Pasmanteria przedukuje jak wiadomo głownie na eksport, zaś Kopalska głównie importuje. Skutek tej genialnej operacji był zaś taki, że cały rynek Kopalski został zalany nie tylko tanią gumka do majtek, ale i spora ilością darmowych metrów krawieckich produkcji Pasmanteryjnej.

    Nie minęło wiele czasu, gdy zatroskani patrioci z Konfederacji Pracodawców Prywatnych podnieśli protest. “Plan Balcudowicza nie działa!” – wołali przedsiębiorcy – “Nie opłaca sie nam zarabiać! Dławią nas bowiem nadmierne koszty!” – konstatowali ze zgrozą – “Dlaczego mamy kupować drogie metry krawieckie z krajów ościennych, skoro do każdej nieledwie zakupionej gumki do majtek, dostajemy Pasmanteryjny metr – za darmo! Dosyć wspierania obcego kapitału! Dosyć kupowania za granica za dewizy – metrów krawieckich.” Tu głos zabrał profesor Balcudowicz, ów wielki nauczyciel narodu, i z uśmiechem powiedział: “A nie mówiłem? Oto jak światło ekonomii rozprasza ciemnotę i gnuśność! Czyż nie powiedziałem Wam, ze Wolny Rynek rozwiążę wszelkie problemy ( w dłuższej perspektywie oczywiście)?” I dalej wyjaśnił że przecież oto widomym znakiem jak efektowna jest gospodarka neoliberalna oparta zasadzie braku zasad, jest to że nie tylko każdego stać na kilometry gumek do majtek, więc pomimo że co chwila pękają, to jeszcze każdy ma teraz własny – metr krawiecki – za darmo! “Hura!” zakrzyknęli Prywatni Przedsiębiorcy oczekujący nadal na zlikwidowanie ZUS “hura!” – w charakterystyczny dla siebie, intelektualnie powściągliwy, sposób zgodził sie profesor i podali sobie ręce. Zaś minister Rozstówski zanotował śliniąc ołówek, w swoim sztambuchu “+0.3 do PKB, z tytułu ograniczenia importu nieracjonalnie drogich metrów krawieckich z państw ościennych opętanych łożeniem na działania socjalne jak nauka i R&D “. “To będzie razem 7.5%” – skonstatował z zadowoleniem patrząc w sufit.

    Jak wiadomo, nawet w naszym realnym świecie, firmy lokalizują produkty. Czekolada, kawa czy środki czystości na rynek polski i niemiecki nie są takie same. Niby kupujemy te same marki, ale za swoje pieniądze, dostajemy jednak jakby nie to samo. Jak widać logistycznie to prosty i wdrożony proces, nawet w naszym całkiem realnym świecie, a co dopiero w fikcyjnej rzeczywistości Kopalski i Pasmanterii!

    Ponieważ Pasmanteria produkuje gumkę do majtek głownie na eksport, a płatności zachodzą “od metra”, jest rzeczą zrozumiałą, że przy obrocie gumami do majtek idącym w milady metrów, “zmniejszenie” metra o 1 milimetr, daje Pasmanterii całkiem pokaźny zysk! I to mieli na uwadze specjaliści z Centralnego Komitetu Marketingu i Promocji Pasmanterii Ludowej. Niepostrzeżenie, tajni pracownicy poumieszczani w przedsiębiorstwach Pasmanterii, przed pakowaniem rzeczonych gratisów – metrów krawieckich – ucinali z każdego po 1 mm. Do spisku włączono oczywiście członków Partii pasmanterii i poniektórych, patriotycznie nastawionych przedsiębiorców. Grono to było całkiem spore, tak jednak oddane sprawie neoliberalizmu na świecie, że przez bodaj 20 czy 30 lat nikt w Kopalsce nie dowiedział się o tych faktach! Każdy transport gumy, jeśli opiewał 10 km nawinięte na szpulkę – czyli 10 000 m – w istocie był krótszy o 10 m. Każdy szalik, długi na 2 m, dawał wymierne oszczędności przędzy jedwabnej, płaszcze były krótsze, buty ciaśniejsze, poradzono sobie jednak zmieniając numeracje tak by każdy dostawał to co chciał – a to mniejszy numer płaszcza, a to większy buta. Skoro poniechano relacji miedzy faktycznym rozmiarem ubrania a numeracją – o numeracji zaczęły decydować potrzeby emocjonalne klienta!

    Pojawiły sie nawet prace ekonomiczne, znanych teoretyków neoliberalizmu, dowodzące że nikt w ten sposób nie doznawał uszczerbku. Rzeczywiście – nikt w Kopolsce nie był w stanie tego sprawdzić – bo i jak, skoro niemal wszystkie metry krawieckie pochodziły z Pasmanterii i były krótsze o 1mm od “the length of the path travelled by light in vacuum during a time interval of 1/299,792,458 of a second.” – czego zresztą i tak nikt w Kopolsce nie rozumiał. Na ekspedycję do Sewrek pod Warwszawą, gdzie może jeszcze jest jaki uczony z dawnego Urzędu Miar i Wag, trzeba by poczekać do 2020 roku więc na razie nic z tego. Skoro zadowolenie klienta jest kategorią subiektywną, czyż można mówić tu o szkodzie? Przecież za taki wzrost kosztów z tytułu większej długości materiałów w ubraniach ktoś musiałby zapłacić – i musiałby być tym kimś właśnie klient, bo któż inny? Czyż alternatywa nie byłoby po prostu podniesienie ceny szalika, majtek czy płaszcza, gdyby miał on obiektywnie mieć długość 1m, a więc o 1mm więcej niż obecnie? Cóż zresztą znaczy słowo obiektywnie, w ekonomii, gdzie jak wiadomo każdy ma własną krzywą użyteczności a wartość dóbr materialnych wynika z popytu? Nie sposób zaprzeczyć że na owe brakujące 1mm szalika nie ma popytu żadnego – nie możemy tedy mówić o kradzieży, bo kradzież oznacza przywłaszczenie rzeczy o jakiejś wartości! 1mm szalika dla klienta wartości nie ma żadnej! Podnoszono nawet głosy że jest to działanie w istocie dobroczynne, bowiem w istocie obniżanie kosztów przynosi zysk producentowi nie przynosząc szkody konsumentowi ( bo i jaka tu szkoda? Czytelniku czy gdybyś dostał krawat krótszy 1 lub 2 atomy doznałbyś szkody?) Grono ekspertów ekonomii przy IMF uznało, że takie działanie to czysty postęp gospodarczy, a przy tym jaki ekologiczny!

    Warto pamiętać, że ekologiczny dobroczynny spisek ów, zorganizowany był i w taki sposób, że w razie wpadki zawsze można powiedzieć że gratis to gratis i że został zmniejszony po to by być tańszy…a w promocjach reklamacji nie uwzględnia się. Zresztą o jakiej wpadce może być tu mowa? O kontroli metrów krawieckich w całek Kopolsce? Przecież po pierwsze kontrole to rzecz kosztowna i z dawna w związku z czym zarzucona, po szczegółowych dowodach profesora Rostówskeigo że przynoszą one więcej szkody gospodarce niż pożytku. Po drugie kto miałby to zrobić? Sanepid w Kopolsce wyznaje zasadę “co cię nie zabije to dozwolone” jak państwo pamiętacie może z “afery solnej” która pokazała że nie liczą się normy przemysłowe i znaki CE, HACAP itp. tylko to czy dodatek do żywności jest szkodliwy czy nie. Cement, gips, tłuczeń kamienny, piasek w soli, kaszy i cukrze – wszystko sa to nieszkodliwe a przez to całkowicie dozwolone dodatki spożywcze, tzw. wypełniacze – orzekł Sanepid w Kopolsce. Oczywiście rzecz cała w proporcjach – 60% tłucznia wapiennego w soli to wartość cokolwiek spora i może wywoływać pewne sensacje żołądkowe – pamiętajmy jednak że ekonomia sama reguluje te sprawy i w soli zamiatanej miotła ze składu na wolnym powietrzu tłucznia nie będzie więcej niż 10-15%. Zaś krytykanckie pomysły malkontentów, że poniektórzy będą dosypywali do soli piasek dla zysku można od razu odrzucić – piasek, zwłaszcza tzw. frakcje płukane, sa surowcem drogim. No i nie zapominajmy że często wina leży po stronie konsumenta, który nie sprawdza dokładnie co je. Ale uciekliśmy w nieistotne dygresje.

    Całą operacja zakończyła sie sporym sukcesem – zaś przemysł Pasmanterii zanotował spore oszczędności w relacjach handlowych z Kopolską. Nic jednak nie trwa wiecznie. Rzecz sie przedostała do gazet. Bynajmniej nie w Koplsce, w Kopolsce gazety odmówiły publikacji tekstów tak jawnie godzących w zmysł ekonomiczny narodu. Rzecz rozdmuchały gazety zagraniczne państw, które hołdowały wydatkom na naukę i utrzymywały własne Urzędy Miar i Wag, miały własne i rzetelnie działające Sanepidy, Sądy i Komisje, i oczywiście oczekiwały od przedsiębiorców i kooperantów obiektywnej zgodności z jednostkami wyznaczonymi przez systemy metryczne. Opublikowano w zagranicznej prasie całą serię artykułów w których przedstawiały powyżej opisaną sytuację jako przykład zgubnego braku zasad kontrolowanych przez silne instytucje rządowe.

    Prawda, rzad w Kopolsce nigdy nie przyznał sie do popełnienia błędu, a to w trosce o morale społeczeństwa. Głos jednak zabrał profesor Bacludowicz, ów wielki nauczyciel narodu, który powiedział “”A nie mówiłem? Oto jak światło ekonomii rozprasza ciemnotę i gnuśność! Czyż nie powiedziałem Wam, ze Wolny Rynek rozwiążę wszelkie problemy ( w dłuższej perspektywie oczywiście)? “. Mimo to sprawy nie pozostawiono samej sobie. Przez krótki czas sytuacja wisiała na włosku kiedy dziennikarze puścili kaczkę, że MSZ Kopolski rozważa wypowiedzenie wojny Pasmanterii. Szybko jednak okazało sie że szefowi MSZ Kopolski chodziło o wojnę w tym znaczeniu  – które MSZ Kopolski czy Pasmanterii – będzie miał więcej lajkujących na na twitterze. Pomimo takiej eskalacji konfliktu, szefowie finansów obu krajów doprowadzili do spotkania. W tajnej rozmowie na najwyższym szczeblu z przedstawicielami Pasmanterii Ludowej, minister Rozstówski zapytał wprost: “A metry krótsze o 1mm? Ładnie to tak?” i pogroził palcem, na co Wysoki szósty sekretarz urzędu ds. kontaktów z krajami trzeciego świata, w randze starszego referenta – przewodniczący delegacji Pasmanterii na bilateralne rozmowy z rządem Kopolski – odparł: “Trzeba było kupować za granica metry, a nie używać gratisów!” a potem szczerze rozłożył ręce i z uśmiechem rzekł: “I co? Wojnę nam wypowiecie? ;-)”

    Na całe szczęście Kopolska zdobyła prawa do organizacji Zimowych Igrzysk Olimpijskich w Zakopconem – Zakopcone 2015. Pasmanteria obiecała udzielić Kopolsce kredyty na ich organizację i dodatkowo dostawy po preferencyjnych cenach materiałów budowlanych w metrażu, o sprawie 1mm dłużej już nie mówiono. Całą rzecz tedy zakończono ugodą i do wojny, na twitterze n alajki, oczywiście, nie doszło więc przyparta do muru Pasmanteria zdołała wyjść z konfliktu  twarzą. Strategia szefa MSZ Kopolski jeszcze raz okazała swą szatańską skuteczność.

    Wszystko dobre co sie dobrze kończy, jak to mówią…

Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.

Join 884 other followers

%d bloggers like this: