CKAN

Из Википедије, слободне енциклопедије

Arhivska mreža sveobuhvatna znanja (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[уреди]

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[уреди]

Metapodaci (eng. 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[уреди]

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[уреди]

Tri glavne kategorije metapodataka su:

Opisni[уреди]

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[уреди]

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

Administrativni[уреди]

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[уреди]

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[уреди]

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)[уреди]

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)[уреди]

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

EAD (Encoded Archival Description)[уреди]

Shema za označavanje arhivske građe.

MARC (Machine Readable Cataloging)[уреди]

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

Implementacija[уреди]

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[уреди]

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

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[уреди]

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[уреди]

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[уреди]

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[уреди]

Funkcije[уреди]

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[уреди]

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

Trigeri[уреди]

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[уреди]

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

Nasleđivanje[уреди]

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[уреди]

  1. Rufus Pollock, Daniel Dietrich (2009-12-28). „CKAN: apt-get for the Debian of Data“. 26th Chaos Communication Congress Приступљено 15. 2. 2011.. 
  2. About Datahub
  3. data.gov.uk (2009-09-30). „data.gov.uk - Project Info“ Приступљено 15. 2. 2011.. 
  4. „Data.gov Launches New Catalog and APIs“. 22. 5. 2013.. 
  5. „New data.gov.au – now live on CKAN“. 17. 7. 2013.. 
  6. # sthash.cbSIhCVn.dpuf
  7. The Python Tutorial — Python v2.7.3 documentation, Pristupljeno 23. 4. 2013.
  8. 1. Whetting Your Appetite — Python v2.7.3 documentation, Pristupljeno 23. 4. 2013.

Spoljašnje veze[уреди]