CKAN

S Vikipedije, slobodne enciklopedije

Arhivska mreža sveobuhvatna znanja (енгл. Comprehensive Knowledge Archive Network, CKAN) je open source sistem za upravljanje podacima za skladištenje i distribuciju podataka baziran na vebu, kao što su tabele i sadržaji baza podataka. Inspirisan je po sistemu kontrole paketa koji je uobicjan za open source operativne sisteme kao sto je Linux, a za cilj da bude "apt-get of Debian for data".[1] CKAN-ova baza kodova se održava od strane Open Knovledge Foundation. Sistem se koristi kao javna platforma za Datahub[2] i u različitimkatalozima vladinih podataka, kao što je u Velikoj Britaniji data.gov.uk,[3], Nacionalni Registar podtaka u Holandiji, u Sjedinjenim Američkim Državama Data.gov[4] i od Australijske vlade " Gov 2.0 ".[5]

Kako je napravljen[uredi | uredi izvor]

logo Python-a

CKAN je napravljen sa 2 programska jezika:Pajton i JavaScript, a stubovi ovog programa su Pylon-ov veb arhitektura i SQLAlchemy kao ORM (Object-relational mapper). Njegova baza podataka je napravljena uspomoć PostgreSQL, a pretraga podataka je omogućena pomoću Solr. Ovaj program ima modularnu arhitekturu koja omogućava da se moze podešavati ili postavljati dodatne funkcije kao što je sakupljanje informacija ili upload-ovanje podataka. CKAN koristi svoj interni model za skladištenje metapodataka o različitim zapisima i predstavlja ga na veb interfejsu koji omogućava korisnicima da pregledaju i pretraže metapodataka. Takođe nudi moćnu API koji omogućava treće razrednim aplikacijama i uslugama da se pripoje uz sam program.[6]

Metapodaci/Metadata[uredi | uredi izvor]

Metapodaci (engl. metadata, meta data, metainformation) predstavljaju „podatke o podacima“ u bilo kojem medijumu. To su podaci koji opisuju karakteristike nekog izvora u digitalnom obliku. Korisni su kod pregledanja, prenosa i dokumentovanja nekog sadržaja. U digitalnom smislu to su „strukturirani podaci koji opisuju, objašnjavaju, lociraju ili na neki drugi način omogućavaju lakše upravljanje resursima.“ Oni mogu opisivati jedan podatak, skup podataka ili samo neki deo celine. Shema metapodataka koja se pritom koristi zavisi od tipa podatka koji opisuje i kontekst u kojem se nalazi. Mogu biti implementirani u dokumente koje opisuju, ili mogu biti uz njih kao zaseban dokument. Često razlika između podatka i metapodatka nije definisana. Metapodatak može ujedno biti i podatak, zavisno od ugla gledanja.

Primena[uredi | uredi izvor]

Metapodaci imaju široku primenu. Najčešće se koriste da bi se ubrzalo i poboljšalo pretraživanje velike količine podataka, i otkrilo što više relevantnih informacija. Metapodaci pomažu pri otkrivanju i organizaciji resursa, te takođe omogućavaju interoperabilnost korišćenjem definisanih shema i protokola. Digitalnom identifikacijom resursima se daju jedinstvene oznake na koje se metapodaci referiraju. Neke vrste metapodataka mogu se primeniti pri arhiviranju podataka kako bi se uštedilo na kapacitetu, a doprinelo automatizaciji rada.

Tipovi[uredi | uredi izvor]

Tri glavne kategorije metapodataka su:

Opisni[uredi | uredi izvor]

Opisuju resurs za potrebe pronalaženja i identifikacije. Može uključivati elemente kao što su naslov, autor, sadržaj, ključne reči...

Strukturni[uredi | uredi izvor]

Označavaju kako su složeni objekti (resursi) sastavljeni (npr. kako su određene stranice poređane da čine poglavlje).

Administrativni[uredi | uredi izvor]

Sadrže informacije o upotrebi i upravljanju resursa; postoji nekoliko podskupova ovog tipa (za intelektualno pravo, očuvanje itd.) Tipovi metapodataka zavise od okruženja u kojem se koriste. Mogu se primenjivati u relacionim bazama podataka, skladištima podataka, u sadržaju baza podataka opisujući bilo kakve datoteke (fotografije, video…), pri opisivanju geografskih objekata i dr.

Sheme[uredi | uredi izvor]

Sheme metapodataka su strukturirani setovi metapodataka s određenom svrhom, na primer za određivanje tipa nekog dokumenta. Postoje različite sheme metapodataka. Svaka shema metapodataka ima ograničen broj elemenata, gde svaki taj element ima svoje ime i značenje. Neke od poznatijih shema:

Dublin Core[uredi | uredi izvor]

Definisan set elemenata koji autorima može poslužiti pri opisu vlastitih Web resursa. Osim za Web, često se koristi i za druge izvore. Shema je sažeta i jasna, te sadrži 15 elemenata (naslov, tema, opis, tip, izvor, odnosi, primenjivost, autor, izdavač, saradnik, prava, datum, jezik, format, identifikator). Elementi su neobavezni i njihov redosled nije bitan.

METS (Metadata Encoding and Transmission Standard)[uredi | uredi izvor]

Koristi se za potrebe definisanja strukture podataka u digitalnim bibliotekama (da se osigura celovitost podataka koji su digitalizovani u delovima i sl.) Razvijen je na inicijativu Asocijacije digitalnih biblioteka.

TEI (Text Encoding Initiative)[uredi | uredi izvor]

Međunarodni projekat za označavanje većih tekstova u digitalnom obliku, uglavnom na polju društvenih nauka.

EAD (Encoded Archival Description)[uredi | uredi izvor]

Shema za označavanje arhivske građe.

MARC (Machine Readable Cataloging)[uredi | uredi izvor]

Standardi za prezentaciju građe u mašinski čitljivoj formi.

Implementacija[uredi | uredi izvor]

Da bi upotreba shema metapodataka u kontekstu mrežnih resursa bila moguća, potrebno ih je obeležiti setom znakova koji omogućavaju prepoznavanje sheme. Tekstualni formati kojima se to može izvesti su XML, SGML, HTML, MIMEi dr. Metapodaci se tako ugrađuju dokument pomoću „tagova“. To se može napraviti direktnim upisivanjem simbola ili pomoću programa za editovanje. Primena metapodataka je uprkos kritikama sve prisutnija i dalje se razvija. Razvoj i primena metapodataka predstavljaju veliki napredak u pronalaženju i korišćenju informacija, pogotovo u današnje vejeme kada internet polako postaje glavni izvor informacija.

Pajton/Python[uredi | uredi izvor]

Пајтон долази спреман за рад: „Батерије су укључене“ у испоруку

Pajton (енгл. Python) je programski jezik visokog nivoa opšte namene. Podržava, u prvom redu imperativni, objektno-orijentisan i funkcionalni stil programiranja. Sintaksa jezika Pajton omogućava pisanje veoma preglednih programa. Jezik se brzo i lako uči.[7] Programi pisani u Pajton jeziku se najčešće interpretiraju. Uz interpretator se obično isporučuje i veoma razvijena standardna biblioteka modula. Autor ovog jezika je Gvido van Rosum sa Univerziteta Stičing u Holandiji.

Zdravo svete[uredi | uredi izvor]

Za ispis teksta "Zdravo svete!" (bez znakova navoda), u verzijama jezika koje prethode verziji 3.0, može da se upotrebi sledeći kod:

print 'Zdravo svete!'

U verziji jezika 3.0 sintaksa je nešto izmenjena. Gornji primer bi izgledao ovako:

print('Zdravo svete!')

Isti tekst, ali ovoga puta zajedno sa navodnicima, mogao bi da bude prikazan izvršavanjem sledećeg Pajton koda:

'Zdravo svete!'

O imenu[uredi | uredi izvor]

Ime programskog jezika asocira na zmiju piton ali, po rečima autora, inspiraciju za ime je dobio vezano za „Letećeg cirkusa Montija Pajtona“ (енгл. Monty Python's Flying Circus), BBC-evu seriju komedija aktuelnu sedamdesetih godina.[8]

PostgreSQL[uredi | uredi izvor]

logo PostgreSQL-a

PostgreSQL je robustan, objektno-relacioni sistem za upravljanje bazama podataka (objektno-relacioni DBMS ili ORDBMS), proizveden na osnovu Berklijevog sistema za upravljanje bazama podataka Postgres. PostgreSQL sadrži moćan objektno-relacioni model podataka, bogat izbor vrsta podataka, laku nadogradivost, kao i nadograđeni set naredbi SQL jezika.

Karakteristike[uredi | uredi izvor]

Funkcije[uredi | uredi izvor]

Funkcije omogućavaju serveru da izvršava blokove koda. Iako ti blokovi mogu biti pisani u SQL-u, nedostatak nekih od osnovnih programerskih operacija u istom je doveo do usvajanja drugih jezika unutar funkcija. S tim u vezi, funkcije u PostgreSQL-u mogu biti pisane u sledećim jezicima:

  • Ugrađenom PL/pgSQL jeziku koji liči na Oraklov proceduralni jezik PL/SQL.
  • Skripting jezicima kao što su: Lua, Perl, PHP, Pajton, Rubi, Tcl i drugi ...
  • Kompajlerskim jezicima kao što su: C, C++, Java
  • Statističkim jezicima, kao što je: R.

Indeksi[uredi | uredi izvor]

PostgreSQL sadrži ugrađenu podršku za B+ stablo, Heš tabela, GiST i GiN indekse.

Trigeri[uredi | uredi izvor]

Trigeri su potpuno podržani i mogu se pridružiti tabelama, ali ne i pogledima. Višestruki trigeri se izvršavaju po abecednom redosledu.

Tipovi podataka[uredi | uredi izvor]

Podržan je širok skup tipova podataka, uključujući i mogućnost da korisnici sami stvaraju sopstvene tipove.

Nasleđivanje[uredi | uredi izvor]

Tabele mogu nasleđivati karakteristike od "tabela roditelja". Podaci iz naslednika egzistiraju i u potomku. Dodavanje kolone u potomku izaziva pojavljivanje te kolone i u naslednoj tabeli.

Reference[uredi | uredi izvor]

  1. ^ Rufus Pollock, Daniel Dietrich (2009-12-28). „CKAN: apt-get for the Debian of Data”. 26th Chaos Communication Congress. Архивирано из оригинала 18. 07. 2011. г. Приступљено 15. 2. 2011. 
  2. ^ „About Datahub”. Архивирано из оригинала 09. 02. 2014. г. Приступљено 04. 06. 2014. 
  3. ^ data.gov.uk (2009-09-30). „data.gov.uk - Project Info”. Архивирано из оригинала 29. 04. 2012. г. Приступљено 15. 2. 2011. 
  4. ^ „Data.gov Launches New Catalog and APIs”. 22. 5. 2013. Архивирано из оригинала 06. 06. 2014. г. Приступљено 04. 06. 2014. 
  5. ^ „New data.gov.au – now live on CKAN”. 17. 7. 2013. Архивирано из оригинала 03. 09. 2013. г. Приступљено 04. 06. 2014. 
  6. ^ „# sthash.cbSIhCVn.dpuf”. Архивирано из оригинала 18. 05. 2014. г. Приступљено 04. 06. 2014. 
  7. ^ The Python Tutorial — Python v2.7.3 documentation, Pristupljeno 23. 4. 2013.
  8. ^ 1. Whetting Your Appetite — Python v2.7.3 documentation Архивирано на сајту Wayback Machine (27. август 2006), Pristupljeno 23. 4. 2013.

Spoljašnje veze[uredi | uredi izvor]