VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE Fakulta informatiky a statistiky Katedra informačních technologií

Rozměr: px
Začít zobrazení ze stránky:

Download "VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE Fakulta informatiky a statistiky Katedra informačních technologií"

Transkript

1 VYSOKÁ ŠKOLA EKONOMICKÁ V PRAZE Fakulta informatiky a statistiky Katedra informačních technologií Studijní program: Aplikovaná informatika Obor: Kognitivní informatika DIPLOMOVÁ PRÁCE Integrace CMS Joomla! s Ontopia Knowledge Suite CMS Joomla! and Ontopia Knowledge Suite Integration Diplomant: Bc. Andrej Hazucha Vedoucí diplomové práce: Ing. Tomáš Kliegr Školní rok 2009/2010

2 Prohlášení Prohlašuji, že jsem diplomovou práci zpracoval samostatně a že jsem uvedl všechny použité prameny a literaturu, ze kterých jsem čerpal. V Praze, dne 5. května 2010 Andrej Hazucha

3 Poděkování Rád bych tímto poděkoval především Ing. Tomáši Kliegrovi za konzultace, nedocenitelné rady a odborné vedení mé práce. Také děkuji kolegu Tomáši Marekovi za spolupráci při testování XQuery dotazů. Dále chci poděkovat rodině a přátelům, kteří mě podporovali počas celého studia.

4 Abstrakt Předmětem této práce je nastínit problematiku integrace Content Management Systémů (CMS) se znalostními bázemi realizovanými nad technologiemi sémantického webu. V první části jsou rozebrány technologie sémantického webu, jejich využití a existující návrhy pro jejich zahrnutí při tvorbě a správě obsahu jak v CMS systémech, tak v kolaborativních wiki systémech. Jelikož je v open-source oblasti převaha CMS systémů postavených na platformě PHP, je kladen důraz na existující nástroje na této platformě. V praktické části je ukázána realizace integrace CMS Joomla! a znalostní bází Ontopia s možností rozšíření o různé systémy, které umožňují komunikaci přes HTTP protokol. Komunikace mezi Joomlou a Ontopií je založena na RESTful protokolu TMRAP, který Ontopie nabízí. V případě Ontopie je dotazovacím jazykem tolog. Ukázané je i řešení komunikace se SPARQL endpointem a XML databází. Syrová data jsou před vygenerováním převedena pomocí XSL transformací do podoby vhodné pro webové rozhraní. Tyto transformace jsou uživatelsky definovatelné. Jako součást této práce vznikla demonstrační aplikace, která je součástí projektu SEWEBAR. Tato aplikace nabízí možnost začleňovat výsledky sémantických dotazů do analytických reportů z data-miningových úloh přímo v prostředí CMS Joomla!. Klíčová slova: CMS, Joomla!, Znalostní báze, OKS, Integrace, SEWEBAR, Sémantický Web iii

5 Abstract The aim of this thesis is to outline issues related to integration of Content Management Systems and Knowledge Bases based on semantic web technologies. The work begins with semantic technologies research and their use cases. The possibilities and proposals of integration of these technologies into CMS and collaborative wikis are discussed. As far as the most of open-source CMS are based on PHP platform tools written in PHP are insisted. CMS Joomla! and Ontopia Knowledge Suite integration is demonstrated in practical the part of the thesis. Possibility to communicate with different systems that allow HTTP requests is presented, too. Joomla! and OKS communication is through RESTful TMRAP protocol implemented in OKS. The query language used in this case is tolog. Communication with SPARQL endpoint or XML database is also demonstrated. Raw XML returned from Knowledge Base data source is transformed by XSLT into (X)HTML fragments. The transformations are user defined. Created demo application is included into SEWEBAR project. This application enables to incorporate results of semantically rich queries into analytical reports of data mining tasks within CMS Joomla! Interface. Keywords: CMS, Joomla!, Knowledge bases, OKS, Integration, SEWEBAR project, Semantic Web iv

6 Obsah Abstrakt Seznam obrázků Seznam použitých zkratek iii vii viii 1. Úvod 1 2. Technologie sémantického webu RDF a OWL Mikroformáty RDFa Topic Maps Linking Open Data DBPedia Dublin Core FOAF SIOC Simple Knowledge Organization System (SKOS) SEMSOL ARC Trice TMAPI/PHP Existující přístupy integrace znalostí v CMS systémech IKS Architektura a integrace Sdílené slovníky pojmů Sémantizace a taggování Sémantické vyhledávaní a dotazování Odvozování a konzistence Vztahy a linky v obsahu Workflow Verzování a revize obsahu Vícejazyční podpora v

7 Obsah Bezpečnost FISE Znalosti ve formě wiki KiWi AceWiki ITMS Drupal a RDFa Triplify Praktické využití RDFa a technologií Semsol Joomla! a Ontopia Knowledge Suite CMS Joomla! Možnosti rozšiřování Knihovny Práce s databází MVC a CRUD Ontopia Knowledge Suite tolog TMRAP Project SEWEBAR Implementace pro CMS Joomla! Knihovna pro komunikaci mezi KB a CMS Komponenta com_kbi Struktura komponenty Editor-xtd plugin kbinclude Content Plugin Demonstrace Ontopia SPARQL endpoint XQuery Instalace pro SEWEBAR Zdrojové kódy a Launchpad Závěr 45 Přílohy 46 Literatura 48 vi

8 Seznam obrázků 2.1. Schéma URI a CURIE Ukázka sémantického grafu[11] Provázanost dat v Linked data[3] Architektury sémantické webové aplikace podle Semsolu[6] Sentence Editor v AceWiki Architektura ITMS[16] Náhled uživatelského rozhraní pro mapování v RDF CCK MVC Projekt SEWEBAR[7] Komunikace knihovny s různými zdroji dat Objektový model knihovny Datový model komponenty com_kbi Detail editace zdroje/kb Detail editace dotazu Struktura administrační části komponenty com_kbi Zadávaní fragmentu do článku Vztahy mezi rozšířeními Joomly Výsledná podoba dotazu ve front-endu Joomly s defaultním templatem vii

9 Seznam použitých zkratek AJAX Asynchronní JavaScript a XML BKEF Backrgound Knowledge Exchange Format CCK Content Contruction Kit, Populární modul pro Drupal CMS CMS Content Management System CRUD Create, Read, Update, Delete DOM Document Object Model FOAF Friend of a Friend IKS Interactive Knowledge Stack ITMS Integrated Topic Management System JSON JavaScript Object Notation KB Knowledge Base, Znalostní báze KEG Knowledge Engineering Group, Výzkumní skupina na VŠE MVC Model View Controler OKS Ontopia Knowledge Suite OWL Web Ontology Language PHP PHP: Hypertext Preprocessor PMML Predictive Model Markup Language RDF Resource Description Framework SEO Search Engine Optimization SEWEBAR SEmantic WEB and Analytical Reports SIOC Semantically-Interlinked Online Communities SKOS Simple Knowledge Organization System SMW Semantic MediaWiki SOAP Simple Object Access Protocol SPARQL SPARQL Protocol and RDF Query Language TMQL Topic Maps Query Language TMRAP Topic Maps Remote Access Protocol WYSIWYG What You See Is What You Get XML extensible Markup Language XSL extensible Stylesheet Language viii

10 1. Úvod Dnešní online svět je zahlcován velikým množstvím dat. V takovémto množství je již téměř nemožné se vyznat bez inteligentního počítačového filtrování informací relevantním k záměru uživatele. Fulltextové vyhledávání se ukazuje jako neuspokojivé a čím dál tím více pozornosti se obrací k sémantickým technologiím a standardům. Mluví se o otevřené sítí dat propojených mezi sebou sémantickými vazbami. Na takové data lze pohlížet jako na sdílené znalosti. Tvůrci obsahu by měli navazovat na již známé, aby byla zachována spojitost a konzistence veškerých veřejných informací publikovaných na Internetu. Není potřeba znovu vynalézat kolo, lepší je odkázat se na již objevený vynález. Idea sémantizace webu hovoří, aby takovéto odkazy mohli zpracovávat stroje. To by umožnilo efektivní a rychlé dohledávání a orientaci v takovéto sítí. Bez hlubšího obeznámení se s problémovou doménou je náročné číst a rozumět faktům uloženým ve znalostních bázích. Hlavně v případech, kdy byla tato báze tvořena zčásti z dat získaných z data miningových úloh. Proto by bylo užitečné mít jednoduše použitelný nástroj pro tvorbu článků a reportů v podobě prezentovatelné široké veřejnosti. Tato práce si klade za cíl přezkoumat a nalézt možné způsoby integrace rozšířených CMS systémů se systémy znalostních bází. V teoretické části práce jsou přezkoumané webové komunikační technologie, které mají podporu pro zachovávaní samo popisných dat v přenášených informacích a používají se v znalostním inženýrství. Metadata popisující sémantiku informací jsou důležité při strojovém zpracování. Následně jsou popsány existující návrhy pro podobné integrace CMS systémů a znalostních bází založených na standardech sémantického webu. Navrhne se koncept, který by šlo jednoduše aplikovat pro potřeby SEWEBARu. SEWEBAR je projektem na VŠE a řeší problémy spojené z dolováním dat z relačních databází. Řeší také problematiku vytváření reportů z těchto často strojově-časově náročných úloh do podoby, která by zachovala jejich přínos. Zde se právě ukazuje, že výsledky je výhodné ukládat do znalostních bází. V případě SEWEBARu se experimentuje s Ontopia Knowledge Suite, která nativně pracuje se standardem Topic 1

11 1. Úvod Maps. Topic Maps zachovávají sémantičnost uložených dat a umožňují relativně jednoduché dotazování. Výsledný koncept bude demonstrován na integraci CMS Joomla! a Ontopia OKS. Návrh na komunikaci mezi těmito systémy je skrz TMRAP protokol, který Ontopie nabízí. Aby bylo možné jednoduše uplatnit stejný koncept v jiných PHP systémech je základní implementace vytažena do nezávilé PHP knihovny. 2

12 2. Technologie sémantického webu Hlavním přínosem Internetu je možnost sdílet informace. Infrastruktura Internetu je již na vysoké úrovni a pořád přibývají aktivní uživatelé. Množství sdílených informací je obrovské a rychle se zvětšuje. Vyhledávání založené na hledání slov v textu se ukazuje jako nepostačující. I když se vyvíjejí optimalizační techniky, pro určení relevance zdrojů k hledaným výrazům, pořád to nestačí. Ku příkladu, mezi výsledky hledání výrazu life of tigers in woods by člověk očekával informace o životě tygrů v lesích. Drtivá většina výsledků, ale odkazuje na zdroje pojednávající o známém golfovém hráči. Projevuje se zde problém homonym, kdy fulltextový vyhledávač nedokáže rozlišit různé významy stejně psaných výrazů. Podobný problém vzniká i se synonymy. V tomto případě fulltextové vyhledávače nedokáží odhalit, že různá slova můžou mít stejný význam a člověk je ochuzen o relevantní informace, které se ve výsledcích neobjeví. Kdyby byl vyhledávací stroj schopen nějakým způsobem rozpoznávat a odlišovat významy hledaných výrazů, čili jejich sémantiku, pomohlo by to vyřešit podobné problémy, ale také by to přineslo mnoho nových možností využití sdílených dat. Sémantický web, někdy taky označován jako Web 3.0, je chápán jako extenze dnešního webu. Základní myšlenkou je vytvořit efektivnější prostředí pro výměnu dat mezi uživateli a umožnit automatizaci základních procesů. Tim Berners-Lee, který je považován za tvůrce myšlenky Web-u, tvrdí, že data by měla být zveřejňována v syrové formě. To znamená v takové podobě, aby s nimi bylo možné pracovat nezávisle na platformě. To se podařilo dosáhnout již v původní verzi Web-u. Idea sémantického webu se snaží přesvědčit tvůrce obsahu, aby k sdíleným datům přidávali navíc popisné informace, který by vyjadřovali význam (sémantiku) nosných dat. Tak by mohl zachytit logiku a kontext i stroj. Samo-popisné data lze dnes zpracovávat na relativně vysoké úrovni pomocí algoritmů logického odvozování a umělé inteligence. Standardizovaná podoba těchto meta informací je důležitá pro vznik a rozšíření softwarových nástrojů, které by dokázali inteligentně zpracovávat informace a vztahy mezi nimi. Nabízelo by to pomocnou ruku strojům pochopit, to co je člověk schopen pochopit intuitivně z kontextu obsahu a jeho okolí. 3

13 2. Technologie sémantického webu Mechanizmy reprezentace znalostí na sémantickém webu, musí odpovídat základním charakteristikám dnešního webu, kterými jsou distribuce, diverzita a heterogenita. Tyto charakteristiky implikují vlastnosti sémantických technologií[14]: Identita entity každá entita musí být jednoznačně identifikovatelná, což je základním předpokladem pro strojové zpracování informací Reprezentace vztahů vztahy mezi entitami musí být možno vyjádřit, protože zachycují relevantní informace Rozšířitelnost nutnost zachovat možnost rozvíjet a přizpůsobovat existující témata Definice pojmů (ontologie) potřeba sjednotit terminologii mezi různými zdroji pojednávajícími o stejné tematice RDF a OWL Resource Description Framework je W3C standard navržen jako data model popisných metadat. Jelikož XML nenabízí možnost vyjádřit dostatečně všeobecným způsobem sémantiku zaznamenaných dat, je RDF logickým rozšířením XML. Základní myšlenkou je modelování dat v jejich elementární podobě. Veškeré informace jsou vyjádřené pomocí takzvaných statementů, neboli trojic. Každá trojice se skládá ze subjektu, predikátu a objektu (někdy se uvádí objekt atribut hodnota). Všechny položky reprezentují nějaký zdroj. Zdroj může být definován jako Uniform Resource Identifier (URI) nebo přímo jako konstanta pomocí literálu (jenom v případě predikátu). URI je abstrakcí URL známého z Webu, ale na rozdíl od URL neslouží k lokalizaci zdroje, ale k jeho jednoznačné identifikaci. URI se skládá z lokalizace domény v podobě URL a z jedinečného jména v rámci této domény (URN). Kvůli často velké délce URI vznikla kompaktní podoba, takzvané CURIE. CURIE umožňuje definovat doménu jenom jednou v dokumentu a přiřadit jí zkrácené jméno. Je to podobný princip jako použití XML namespaců a používá se hlavně v RDFa. Na obrázku 2.1 je znázorněné porovnání URI a CURIE. Pod zdrojem se rozumí jakýkoliv objekt, o kterém má smysl uvažovat. Predikáty, neboli atributy jsou zvláštním druhem zdrojů, které popisují vztahy mezi jinými zdroji. Jelikož je predikát v RDF vždy binární, vytvoří každý takovýto vztah právě jednu trojici. Jednoznačná 4

14 2. Technologie sémantického webu Obrázek 2.1.: Schéma URI a CURIE identifikace zdrojů a jejich vazeb je důležitá pro odstranění problému homonym, se kterým se potýká dnešní Web. RDF jakožto nástroj pro datové modelování je v zásadě syntakticky a doménově nezávislý. Kvůli zjednodušení a zkrácení se často zapisuje i v jiných formátech jako XML. Nejpoužívanější je zápis v jazyku N3 pomocí speciální syntaxe Terse RDF Triple Language (Turtle). K definici slovníků pojmů používaných v RDF slouží jazyk nazýván RDF Schema. Kromě samotné definice pojmů umožňuje specifikovat vlastnosti k různým druhům objektů a předepisovat vztahy mezi objekty. Pro obecnější doménové modelování slouží další W3C standard OWL Web Ontology Language, který umožňuje modelování znalostí uvnitř uživatelsky definovatelné ontologie. Přesně definované ontologie dovolují zpracovávat data strojově pomocí deskripční logiky. Obrázek 2.2 ukazuje příklad modelované reality pomocí RDF a RDFS/OWL, kde 2 autoři (Mary Smith a John Doe) publikovali svůj článek v časopisu Computer Journal. Nad daty uloženými v RDF se lze dotazovat sofistikovanými způsoby, proto vznikl komplexní dotazovací jazyk SPARQL, který patří do rodiny W3C standardů pro Sémantický Web Mikroformáty Mikroformáty jsou sadou jednoduchých a otevřených formátů postavených na standardech, které již existují a používají se. Dalo by se říct, že představují stupeň mezi formáty dat, určené pro čtení jenom lidem a komplexnějšími formáty, které je schopen zpracovávat stroj. Podporují sémantizovaný zápis běžných datových struktur 5

15 2. Technologie sémantického webu Obrázek 2.2.: Ukázka sémantického grafu[11] užívaných na webu (informace o osobách, událostech, produktech apod.) přímo do (X)HTML. Základním principem je upřednostňování obsahových (X)HTML značek před prezentačními, např. upřednostnění značky <em> před <i> apod. Prezentační vrstva by měla být co nejvíce oddělitelná od obsahu. Při vyjadřování sémantiky, pro kterou neexistuje odpovídající (X)HTML tag se používají následující návrhové vzory. abbr-design-pattern používání tagu <abbr> a jeho atributů title a class k přiřazení jiné sémantické hodnoty než se zobrazuje v textu. Příklad: <abbr class="author"title="danny Ayers">Danny</abbr> class-design-pattern indikace sémantické informace pomocí atributu class date-design-pattern, datetime-design-pattern zpřístupnění časových hodnot jak stroji, tak člověku. Využívá často abbr-designpattern v kombinaci se standardizovanými formáty zápisu času (ISO8601) include-pattern nabízí možnost odkazovat na jiné datové zdroje uvnitř dokumentu rel-design-pattern určuje vztah zdrojového a cílového dokumentu. Z velké části odpovídá atributu rel z definice (X)HTML 6

16 2. Technologie sémantického webu 2.3. RDFa Dalším způsobem, kterým lze zpřístupnit sémantické informace v klasickém (X)HTML je RDFa. Je to vlastně zápis RDF do atributů proto to a v názvu. V tomhle případě je zásah do původního dokumentu zásadnější než v případě mikroformátů, co může představovat problém právě při integraci do existujícího templatovacího systému využívaného v CMS. Na začátku RDFa dokumentu je potřebné uvádět správnou definici dokumentu, která je v případě verze 1.0 následující [10]. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" " Jelikož se jedná o doporučení W3C, je samozřejmostí i import XML namespaců užitých v dokumentu. Pak už lze přidávat popisné informace a kombinovat je s informacemi prezentovanými lidskému uživateli. Pomocí atributů typeof a about lze určovat třídu a identifikaci obsahu elementů, které daný atribut obsahují. Vlastnosti se nastavují pomocí atributu property, hodnotou je zase obsah elementu s tímto atributem. U linků lze využit atributu rel k nastavení hodnoty RDF vlastnosti na hodnotu atributu href tohto linku. 1 <div typeof="foaf:person" xmlns:foaf=" 2 <p property =" foaf: name" >Alice Birpemswick</p> 3 <p> 4 <a rel=" foaf: mbox" href=" mailto: alice@example. com" > 5 alice@example.com 6 </a> 7 </p> 8 <div xmlns:foaf=" 9 <ul> 10 <li rel=" foaf: homepage" typeof =" foaf: Person" > 11 <a href=" example. com/ bob/" >Bob</a> 12 </ li> 13 <li rel=" foaf: homepage" typeof =" foaf: Person" > 14 <a href=" example. com/ eve/" >Eve</a> 15 </ li> 16 <li rel=" foaf: homepage" typeof =" foaf: Person" > 17 <a href=" example. com/ manu/" >Manu</a> 18 </ li> 19 </ ul> 20 </div> 21 </div> 2.4. Topic Maps Topic Maps je ISO standard (ISO/IEC 13250:2003) sloužící k zápisu znalostí a vztahů mezi nimi. Koncept vychází z technik pojmového a myšlenkového mapování. Základními stavebními bloky jsou pojmy 7

17 2. Technologie sémantického webu a jejich vztahy. John Sowa tvrdí, že takovéto pojetí je izomorfní s logikou prvního řádu a tudíž má stejnou vyjadřovací sílu [21]. Cílem Topic Maps je zakrýt díru mezi reprezentací znalostí a způsoby jejich zpracování v znalostním inženýrství. Důležitým předpokladem pro vznik softwarových nástrojů, zpracovávajících informace na vyšší úrovni, je právě standardizovaný způsob zachycení existujících znalostí. Pojem (topic - v terminologii Topic Maps) představuje jakýkoliv koncept, s kterým je možné formulovat znalost. Pojem pomocí vztahů (asociací) odkazuje na různé subjekty. Tyto vztahy mezi pojmy a subjekty jsou vždy jedna k jedné a každý subjekt je také topic. Jednoduchým příkladem je Shakespeare je autorem Hamleta, kde Hamlet a Shakespeare jsou pojmy a vztah je býti autorem. Pojmy lze také kategorizovat a omezovat asociace jenom na určité kategorie pojmů. Různé zdroje, na které lze odkazovat z Topic Maps se nazývají výskyty (occurrences). Tyto výskyty jsou zpravidla externí zdroje, které musí být jednoznačně určené pomocí URI nebo HyTime odkazů Linking Open Data Linked Data je iniciativa W3C pro vytváření a publikování otevřených datových zdrojů ve formátech Sémantického Webu a jejich vzájemného propojení. Aby web dat mohl růst, definoval Tim Berners-Lee 4 základní pravidla, kterými se má řídit každý tvůrce obsahu pro Sémantický Web [13]. 1. Pojmenovávej veškeré věci pomocí URI. 2. Používej HTTP URI. Umožní to ostatním tyto jména hledat. 3. Dotaz na URI by měl vracet užitečná data ve standardizované podobě (RDF, SPARQL). 4. Odkazuj pomocí URI na další zdroje, aby bylo jednoduché najít ještě více souvisejících informací. Časem začali vznikat takto prolinkované data a ke květnu 2009 existovalo 4.2 miliard RDF trojic. Povázanost je znázorněna na obrázku DBPedia DBPedia je projekt, jehož cílem je extrahovat sémanticky strukturované data z informací vytvořených v rámci projektu Wikipedia. Přebýrá přednosti Wikipedie jakými jsou široké doménové porytí, otevřenost 8

18 2. Technologie sémantického webu Obrázek 2.3.: Provázanost dat v Linked data[3] nebo vícejazyčnost. DBPedia umožňuje uživatelům dotazovat se nad těmito daty pomocí sémantických nástrojů a využívat výsledky dotazů ve vlastních aplikacích Dublin Core Dublin Core je množina datových modelů z oblasti publikování a IT. Má sloužit jako standardní formát pro popis sdílených dokumentů. Podporuje širokou škálu užití a obchodních modelů. Definuje konvence pro popis různých objektů v online prostředí, proto se používá k popisu hlavně digitálních materiálů. V základní podobě pracuje s 15 datovými elementy (Title, Creator, Publisher, Description, Type a další), kde všechny jsou nepovinné a můžou se opakovat FOAF FOAF je zkratkou pro Friend of a friend, co lze přeložit jako přítel přítele. Za tímto akronymem se skrývá ontologie pro popis osob jako jednotlivců nebo skupin, jejich aktivit a vztahů s jinými osobami a objekty. Každá osoba s FOAF profilem musí mít dle zásad LOD jednoznačné jméno v podobě URI. Tato ontologie se považuje za první rozšířenou aplikaci sociálně-sémantického konceptu. Pomocí ní se budují 9

19 2. Technologie sémantického webu decentralizované sociální sítě. Člověk si může vybrat jaké stránky a nástroje online sociálního žití použije, aniž by zůstal odříznut od přátel, kteří používají jiné nástroje SIOC Semantically-Interlinked Online Communities, neboli sémanticky propojené online komunity je další rozšířenou ontologií v prostředí webu dat. Stanovuje metody pro propojování diskusních fór, blogů nebo mailinglistů. SIOC metadata dokáže generovat značný počet blogovacích a CMS systémů. Výhodně doplňuje FOAF ontologii v oblasti publikování obsahu v sociálních sítích Simple Knowledge Organization System (SKOS) Jednoduchý systém pro organizaci znalostí, který vytváří reprezentace řízených a strukturovaných pojmů, jako jsou taxonomie, klasifikační schemata nebo tezaury. SKOS se snaží zachytit podobnosti v takovýchto strukturách a vyjádřit je explicitně, aby s nimi bylo možné pracovat nezávisle na platformě. Data model SKOSu lze použít při migrování existujících znalostních bází do prostředí sémantického webu SEMSOL SEMSOL je z části komerční komunita kolem technologií sémantického webu na platformě PHP. Podílí se hlavně na vývoji dvou frameworků, které jsou open-source. Jeho architektura je znázorněna na obrázku ARC ARC implementuje standardy RDF a SPARQL pro prostředí PHP. Dokáže parsovat RDF v různých formátech, ukládat sémantické trojice do vlastní DB a může také sloužit jako endpoint pro SPARQL dotazování. Cílem projektu není vytváření sémantických aplikací, ale přinést RDF do běžné praxe Trice Pro vytváření sémantických webových aplikací slouží tento aplikační framework, který je nadstavbou ARC. Pro uživatele a správce obsahu 10

20 2. Technologie sémantického webu Obrázek 2.4.: Architektury sémantické webové aplikace podle Semsolu[6] vypadá jako standardní CMS systém, který je však založený na RDF a SPARQLu TMAPI/PHP TMAPI je programové rozhraní pro přístup k datům uložených v Topic Maps. Představuje de facto standard, jelikož je nejrozšířenějším API v této oblasti. Ontopia je jednou z aplikací, která je postavena na TMAPI 2.0. Programové rozhraní definuje množinu základních interfaců, které musí aplikace implementovat. TMAPI je primárně tvořen v jazyku JAVA, TMAPI/PHP je implementací pro prostředí PHP5. V alpha verzi existuje i port pro.net. 11

21 3. Existující přístupy integrace znalostí v CMS systémech 3.1. IKS Interactive Knowledge Stack (IKS) je evropský projekt zaměřen na malé a střední CMS. Snahou projektu je navrhnout a vytvořit referenční architekturu přinášející možnosti sémantického webu do CMS frameworků, která by umožnila vytvářet inteligentní obsah a pracovat s informacemi na úrovni znalostí. IKS úzce spolupracuje s výrobci a dodavateli těchto systémů. V první fázi projektu se ve spolupráci s partneři hledali společné abstraktní části dnešních CMS systémů. Tyto části tvoří základ pro určení požadavků na sémantické funkce a mechanizmy, které by byly jednoduše integrovatelné do existujících CMS. Spravované druhy obsahů Podle analýz IKS existují různé druhy obsahů, které jsou užívané a spravované v dnešních CMS. Systém musí být připraven pracovat se všemi druhy, i když ne v každém CMS jsou využívané. dokumenty webové stránky a webové aplikace multimediální obsah osoby (aspekty ze sociálních sítí) články a komentáře (blogy a fóra) krátké zprávy (twitter, sms) témata (články typu wiki) korespondence ( y, newsletters) RSS a jiné feedy Pracovní postupy Většina dnešních CMS dovoluje uživatelům dodržovat v nějaké podobě pracovní postupy, neboli workflows. Základní postup pro vytváření a 12

22 3. Existující přístupy integrace znalostí v CMS systémech publikování obsahu zahrnuje vytvoření obsahu, správné naformátování, přidání meta informací, uložení a indexace a nakonec samotné publikování. V dnešních CMS existují mnohé komponenty, které podporují a ulehčují práci ve zvoleném workflow. Sémantické rozšíření by mělo být schopno automaticky klasifikovat, používat předdefinované taxonomie, automaticky taggovat a anotovat, extrahovat a modelovat dokumenty z ontologií. Další důležité rozšíření je v oblasti indexace a následného prohledávání. Na základě požadavků od tvůrců dnešních CMS byly určené sémantické funkce a mechanizmy, které by měl IKS obsahovat s nejvyšší prioritou Architektura a integrace Aby byla možná snadná integrace funkcí IKS do různých heterogenních systémových prostředí, měly by být všechny IKS funkce přístupné prostřednictvím RESTful rozhraní. Takže architektura IKS by měla být založena na principu služeb. Implementace by měla být z technologického hlediska nezávislá. Na druhou stranu, aby šlo zajistit nejlepších výsledků, měl by existovat přístup k technologickým specifikám daných služeb. Komunikace musí být založena na standardizovaných textových datových formátech. Mantrou této myšlenky je, že všechno (data, funkce, atd.) uvnitř IKS musí být přístupné přes URI. Je téměř nutné, aby byl IKS přizpůsobitelný a rozšiřitelný o nové služby a aby implementace byly vyměnitelné. Služby mohou být postupně rozšiřované a mohou využívat již existujících služeb. IKS služby také potřebují přístup k informacím, které jsou uvnitř datového úložiště CMS. Proto IKS definuje rozhraní pro přístup k datům, které musí mít podporu v každém CMS integrujícím IKS Sdílené slovníky pojmů S cílem podporovat sémantické služby uvnitř CMS, musí existovat také podpora pro běžné slovní pojmy, které jsou obecně a jasně pochopitelné pro všechny uživatele. Tyto slovníky pojmů jsou reprezentované pomocí různých ontologií, taxonomií nebo tezaurů a poskytují minimálně základní doménové znalosti. Funkce pro správu těchto slovníků v rámci IKS jsou klíčovým požadavkem. Pojmy ze slovníků budou využívané v IKS službách a budou poskytovat možnosti sémantických sítí. 13

23 3. Existující přístupy integrace znalostí v CMS systémech Sémantizace a taggování IKS by měl poskytovat služby, které umožňují sémantické značkování obsahu s využitím sémantických technologií, jako jsou OWL třídy, RDF vlastnosti, mikroformáty apod. IKS přikládá vysoký význam poskytování služeb pro extrakci sémantiky ze strukturovaných a nestrukturovaných dat, at už automaticky nebo polo-automaticky. Dokáže předkládat návrhy k anotacím a pohybovat se v položkách obsahu v sémantickém stylu Sémantické vyhledávaní a dotazování Jedním z klíčových přínosů sémantických rozšíření CMS je právě vylepšené vyhledávaní prostřednictvím sémantického dotazování. Meta informace o obsahu napomáhají zlepšovat možnosti vyhledávacích algoritmů a nabízí nové způsoby pro formulaci dotazů Odvozování a konzistence Distribuované znalosti v prostředí Internetu nemohou být striktně strukturované. Nelze vynucovat kompletnost částečných informací, lze jenom kontrolovat jejich konzistenci vzhledem k existujícím a odpovídacím datovým modelům. Kontrola konzistence a extrakce implicitních informací z explicitně a nekompletně určených dat z různých zdrojů jsou důležité přínosy sémantického webu a CMS systémy musí takovéto mechanizmy podporovat Vztahy a linky v obsahu Kromě značkování v kombinaci s ontologickými prostředky mohou být obsahové prvky propojené staticky. Tento proces může být automatizován algoritmy, které berou ohled na konkrétní obsah a ontologii. Prvky obsahu se vzájemně propojují v průběhu jejich životního cyklu pomocí odpovídajících funkcí CMS. Je nutné, aby tyto vztahy bylo možné řídit pomocí sémantických funkcí IKS. Vedle sémantické anotace obsahu by měl být rovněž brán zřetel na sémantické vztahy mezi jednotlivými částmi obsahu. Propojování obsahu je již standardní technikou v dnešních CMS a nemusí být znovu vynalézano v IKS. Zaměření by proto mělo být na způsoby a možnosti automatického vytváření odkazů s pomocí sémantických algoritmů a dat. Podpora 14

24 3. Existující přístupy integrace znalostí v CMS systémech tradičního způsobu manuální tvorby odkazu se sémantickou informací by měla být samozřejmě zachována Workflow Většina CMS systémů má své vlastní subsystémy řízení pracovních postupů pro kontrolu postupu a životního cyklu obsahu. Ve všeobecném případě nelze pro IKS předpokládat jak tyto systémy fungují ani jak jsou implementovány v jednotlivých CMS. Architektura IKS by měla nabízet možnosti používat a rozšiřovat řízení workflow z CMS. Navíc by měl IKS stanovovat workflow pro sémantické akce. Tím by mohl uživatel definovat pracovní postupy určující algoritmy pro sémantické odvozování a sémantickou extrakci, které se použijí na obsahové entity Verzování a revize obsahu Podobně jako dnešní CMS systémy poskytují funkce pro verzování musí IKS poskytnout podobnou koncepci i pro sémantické informace. Problém evoluce obsahu je také problémem evoluce sémantických dat. Všechny IKS služby by měly zaznamenávat své činnosti pro uživatele transparentními způsoby. Každá služba by měla nabízet možnost vrátit akci zpět a obnovit změněný obsah. IKS by měl být obeznamován o veškerých změnách obsahu a mít možnost pro invalidaci extrahovaných sémantických dat Vícejazyční podpora Vícejazyční podpora je znakem drtivé většiny dnešních CMS systémů. Sémantické služby by měly být informované o jazyku obsahu a poskytovat funkce pro zpracování těchto informací, i když jsou v různých jazycích. Všeobecně musí být služby IKS jazykově nezávislé Bezpečnost V CMS systémech lze konfigurovat kontrolu přístupu k obsahu. Při použití sémantických postupů IKS musí být existující omezení přístupu brané v úvahu. Kromě toho služba může vyžadovat nové druhy omezení, která odrážejí sémantický přístup k datům. IKS potřebuje koncepci jak integrovat uvnitř IKS role, skupiny uživatelů a povolení, které za normálních okolností existují jako součást CMS. 15

25 3. Existující přístupy integrace znalostí v CMS systémech 3.2. FISE Na začátku dubna 2010 byla představená první referenční implementace IKS pod názvem FISE IKS RESTful Semantic Engine. Pomocí FISE lze vytvořit jednoduchý server kam lze posílat nebo z něj přijímat HTTP požadavky. Server využívá podpůrné nástroje a pluginy, které obohacují obsah o automaticky generované značky, čtou sémantické informace nebo pracují s přirozeným jazykem apod. Architektura systému umožňuje každému z těchto pluginu asynchronní zpracování obsahu. Nové pluginy nebo rozšíření existujících je jednoduché, ale systém je závislý na platformě JAVA, na které je tato implementace IKS postavena. Dotazy ze strany CMS jsou založené na HTTP GET požadavcích. CMS systém může posílat bloky obsahu na FISE server, kde se sémanticky zpracují a pak je lze zpětně využívat v CMS Znalosti ve formě wiki Wiki se staly oblíbeným a často používaným nástrojem pro sbírání a sdílení znalostní v různých komunitách. Nevýhodou v případě wiki je, že veliká část znalostí je uvězněna v prostém textu nebo v multimediálních souborech. To do značné míry znesnadňuje sdílení, strojové zpracování a efektivní, komplexnější dotazování. Portál Wikipedia.org funguje na MediaWiki, pro kterou existuje rodina sémantických rozšíření pod názvem Semantic MediaWiki (SMW). Jejich hlavními přínosy jsou: Automaticky generované seznamy. Seznamy, které agregují informace jsou zdrojem chyb, protože každá změna se musí vykonat vícekrát a na více místech. Rozšířené možnosti zobrazování. Kalendáře, grafy, mapy a jiné datové struktury lze zobrazovat mnohem komfortnějšími způsoby. Datové struktury. Aby se docílilo logické strukturalizace informací, snaží se klasické wiki veškerý obsah kategorizovat, což často vede až k absurdním kategoriím. Sémantická strukturalizace je mnohem efektivnější a jednodušší pro administraci. Znovupoužitelnost za hranicemi jednoho systému. Informace uložené v sémantické wiki lze jednoduše exportovat do výměnných formátů jako CSV, JSON nebo RDF. To dělá z takovéto wiki datový zdroj pro jiné aplikace. 16

26 3. Existující přístupy integrace znalostí v CMS systémech Vyhledávání. Kromě přesnějších výsledků u hledání klíčových slov, nabízí SMW také možnost pro uživatele sestavovat vlastní složitější dotazy. Zachovávaní konzistence v různých jazycích. Při překladech vznikají redundantní data ve formě opakujících se tabulkových dat. V případě změny takovéto hodnoty je potřeba manuálně aktualizovat všechny jazykové mutace zvlášt, což dává prostor pro lidské chyby. V případě SMW lze při překladech použít dotaz pro různá částečná data do již existujících mutací. U dobře strukturovaných dat se také nabízí možnost jednoduché kontroly konzistence pomocí specifických dotazů. Integrace a míchání existujících informací. Jak již bylo řečeno, data uložené v sémantické wiki nemusí být izolovaným úložištěm. Informace lze jak exportovat, tak importovat. Z takového datového úložiště lze jednoduše vytvořit centrální zdroj informací v určitých IT infrastrukturách KiWi Projekt KiWi - Knowledge in a Wiki se snaží vytvořit platformu pro vytváření webových aplikací s kolaborativním obsahem a znalostmi uloženými v počítačově zpracovatelné podobě. Vizí projektu je spojit výhody znalostního managementu, wiki a sémantických technologií. Výstupem KiWi by měl být prototyp sémantického CMS systému založený na filozofii wiki, který dokáže řešit problém s přesyceností informacemi a nabídne přijatelné prostředky na proměnu informací ve skutečné znalosti. Filozofie wiki není jenom v samotných wiki systémech, ale v celém takzvaném sociálním webu, kde obsah vzniká otevřenou spoluprací více autorů. Součástí KiWi jsou proto také různé nástroje vycházející ze základů služeb pro sociální sítě. Jádro systému bude taková platforma, která umožní vývojářům jednoduchou tvorbu a přizpůsobení se novým službám podle potřeby. Mezi základní funkcionality proto patří[2] Reprezentace různých druhu obsahu a jeho forem Jednoduché vytváření linků mezi různými zdroji Verzování a logování změn obsahu Anotování obsahu pomocí metadat Hodnocení a komentování obsahu jinými uživateli Integrace různých druhů obsahu s použitím strojově čitelného formátu dat 17

27 3. Existující přístupy integrace znalostí v CMS systémech Správa uživatelů jejich profilů a vztahů s jinými uživateli Přizpůsobení obsahu požadavkům konzumenta Systém hodnocení a motivace tvůrců obsahu Možnost extrakce informací Systém doporučování a odvozování Datový model KiWi je postaven na myšlence, že stejná data uvnitř systému lze brát z různých pohledů wiki stránka, blogový příspěvek, fotografii nebo předmět na mapě. Základním obsahovým prvkem je zde Content Item, který má URI identifikátor pro použití v RDF a (X)HTML tělo. Aby mohl jeden Content Item obsahovat více textových položek, implementuje rozšíření KiWi Wiki mechanizmus vnořených obsahových prvků. Textový editor nabízí nástroje na obohacování obsahu o metadata zpracovávané ve formátu RDFa. Lze vytvářet trojice doplňováním vztahů a přímých hodnot (Datatype Properties) nebo odkazováním na existující individua (Object Properties). Také lze využít mechanizmu vnořených obsahových prvků nebo jejich množin. Takto jsou tvůrci obsahu motivování k vytváření sémanticky bohatých informací přímo se samotnou tvorbou obsahu. Editor v KiWi je postaven nad WYSIWYG editorem TinyMCE. Sémantické rozšíření tohoto editoru zachovává komfort WYSIWYG editoru tak, že veškeré funkce může využívat i uživatel neznalý RDF/RDFa syntaxe a potřebné informace lze zadávat pohodlně přes dialogové okno. Vše je pak v textu v editoru graficky zvýrazněno. Pro práci s ontologiemi obsahuje KiWi administrační rozhraní, kde se jednoduše nahrávají ontologie v jazyce OWL AceWiki AceWiki je jednoduchá a mocná implementace sémantické wiki. Se znalostmi na úrovni výrazů systém pracuje jako se sémantickými sítěmi, ale uživatel pracuje s přirozeným jazykem. Současná implementace funguje jenom s jazykem anglickým. O to, aby byl vstup od uživatele ve správné podobě se stará prognostický editor, který nabízí podle kontextu jenom přijatelné možnosti pro vytvoření korektní sémantické trojice. Implementace je provedena pomocí jazyku JAVA a webových technologií. Pro účely odvozování a kontrolu konzistence je integrován do systému Pellet - OWL 2 Reasoner. Hlavní oblastí využití této wiki je v aplikacích, kde uživatelé nemusí a nepotřebují znát problematiku sémantizace a jenom vytváří obsah odpovídající daným ontologiím. Obrázek 3.1 znázorňuje Sentence Editor v AceWiki, který vytváří semántické výrazy v přirozeném jazyce. 18

28 3. Existující přístupy integrace znalostí v CMS systémech Obrázek 3.1.: Sentence Editor v AceWiki 3.4. ITMS ITMS (Integrated Topic Management System) je koncept pro vytvoření CMS založeného na Topic Maps, kde by se mohl změnit prostý obsah na znalosti. Snaží se nalézt omezení v dnešních CMS a nabídnou jejich řešení jako nadstavbu se zachováním spolehlivých a ověřených funkcí CMS systémů. Hlavním omezením typických CMS je hierarchické uspořádaní obsahu. V stromové struktuře je možné vyjádřit jenom jeden druh vztahu mezi rodičem (složkou) a potomkem. To při práci s větším množstvím obsahových prvků vede často správce obsahu k vytváření složek, které nesou nepopsanou sémantickou informaci. Tento problém se snaží některé CMS vyřešit pomocí vytváření uživatelských meta-atributů přímo na obsahových prvcích. Vyhledávaní v těchto meta-atributech je většinou fulltextové, což může v mnoha případech pomoct, ale neřeší to problém informačního zahlcení v případě velikých objemů obsahů. ITMS navrhuje použít pro organizaci informací obsažených v CMS systémech Topic Maps. Systém by se rozdělil na dvě části abstraktnější část modelující ontologii informací a část obsahovou s konkretními výskyty pojmů. Pro uživatele by bylo toto rozdělení transparentní a vnímal by to jenom jako lepší organizaci obsahu. Důležitým faktorem zůstává určení hranice mezi abstraktní úrovní a instancemi. V nově vznikajících datových strukturách je ze sémantického hlediska ideální vytváření 19

29 3. Existující přístupy integrace znalostí v CMS systémech instancí na atomické úrovni. To znamená, že by se maximalizovalo využití Topic Maps. V případě nadstavby již existujícího obsahu v CMS by se mohlo jít jen do takové hloubky, aby to nevyžadovalo změny v samotném obsahu. Obrázek 3.2.: Architektura ITMS[16] Rozdělení Topic Maps a obsahové části do dvou systému je možné v případě, že tyto systémy budou mezi sebou komunikovat na základě dohodnutého protokolu. Je potřeba určit základní operace, mezi které patří CRUD 1 operace s obsahovými prvky a nástroje pro řešení konkurenčních úprav (LOCK, UNLOCK). Lars Marius Garshol, který je autorem ITMS konceptu se aktivně podílí na implementaci integrace Ontopie a Liferay. Liferay je open-source CMS systém postaven na JAVA technologiích. Po úspěšné integraci bude obsah vytvářen v Liferay organizován pomocí Topic Maps Drupal a RDFa Komunita kolem open-source CMS systému Drupal si uvědomuje důležitost strukturovaných a propojitelných dat. Drupal patří mezi 3 největší open-source CMS systémy z pohledu podílu na trhu[15]. Drupal 7, který je pořád ve vývoji, plánuje mít podporu vytváření obsahu se sémantickými informacemi ve formátu RDF a RDFa. Už dnes existují moduly pro Drupal 6, které tuto funkci implementují. Koncept je založen na často používaném modulu CCK (ve verzi 7 bude zahrnut přímo do jádra), který vytváří a spravuje uživatelsky definované typy obsahu. Jedná se o jednoduché datové modelování na úrovni 1 Create, Read, Update, Delete (Vytvořit, Číst, Upravit a Mazat) - základní operace s entitami 20

30 3. Existující přístupy integrace znalostí v CMS systémech CMS. Modul RDF CCK mapuje typy obsahu na RDF třídy a jejich položky k RDF položkám (properties), tak jak to zobrazuje obrázek 3.3. Instance takto namapovaných typů obsahu se rendrují ve front-endu spolu se sémantickými anotacemi v syntaxy formátu RDFa. Obrázek 3.3.: Náhled uživatelského rozhraní pro mapování v RDF CCK 3.6. Triplify Triplify je koncept sémantizace existujících webových portálu, který nevyžaduje žádný zásah do původního CMS. Nabízené řešení vychází z předpokladu, že data tradičních CMS systémů jsou uložené v relačních databázích. Ukazuje se, že obyčejně stačí 3-7 SQL dotazů k zachycení všech podstatných informací z jednoho portálu[9]. Výsledky těchto dotazů jsou pomocí softwarových nástrojů konvertované do sémantických formátů. Pod záštitou Triplify vznikají konfigurační skripty a sady dotazů pro konkrétní CMS systémy. Sémantizované informace jsou zveřejněné paralelně s původní prezentací. Lze tedy přistupovat jak k původnímu obsahu, tak k jeho sémantizované verzi. Jelikož jsou obě varianty získávané ze sdílené relační databáze, jsou oba zdroje synchronní. Podobný princip je již běžně uplatňován při zveřejňování RSS. 21

31 3. Existující přístupy integrace znalostí v CMS systémech 3.7. Praktické využití RDFa a technologií Semsol Praktickým využitím RDFa a technologií Semsol je například webová prezentace výzkumní skupiny Knowledge Engineering Group. Je sémanticky obohacována a jako výstupní formát byl zvolen RDFa[22]3.1. K vytváření, čtení a modifikaci RDF trojic slouží SPARQL dotazy, které jsou spouštěné nad RDF databází pomocí open-source framworků ARC2 a Sesame 2. Výpis 3.1: Ukázka novinky/události publikované na webu KEGu 1 <li about=" keg. vse. cz/ resource/ event/ " 2 typeof="ical:vevent"> 3 <strong property =" ical: dtstart" > </ strong >: 4 <span property =" ical: summary" > 5 Petr Berka and Jan Rauch will present... </ span > 6 <em>see also</ em>: 7 <span rel=" rdfs: seealso" > 8 <a href=" www. compstat2010. fr/" 9 about=" www. compstat2010. fr/" 10 typeof="foaf:document"> 11 <span property =" rdfs: label" > 12 Compstat 2010 homepage</ span > 13 </a> 14 </span> 15 </ li> 2 JAVA framework pro práci s RDF ( 22

32 4. Joomla! a Ontopia Knowledge Suite Tato kapitola představuje technické aspekty systémů, se kterými se bude pracovat v praktické části této práce CMS Joomla! CMS (Content Management System) je softwarová aplikace, která spravuje a udržuje všechny obsahové části webového portálu. Obsahem se většinou rozumí jakékoliv texty, fotografie, obrázky, hudba, video nebo složitěji strukturované dokumenty. Hlavním přínosem použití CMS je, že uživatel potřebuje pouze minimální technické znalosti, aby mohl pracovat s webovým obsahem a publikovat ho. Pod správou obsahu se obyčejně rozumí následující funkce: 1. Tvorba obsahu pomocí UI uvnitř CMS. V případě textového obsahu se pravidla jedná o WYSIWYG editory integrované do jádra CMS. 2. Strukturované ukládání a organizace obsahu je jeho částí. Kategorizace objektů pomáhá k lepší orientaci jak správci obsahu, tak i konzumentům. 3. Správa uživatelů jejich rolí a řízení přístupu k obsahu. 4. Konkurenční úpravy obsahu. Kolaborativní editace obsahu více uživateli může vést ke kolizím. CMS nabízí mechanizmy pro zamezení takovýchto konfliktů. 5. Verzování obsahu spolu s informacemi o autorovi, čase úpravy a popisu provedených změn. 6. Pracovní postupy odrážející formální postupy organizace. Joomla! je modulární a lehce rozšířitelný CMS systém založen na PHP. O vývoj se stará nezisková organizace Open Source Matters a Joomla! je uvolněna společně se zdrojovými kódy pod GPL2 licencí. Masivní komunita, mnoho užitečných rozšíření a nezávislé ocenění jí pomohli dostat se mezi nejpoužívanější open-source CMS systémy. Historie Joomly sahá až do roku 2000, kdy vznikl uzavřený předchůdce pod názvem Mambo. V roce 2002 byl zdrojový kód Mamba uvolněn a systém přejmenován na Mambo Open Source (MOS). Již MOS 23

33 4. Joomla! a Ontopia Knowledge Suite se stal extrémně úspěšným a populárním CMS systémem. Joomla vznikla původně jako GPL projekt kompatibilní s MOS. Kvůli omezením první verze Joomly byli vývojáři nucení restrukturalizovat architekturu systému a vzdálit se tak od Mamba a kompatibility s ním. Tak vznikla v roce 2007 Joomla! 1.5, která je doted aktuální stabilní verzí. Verze 1.6 je ve vývoji. Joomla! potřebuje pro svůj běh PHP verze 4.3 nebo vyšší v kombinaci s webovým serverem. Veškeré informace jsou ukládané do relační databáze. Oficiálně je podporovaná MySQL databáze od verze 3.23 a dále PDO kompatibilní databázové servery. Tak jak většina webových CMS systému je i Joomla! rozdělena na frontend a back-end. Front-end je ta část, která je určena pro uživatele v roli konzumenta prezentovaných informací. Obsah a forma front-endu je plně v moci administrátora CMS. K správě celého systému slouží backend administrátorské rozhraní. Sem většinou není povolen veřejný přístup a uživatel se musí přihlásit. Uživatelé mají své role, které je opravňují jen k určitým úkonům. Při typickém rozdělení se o instalaci a běh CMS stará administrátor. Často instaluje i různé rozšíření, ale na jejich tvorbu je potřeba vývojáře. Když je systém nakonfigurován dle potřeb, pracují s ním správci a tvůrci obsahu v back-endu a uživatelé z front-endu. Základním obsahovým prvkem je v Joomle Článek (Article). Článek není jen prostý text, ale je to datový objekt, který má atributy a parametry (nadpis, kategorii, autora, datum vytvoření apod.). Nastavováním hodnot těmto parametrům vytváří správce samotný obsah. Již při výchozí instalaci lze článkům nastavovat i metadata pro SEO optimalizaci Možnosti rozšiřování Základní funkce Joomly lze rozšiřovat libovolně dle potřeb konkrétní instalace. Podle zaměření nových funkcionalit, nabízí Joomla různé druhy rozšíření[17]. Komponenty Nejsilnějším nástrojem pro rozšiřování funkcionalit Joomly jsou komponenty. U každého procesu je účastná alespoň jedna komponenta. Jejich výstup je zobrazován v hlavní obsahové oblasti, proto slouží komponenty z hlavni části k nástrojům pro tvorbu a správu významotvorného obsahu. Základní komponentou je content (obsah) a slouží 24

34 4. Joomla! a Ontopia Knowledge Suite k správě článků, jejich kategorizaci a rozdělení. Výstup komponent může být v různých formátech. Moduly Moduly se používají k zobrazování menších částí obsahu, které jsou obyčejně umístěné kolem hlavního obsahu stránky. V základní instalaci je několik potřebných modulů, např. pro správu menu atp. Pluginy Pro různé účely existují v Joomle různé typy pluginů. Společným rysem všech typů je, že reagují na nějaké události vycházející z komponent nebo modulů. Jazyky Pro zajištění vícejazyčné podpory CMS, je možné Joomlu rozšiřovat o další jazykové mutace. Takovéto rozšíření obsahují soubory s řetězci pro překlad různých částí systému. Každý přihlášený uživatel si může zvolit svůj preferovaný jazyk. K překladu se požívají 3 metody statické třídy JText - _(), sprintf() a printf(), které načítají přeložený řetězec z rozšíření ve správném jazyce. Metoda sprintf - podobná stejnojmenné metodě z PHP - dokáže ještě přeložený řetězec správně doplnit o hodnoty proměnných. Šablony Šablony slouží k modifikaci vzhledu jak administrační tak prezentační části Joomly. Nástroje Představují různé druhy rozšíření a nástrojů, které jsou použité ve spolupráci s Joomlou Knihovny Joomla! již ve svém základu obsahuje sadu užitečných knihoven. Knihovny se nacházejí ve složce libraries. V případě, že chceme některou z knihoven použít, je potřeba ji nejdřív naimportovat. Na to slouží funkce 25

35 4. Joomla! a Ontopia Knowledge Suite jimport(). Základní knihovna, která se jmenuje joomla, obsahuje funkční bloky pro práci se systémem souborů, databázemi, dokumenty apod Práce s databází Předpokládá se, že každé rozšíření bude nějakým způsobem pracovat s daty a tudíž je bude potřebovat uchovávat. V případě použití a rozšiřování databáze je důležité použít správné postupy a konvence, aby pak bylo možné využít existující třídy pro práci s databázemi. Kvůli zamezení jmenných kolizí mezi názvy tabulek v sdílené databázi, používá Joomla konvenci se stejným prefixem pro každý název tabulky v rámci jedné instalace. Tento prefix lze uživatelsky nastavit při instalaci. Při vývoji rozšíření se proto používá v SQL dotazech zástupný symbol #. Tento symbol je nahrazen aktuálním prefixem těsně před vykonáním dotazu. Podle konvence by měl za prefixem následovat v názvu tabulky název rozšíření, aby se zamezilo jmenným kolizím i mezi různými rozšířeními jedné instalace Joomly. Až pak za znakem podtržítka následuje samotný název tabulky, který by měl reflektovat název ukládané entity. Dotazování se nad databází zabezpečuje globální objekt JDatabase, kterému se nastaví dotaz ve formě SQL. Samotné provedení dotazu se volá pomocí instanční metody query, která vrací výsledek nebo FALSE v případě neúspěchu. $db =& JFactory::getDBO(); if (!$result = $db->query($query)) { // ošetření chyby } // zpracování výsledku Ukládání parametrizace Konvence pro ukládání parametrů do databáze v Joomle je taková, že se používá databázové pole typu TEXT. Toto pole má obyčejně název params. Mezi parametry se řadí jenom takové data, které se nepoužívají při řazení, hledání ani k vazbě s jinými entitami. Formát takto uložených parametrů je v podobě INI řetězců, které lze s výhodou zpracovávat pomocí třídy JParameter. Použití je pak jednoduché: // Vytvoření instance JParameter // s parametry z instance řádku tabulky 26

36 4. Joomla! a Ontopia Knowledge Suite $params = new JParameter($table->params); // Získání hodnoty parametru promenna $value = $params->get( promenna ); // Změna hodnoty parametru $params->set( promenna, ++$value); // Zápis zpět do tabulky $table->params = $params->tostring(); MVC a CRUD MVC (Model View Controller) je architektonický návrhový vzor, který izoluje aplikační logiku (Model) od prezentační vrstvy (View). Tím se stávají tyto vrstvy do značné míry nezávislé. Controller slouží k zpracovávaní požadavků a pracuje s objekty modelu. Joomla! využívá výhod MVC architektury a existují zde abstraktní třídy (JModel, JView a JController), které odpovídají návrhovému vzoru. V komponentách se využívá konceptu MVC jednoduše vytvořením potomků těchto tříd. Obrázek 4.1 ukazuje části MVC a jejich vzájemnou komunikaci. Plné čáry vyjadřují přímou asociaci a přerušované nepřímou (např. skrz Observer 1 ) Obrázek 4.1.: MVC Model navíc komunikuje s vrstvou pro přístup k datům/databázi. Tato vrstva je v případě Joomly tvořena třídami, které jsou potomky třídy JTable. Třída JTable zprostředkuje potomkům CRUD operace. Na potomcích je jenom určení názvu databázové tabulky, definice sloupců a jejich typů. Tohle do značné míry ulehčuje tvorbu entit, které uchovávají svůj stav v databáze. 1 Návrhový vzor, kde subjekt informuje skupinu závislých objektů o svých změnách stavu. 27

37 4. Joomla! a Ontopia Knowledge Suite 4.2. Ontopia Knowledge Suite Ontopia je výraz řeckého původu pro imaginární svět, kde jsou veškeré znalosti správně organizované na vysoké úrovni[5]. Také je to pojmenování softwarové společnosti, která se zabývá vývojem nástrojů pomáhajících se přiblížit k této imaginární krajině. Hlavním softwarovým produktem je Ontopia Knowledge Suite (OKS) kompletní sada nástrojů pro tvorbu, správu a deployment znalostních aplikací. Řeší problémy spojené se zahlcením informacemi a správou znalostí v organizacích. Technologicky staví na standardu Topic Maps a konceptech s ním spojených. Podmnožinou OKS jsou i JAVA opensource nástroje pro základní práci s informacemi v sémantickém smyslu. Dokumentace OKS obsahuje kromě jiného také rady a doporučení jak integrovat obsah existujícího CMS do OKS. Základní myšlenkou těchto doporučení je vytvoření pro každý dokument (článek) nový pojem v topic mapě. Konkrétní možnosti a návrhy integrace OKS a CMS jsou blíže rozebrány v kapitole 3.4 této práce. OKS je sestaven z modulů a SDK nástrojů tak, aby byl systém adaptabilní a nasaditelný v různých organizacích pracujících se znalostmi. Základ tvoří konfigurovatelný Topic Maps engine, který obsahuje rutiny pro práci s Topic Maps na programátorské úrovni. Dokáže pracovat s XML (XTM) dokumenty, upravovat Topic Maps a ukládat jejich fragmenty do relační databáze. Je zde i podpora pro import a export RDF s možností mapování Topic Maps a RDF. V enginu je také obsažena implementace dotazovacího jazyka tolog, který je dílem Ontopie. Pro standardizované dotazování připravuje ISO jazyk TMQL, který bude v OKS podporován hned jak bude dokončen jeho vývoj. Pro jednoduché vytváření J2EE aplikací obsahuje OKS Navigator Framework s nadstavbou pro webové aplikace Web Editor Framework. Referenčními a otevřenými realizacemi těchto frameworků jsou Omnigator s webovým editorem Ontopoly, s kterými se pracuje v projektu SEWEBAR tolog Tolog je dotazovací jazyk sloužící k dotazovací se nad Topic Maps podobným způsobem jako se dotazuje SQL nad relačními databázemi. Je inspirován jazykem Prolog a proto je taktéž logický. To znamená, že uživatel vytváří výrazy, které považuje za pravdivé a systém pak vrací odpovídající hodnoty. Výrazy v tologu popisují vztahy mezi daty pomocí predikátů. 28

38 4. Joomla! a Ontopia Knowledge Suite TMRAP TMRAP (Topic Maps Remote Access Protocol) je webová služba, která poskytuje rozhraní pro vzdálenou práci s Topic Maps v Ontopii. Rozhraní je tvořeno množinou metod, které vrací fragmenty nebo upravují existující Topic Maps. K metodám lze přistupovat pomocí protokolu HTTP nebo SOAP. V případě použití HTTP protokolu jsou metody namapované na URL stylem metody. Metody, které nemění stav na serveru očekávají vstupní parametry pomocí GET. Když se mění stav na serveru parametry metody se předávají pomocí POST. U většiny metod lze nastavit formát jejich výstupu (XTM 1.0, TM/XML, LTM). get-topic - vrací fragment popisující konkrétní pojem. Využívá se k zjištění bližších informací o pojmu, když je znám identifikátor. get-topic-page - vrací informace o webové stránce, která umožňuje náhled detailu a editaci existujícího pojmu. Používá se k odkazování na konkrétní pojmy z jiných aplikací. get-tolog - vrací výsledek tolog dotazu. add-fragment - vytváří nový fragment v existujících mapách. delete-topic - maže existující pojem z konkretní mapy. 29

39 5. Project SEWEBAR SEWEBAR (zkratka pro SEmantic WEB and Analytical Reports) je akademický výzkumný projekt vyvíjený na Fakultě informatiky a statistiky na VŠE v Praze, jehož cílem je zkoumat možnosti rozšiřování analytických zpráv za pomoci sémantického webu. Na projektu spolupracují i lidé z praktického medicínského prostředí. To zajišt uje projektu práci s reálnými daty. Cílem projektu je s využitím sémantického webu z lokálních analytických reportů lékařských údajů z ambulancí preventivní kardiologie sdílet skupiny těchto reportů. SEWEBAR projekt je tvořen podprojekty[7]: SEWEBAR Tinnitus, který je společným projektem KDD Laboratoře UNCC Severní Karolíně a Vysoké školy ekonomické v Praze. Analyzuje data zhromažd ované laboratoří UNCC v součinnosti s medicínskymi partneri týkájící sa onemocnění Tinnitus (odborné označení pro pískání v uších). SEWEBAR Cardio je projekt založen na dlouhodobé spolupráci s Centrum EuroMISE. Projekt v součastosti využívá databáze z oblasti kardiologie: Adamek - datový soubor obsahující údaje z oblasti preventivní kardiologie o pacientech pocházející ze dvou nemocnic STULONG - datový soubor (Longitudinal Study of Atherosclerosis Risk Factors), který byl použit v Discovery Challenge workshopy na ECML / PKDD 2002, 2003 a Na jedné straně projektu stojí data miningové úlohy, které se snaží získávat znalosti z databází a uchovávat je v strojově zpracovatelné podobě. Jak je vidět z obrázku 5.1 generuje data miningový software dokumenty v PMML formátu, které je standardem pro tento druh dat. Doménové znalosti (Background Knowledge) jsou uchovávané ve formátu BKEF (Backrgound Knowledge Exchange Format). BKEF je návrh na výměnný formát pro zápis znalostí od doménových expertů. BKEF a PMML spolu s FML 1 dokumenty tvoří základ pro ontologii, která se tvoří v OKS. 1 Field Mapping Language mapování polí BKEF a PMML 30

40 5. Project SEWEBAR Obrázek 5.1.: Projekt SEWEBAR[7] Na straně druhé stojí nástroj pro tvorbu a publikování analytických reportů. Pro tento účel byl zvolen open-source CMS Joomla!. Uživatelsky jednoduché prostředí poskytuje komfortní práci s reporty i doménovým expertům, kteří nepotřebují znát složitosti spojené s data miningem a přidruženými technologiemi. Doposud byly PMML dokumenty zpracovávané jako XML dokumenty a ukládané přímo do Joomly. S pomocí XSL transformací byly importované do článku ve formě (X)HTML. Skupina rozšíření ginclude[25] umožňuje skládání jednoho reportu z více PMML dokumentů. K dosažení efektivnějšího zpracování je výhodnější ukládat znalosti z PMML dokumentů do znalostní báze. Přímý import PMML do OKS neexistuje, proto se v rámci projektu vyvíjí nástroj pro transformaci PMML do formátu Topic Maps, který by OKS dokázal načíst. Tady vzniká potřeba integrace OKS se SEWEBARem a posléze s CMS Joomla!. Integrační nástroj, který by dokázal jednoduše vytvářet reporty obsahující informace ze znalostní báze. Jedním z výzkumných cílů projektu je výzkum možností šíření výsledných analytických zpráv pomocí zásad sémantického webu[8]. Tato práce pomůže tento cíl naplnit. 31

41 6. Implementace pro CMS Joomla! V této části práce je ukázána konkrétní implementace integrace CMS Joomla! s různými datovými zdroji. Za datový zdroj je zde považován takový systém, který dokáže komunikovat s klientskými aplikacemi pomocí webových služeb. Proto je nosní část integrace na straně CMS systému, který je v roli klientské aplikace Knihovna pro komunikaci mezi KB a CMS Pro potřeby komunikace mezi SEWEBARem a Ontopií byla navrhnuta PHP knihovna. Základní idea takovéto integrace je, že CMS posílá požadavky do sémanticky bohatých znalostních bází. Výsledky požadavků zpracuje a uloží do takové podoby, aby je bylo možné jednoduše použít při vytváření obsahu. Komunikace probíhá přes různé webové služby postavené na HTTP protokolu s využitím standardizovaných datových formátů. Jádrem knihovny je interface IKBIntegrator, který předepisuje metody potřebné pro komunikaci a tím vytváří jasně definovaný protokol zapouzdřen do této knihovny. V první verzi předepisuje interface hlavně metodu query. Její význam je poslat požadavek s dotazem na správný zdroj a vrátit výsledek dotazu. Zdroj je určen vlastností Url (zapouzdřené metodami geturl() a seturl()). Prvním parametrem metody query je sestavaný dotaz, tak aby zdroj vracel potřebná data. Pokud je určena nějaká transformace výsledných dat, je metoda také odpovědná za provedení této transformace. Pak vrací data již po transformaci. Vysoká úroveň abstrakce dovoluje, aby byl dotaz v podobě řetězce v jakémkoliv dotazovacím jazyce. Určování a nastavování parametrů dotazu je řešeno až na nižší konkrétnější úrovni. Různé implementace tohoto interfacu pracují s konkrétními platformami, které poskytují webové rozhraní pro přístup k datům. Jejich společné funkce jsou implementované v abstraktní třídě KBIntegrator. Metoda query na základě parametrem nastavené metody zavolá požadavek přes RESTful (GET), POST nebo SOAP rozhraní. V tomto případě se již počítá s komunikací ve formátu XML. Proto, pokud 32

42 6. Implementace pro CMS Joomla! Obrázek 6.1.: Komunikace knihovny s různými zdroji dat je určen název transformace, tak se pomocí DOMDocument-u vytvoří objektová reprezentace vráceného XML. Samotná XSL transformace je provedena XSLTProcessor-em ze standardních PHP knihoven. DOM je součástí PHP a XSL se implicitně instaluje s PHP verze 5 a vyšší. Výstup transformace by měl zachovávat sémantické informace získané ze znalostní báze ve formátu kompatibilním s (X)HTML mikroformáty nebo RDFa. Toto nejde explitně vynutit, protože je to záležitost uživatelského XSL stylesheetu. Třída KBIntegrator obsahuje také implementaci návrhového vzoru Factory pro vytváření různých instancí na základě konfigurace statická metoda create. Konfigurace je v konstruktoru ukládána do instanční proměnné typu pole $config. Nezávislost knihovny na Joomle umožňuje její opětovné znovupoužití i v dalších CMS systémech postavených na platformě PHP. Knihovna KBI tvoří základní kámen pro implementaci integrace CMS Joomla! a znalostní báze. Jelikož se knihovna stará jenom o komunikaci, je potřeba vytvořit v Joomle administrační nástroje pro správu zdrojů. Dále zde musí být možnost pro vkládání získaného obsahu do článků 33

43 6. Implementace pro CMS Joomla! Obrázek 6.2.: Objektový model knihovny 6.7 a správné zobrazování ve front-endu. K těmto účelům byla vytvořená komponenta a pluginy popsané níže a jejich závislosti zachytává obrázek Komponenta com_kbi O správu KB zdrojů a jejich parametrizaci se stará komponenta com_kbi. Dále také umožňuje vytvářet a editovat dotazy pro KB a transformace přijatých dat. Schéma dat, s kterými komponenta pracuje je znázorněna na obrázku 6.3. Zdroje (Sources) odpovídají různým instancím IKBIntegratoru. Konkrétní typ lze nastavit na detailu zdroje 6.4. Každý zdroj lze nakonfigurovat pomocí parametrů. Parametry se zadávají v syntaxi podobné JSONu, pouze uvozovky nejsou povinné. Po zparsování se předají metodě create třídy KBIntegrator a následně pak konstruktoru konkrétního typu daného zdroje. Dotazy (Queries), které se posílají do znalostních bází se spravují pomocí této komponenty. Kromě identifikace a samotného textu dotazu, lze nastavit pro každý dotaz i delimiter. Je to znak, který vymezuje názvy parametrů v daném dotazu. Zvolený delimiter musí brát ohled na syntax a operátory jazyka, ve kterém je dotaz napsán. Hodnoty parametrů se nastavují až při vkládání dotazu do článku. 34

44 6. Implementace pro CMS Joomla! Obrázek 6.3.: Datový model komponenty com_kbi Jelikož se předpokládá, že veškerá komunikace mezi CMS a OKS bude probíhat v jazyku XML, transformace přijatých dat je založena na technologii XSLT. Uživatelské rozhraní komponenty com_kbi umožňuje zadávat potřebné stylesheety (XSLTs). V této komponentě je také obsaženo dialogové okno pro definici fragmentů vkládaných do článků 6.7, které se využívá v pluginu kbinclude Struktura komponenty Jelikož se zde jedná o back-endové úpravy, je hlavní část komponenty umístěna v.../administrator/components/com_kbi. Struktura komponenty odpovídá struktuře MVC komponenty v Joomle, to znamená, že existují složky pro modely (models), řadiče (controllers) a pohledy (views). Vstupním bodem je admin.kbi.php, který na základě parametru controller z URL určuje, který řadič se použije pro zpracování požadavku. Kromě řadičů pro práci se zdroji, dotazy a XSL transformacemi jsou zde i další řadiče. Konkrétně řadič selector, který zobrazuje dialogové okno ve spolupráci s pluginem kbinclude. Řadič transformator spolupracuje 35

45 6. Implementace pro CMS Joomla! Obrázek 6.4.: Detail editace zdroje/kb Obrázek 6.5.: Detail editace dotazu s KBIntegratorem a umožňuje načtení a transformaci statických fragmentů vkládaných do článků. Ke komunikaci s databází jsou určené třídy ze složky tables. Jedná se o potomky Joomla! třídy JTable a popisují strukturu tabulek pro ukládání zdrojů, dotazů a transformací Editor-xtd plugin kbinclude Editor-xtd plugin kbinclude je rozšíření WYSIWYG editoru o tlačítko otevírající dialogové okno, kde lze nadefinovat vkládaný fragment. 36

46 6. Implementace pro CMS Joomla! Obrázek 6.6.: Struktura administrační části komponenty com_kbi Definice fragmentu odpovídá Occurrence z datového modelu (6.3) a jeden článek může obsahovat více takovýchto fragmentů. To znamená, že lze do jednoho článku zkombinovat informace z více zdrojů. Jsou rozlišovány dva základní principy vkládání fragmentů do obsahu článků statický a dynamický. V případě statického vkládání se do článku vloží přímo vygenerovaný obsah získaný z KB v okamžiku editace. Změna dat v KB se samozřejmě neprojeví v CMS. Při statickém vkládaní fragmentu se zavolá z JavaScriptu AJAXové rozhraní 37

47 6. Implementace pro CMS Joomla! Obrázek 6.7.: Zadávaní fragmentu do článku komponenty com_kbi (přes řadič transformator) a její výstup se vloží přímo do textu stránky v režimu editace. Na druhou stranu dynamický obsah zobrazuje vždy aktuální data z KB. Obsah je generován při každém zobrazení daného článku ve front-endu. Při editaci je do článků vložen jenom identifikátor fragmentu dat. Formát identifikátoru odpovídá konvencím Joomly pro tento druh pluginů a podobnou syntax používá mnoho existujících rozšíření[20]. Vymezujícími znaky jsou { a }. Jelikož tyto znaky nemají v jazyku HTML zvláštní význam, tak je WYSIWYG editor bude brát jako standardní text. Nebude je nijak upravovat jako by to bylo v případě použití XML fragmentu. Za otevírající { následuje název pluginu a dále pak identifikační hodnoty a následně uzavírací }. {kbi source"identifikátor zdroje" query="identifikátor dotazu" xslt="identifikátor transformace" params="param1= value1 param2= value2 "} Params jsou parametry dotazu, které se nahradí hodnotami těsně před odesláním dotazu. Nabízí se zde možnost identifikovat fragment přímo, tj. možnost psát identifikaci zdroje nebo dotaz přímo do textu identifikátoru. V tom 38

48 6. Implementace pro CMS Joomla! případě by ale mohly nastávat kolize a nejednoznačnosti v syntaxi mezi identifikátorem a samotnými daty, proto byla takováto možnost zamítnuta Content Plugin Content Plugin zabezpečuje zobrazování dynamických fragmentu. Před samotným renderováním stránky ve front-endu vyvolává engine Joomly událost (onpreparecontent), na kterou reaguje tento plugin. Pomocí regulárního výrazu se v textu stránky naleznou veškeré identifikátory dynamických fragmentů. Všechny fragmenty se zpracují v objektech třídy KbiModelTransformator a získají se odpovídající data ze zdrojů přes instanci IKBIntegratoru. Původní identifikátory jsou nahrazené a k uživateli se dotanou jenom zpracovaná data. Výpis 6.1: Ukázka fragmentu kódu funkce onpreparecontent 1 function onpreparecontent ( &$row, &$params ) 2 { 3 preg_match_all( /\{kbi (. )\}/U, $row >text, $matches); 4 5 foreach( $matches[1] as $values ) 6 { 7 $p = $this >parsenamevalues($values); 8 9 $transfomator = new KbiModelTransformator( array( 10 id_source => $p[ source ], 11 id_query => $p[ query ], 12 id_xslt => $p[ xslt ], 13 parameters => 14 isset($p[ parameters ])? $p[ parameters ] : NULL, 15 )); $html = $transfomator >transform(); 18 $row >text = str_replace("{ kbi $values}", $html, } return true; 23 } 6.5. Demonstrace Ontopia Pro demonstraci komunikace mezi OKS a CMS je potřeba v Joomle vytvořit zdroj typu Ontopia. Tento typ KBIntegratoru používá metodu GET a potřebuje, aby byl nastaven parametr topicmap. V tomto případě funguje i SOAP rozhraní. V testovací architektuře projektu 39

49 6. Implementace pro CMS Joomla! Obrázek 6.8.: Vztahy mezi rozšířeními Joomly SEWEBAR lze využít instalace Ontopie na školním serveru nlp.vse.cz. Položka URL v tomto zdroji je proto nastavena na hodnotu Parametr topicmap má hodnotu ar-ontology.xtm. Dále je potřeba nastavit parametr syntax na hodnotu text/x-tmxml, který se přeposílá přímo na TMRAP a určuje formát vráceného výsledku. Použitý dotaz je popsán v projektu SEWEBAR - samplequeries/63-tolog-queryagainst-sample-semantic-base. Syrový výsledek by měl mít podobu odpovídající 6.2. Výpis 6.2: Výsledek dotazu nad Ontopií 1 <? xml version =" 1.0" encoding ="UTF 8" standalone =" yes"? > 2 <topicmap xmlns:tm =" psi. ontopia. net/ xml/tm xml/" 3 xmlns:xtm=" 4 xmlns:dmo=" 5 xmlns:iso =" psi. topicmaps. org/ iso13250/ model/" 6 xmlns: 4_0#"> 7 <www. dmg. org:associationrule id=" id2211" > 8 <iso:topic name > 9 <tm:value > 10 duration(2y+) and district(prague) => 11 statusagreggated(good,medium) 12 </ tm:value > 13 </ iso:topic name > 40

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka Metody tvorby ontologií a sémantický web Martin Malčík, Rostislav Miarka Obsah Reprezentace znalostí Ontologie a sémantický web Tvorba ontologií Hierarchie znalostí (D.R.Tobin) Data jakékoliv znakové řetězce

Více

Sémantický web 10 let poté

Sémantický web 10 let poté Sémantický web 10 let poté Vilém Sklenák sklenak@vse.cz Vysoká škola ekonomická, fakulta informatiky a statistiky, katedra informačního a znalostního inženýrství Inforum2011, 26. 5. 2011 Vilém Sklenák

Více

Olga Rudikova 2. ročník APIN

Olga Rudikova 2. ročník APIN Olga Rudikova 2. ročník APIN Redakční (publikační) systém neboli CMS - content management system (systém pro správu obsahu) je software zajišťující správu dokumentů, nejčastěji webového obsahu. (webová

Více

Znalostní systém nad ontologií ve formátu Topic Maps

Znalostní systém nad ontologií ve formátu Topic Maps Znalostní systém nad ontologií ve formátu Topic Maps Ladislav Buřita, Petr Do ladislav.burita@unob.cz; petr.do@unob.cz Univerzita obrany, Fakulta vojenských technologií Kounicova 65, 662 10 Brno Abstrakt:

Více

MBI - technologická realizace modelu

MBI - technologická realizace modelu MBI - technologická realizace modelu 22.1.2015 MBI, Management byznys informatiky Snímek 1 Agenda Technická realizace portálu MBI. Cíle a principy technického řešení. 1.Obsah portálu - objekty v hierarchiích,

Více

Ontologie. Otakar Trunda

Ontologie. Otakar Trunda Ontologie Otakar Trunda Definice Mnoho různých definic: Formální specifikace sdílené konceptualizace Hierarchicky strukturovaná množina termínů popisujících určitou věcnou oblast Strukturovaná slovní zásoba

Více

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE

POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE POLOPROVOZ ZNALOSTNÍ DATABÁZE INTERPI DOKUMENTACE INTERPI Interoperabilita v paměťových institucích Program aplikovaného výzkumu a vývoje národní kulturní identity (NAKI) (DF11P01OVV023) Zpracovali: Marie

Více

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette

PHP framework Nette. Kapitola 1. 1.1 Úvod. 1.2 Architektura Nette Kapitola 1 PHP framework Nette 1.1 Úvod Zkratka PHP (z anglického PHP: Hypertext Preprocessor) označuje populární skriptovací jazyk primárně navržený pro vývoj webových aplikací. Jeho oblíbenost vyplývá

Více

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework

Obsah přednášky. Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Web Jaroslav Nečas Obsah přednášky Představení webu ASP.NET frameworky Relační databáze Objektově-relační mapování Entity framework Co to je web HTTP protokol bezstavový GET POST HEAD Cookies Session HTTPS

Více

PRODUKTY Tovek Server 6

PRODUKTY Tovek Server 6 Tovek Server je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených strukturovaných i nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně

Více

Linked Data a jazyk RDF

Linked Data a jazyk RDF Linked Data a jazyk RDF Doc. Ing. Vojtěch Svátek, Dr. Zimní semestr 2016 http://nb.vse.cz/~svatek/rzzw.html Osnova přednášky Strukturovaná data na webu - přehled Principy Linked Data Jazyk RDF Hlavní syntaxe

Více

Logika pro sémantický web

Logika pro sémantický web ZVYŠOVÁNÍ ODBORNÝCH KOMPETENCÍ AKADEMICKÝCH PRACOVNÍKŮ OSTRAVSKÉ UNIVERZITY V OSTRAVĚ A SLEZSKÉ UNIVERZITY V OPAVĚ Logika pro sémantický web Martin Žáček PROČ BALÍČEK? 1. balíček Formální logické systémy

Více

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale

Tovek Server. Tovek Server nabízí následující základní a servisní funkce: Bezpečnost Statistiky Locale je serverová aplikace určená pro efektivní zpracování velkého objemu sdílených nestrukturovaných dat. Umožňuje automaticky indexovat data z různých informačních zdrojů, intuitivně vyhledávat informace,

Více

Systém elektronického rádce v životních situacích portálu www.senorady.cz

Systém elektronického rádce v životních situacích portálu www.senorady.cz Systém elektronického rádce v životních situacích portálu www.senorady.cz Obec Senorady Miroslav Patočka 2006 Obsah: 1. Úvodní informace 1.1 Informace pro uživatele 1.1.1 Přístupnost HTML, PDA, WAP, XML

Více

Výměnný formát XML DTM DMVS PK

Výměnný formát XML DTM DMVS PK Výměnný formát XML DTM DMVS PK Představení partnerským krajům Praha 8. 2. 2016 Krajský úřad Plzeňského kraje Odbor informatiky Koncept etapizace tvorby výměnného formátu XML aktualizačních zakázek Digitální

Více

EXTRAKT z mezinárodní normy

EXTRAKT z mezinárodní normy EXTRAKT z mezinárodní normy Extrakt nenahrazuje samotnou technickou normu, je pouze informativním ICS 03.220.01; 35.240.60 materiálem o normě. Inteligentní dopravní systémy Požadavky na ITS centrální datové

Více

RESTful API TAMZ 1. Cvičení 11

RESTful API TAMZ 1. Cvičení 11 RESTful API TAMZ 1 Cvičení 11 REST Architektura rozhraní navržená pro distribuované prostředí Pojem REST byl představen v roce 2000 v disertační práci Roye Fieldinga, zkratka z Representional State Transfer

Více

Správa VF XML DTM DMVS Datový model a ontologický popis

Správa VF XML DTM DMVS Datový model a ontologický popis Správa VF XML DTM DMVS Datový model a ontologický popis Verze 1.0 Standard VF XML DTM DMVS Objednatel Plzeňský kraj Institut plánování a rozvoje hlavního města Prahy Zlínský kraj Kraj Vysočina Liberecký

Více

Název: On-line tvorba webu Anotace:

Název: On-line tvorba webu Anotace: Registrační číslo projektu: CZ.1.07/1.4.00/21.3712 Škola adresa: Základní škola T. G. Masaryka Ivančice, Na Brněnce 1, okres Brno-venkov, příspěvková organizace Na Brněnce 1, Ivančice, okres Brno-venkov

Více

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER váš partner na cestě od dat k informacím globtech spol. s r.o. karlovo náměstí 17 c, praha 2 tel.: +420 221 986 390 info@globtech.cz

Více

Otevřená data veřejné správy

Otevřená data veřejné správy Seminář Digitální výzvy 2012 8.11.2012 Otevřená data veřejné správy Dušan Chlapek 1, Jan Kučera 1, Martin Nečaský 2 1 Fakulta informatiky a statistiky, Vysoká škola ekonomická v Praze 2 Matematicko-fyzikální

Více

Business Intelligence

Business Intelligence Business Intelligence Josef Mlnařík ISSS Hradec Králové 7.4.2008 Obsah Co je Oracle Business Intelligence? Definice, Od dat k informacím, Nástroj pro operativní řízení, Integrace informací, Jednotná platforma

Více

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy! Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy! Značkovací jazyky Angl. termín "MARKUP" ("vyznačování") Smyslem je přidat do textu metainformace: formátovací sémantické Výsledek je prostý

Více

Úvod do aplikací internetu a přehled možností při tvorbě webu

Úvod do aplikací internetu a přehled možností při tvorbě webu CVT6 01a Úvod do aplikací internetu a přehled možností při tvorbě webu Internet a www Internet? Služby www ftp e-mail telnet NetNews konference IM komunikace Chaty Remote Access P2P aplikace Online games

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools Analyst Pack je desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních

Více

PRODUKTY. Tovek Tools

PRODUKTY. Tovek Tools jsou desktopovou aplikací určenou k vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci i s velkým objemem textových dat z různorodých informačních zdrojů.

Více

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16 RDF a RDF Query Jakub Nerad jakubnerad@gmail.com 1. prosince 2009 Nerad () RDF a RDF Query 1. prosince 2009 1 / 16 Součastnost Součastnost množství informací zpracování pomocí statistické analýzy problém

Více

DATA ARTICLE. AiP Beroun s.r.o.

DATA ARTICLE. AiP Beroun s.r.o. DATA ARTICLE AiP Beroun s.r.o. OBSAH 1 Úvod... 1 2 Vlastnosti Data Article... 1 2.1 Požadavky koncových uživatelů... 1 2.2 Požadavky na zajištění bezpečnosti a důvěryhodnosti obsahu... 1 3 Implementace

Více

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services

1. Webové služby. K čemu slouží? 2. RPC Web Service. 3. SOA Web Service. 4. RESTful Web services 13. Webové služby. K čemu slouží? Popis a vyhledávání služeb. Co je a k čemu slouží orchestrace a choreografie služeb. Technologie pro implementaci služeb 1. Webové služby. K čemu slouží? Definice WS -

Více

PŘÍLOHA C Požadavky na Dokumentaci

PŘÍLOHA C Požadavky na Dokumentaci PŘÍLOHA C Požadavky na Dokumentaci Příloha C Požadavky na Dokumentaci Stránka 1 z 5 1. Obecné požadavky Dodavatel dokumentaci zpracuje a bude dokumentaci v celém rozsahu průběžně aktualizovat při každé

Více

D R U P A L V O J T Ě C H K U S Ý @ W O J T H A www.vojtechkusy.cz

D R U P A L V O J T Ě C H K U S Ý @ W O J T H A www.vojtechkusy.cz DRUPAL VOJTĚCH KUSÝ @WOJTHA www.vojtechkusy.cz KDO JSEM D R U P A L V Ý V O J Á Ř / E V A N G E L I Z Á T O R & P H D. S T U D E N T postgraduální studium na ČVUT FSV Katedra inženýrské informatiky Obor

Více

Modely a sémantika. Petr Šaloun VŠB-Technická univerzita Ostrava FEI, katedra informatiky

Modely a sémantika. Petr Šaloun VŠB-Technická univerzita Ostrava FEI, katedra informatiky Modely a sémantika Petr Šaloun VŠB-Technická univerzita Ostrava FEI, katedra informatiky Úvod Existující problémy Prudký nárůst množství informací na webu Kognitivní přetížení Ztráta v informačním prostoru

Více

DATAMINING SEWEBAR CMS

DATAMINING SEWEBAR CMS DATAMINING SEWEBAR CMS POUŽÍVANÉ NÁSTROJE Dolování z dat LISp-Miner Tvorba analytických zpráv Softwarová podpora projektem SEWEBAR Podporované prohlížeče Mozilla Firefox 11 či novější Google Chrome Většina

Více

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1 Metodický list č. 1 Cíl: Cílem předmětu je získat přehled o možnostech a principech databázového zpracování, získat v tomto směru znalosti potřebné pro informačního manažera. Databázové systémy, databázové

Více

Obsah. Zpracoval:

Obsah. Zpracoval: Zpracoval: houzvjir@fel.cvut.cz 03. Modelem řízený vývoj. Doménový (business), konceptuální (analytický) a logický (návrhový) model. Vize projektu. (A7B36SIN) Obsah Modelem řízený vývoj... 2 Cíl MDD, proč

Více

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16

Obsah. Rozdíly mezi systémy Joomla 1.0 a 1.5...15 Systém Joomla coby jednička online komunity...16 Shrnutí...16 Obsah Kapitola 1 Seznámení se systémem Joomla!................................. 9 Přehled systémů pro správu obsahu....................................................10 Použití systému pro správu obsahu.....................................................11

Více

Úvod do tvorby internetových aplikací

Úvod do tvorby internetových aplikací CVT6 01a Úvod do tvorby internetových aplikací Osnova předmětu (X)HTML a tvorba webu pomocí přímého zápisu kódu Tvorba web designu a skládání stránek z kousků Skriptovací jazyky na webu Návrh software

Více

Formy komunikace s knihovnami

Formy komunikace s knihovnami Formy komunikace s knihovnami Současné moderní prostředky Jiří Šilha a Jiří Tobiáš, Tritius Solutions a.s., Brno Osnova Základní požadavky na komunikaci s knihovnami Historie komunikace s knihovnami Confluence

Více

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací.

Počítačová Podpora Studia. Přednáška 5 Úvod do html a některých souvisejících IT. Web jako platforma pro vývoj aplikací. Přednáška 5 1. Stručný přehled vývoje html H T m l (HTML...XML... html5), (Web API, JSON, REST,AJAX) 2. Některé související IT IP adresa, doménová adresa, name servery JavaScritp, Jquery, Angular PHP vs

Více

Metadata, sémantika a sémantický web. Ing. Vilém Sklenák, CSc.

Metadata, sémantika a sémantický web. Ing. Vilém Sklenák, CSc. Metadata, sémantika a sémantický web Ing. Vilém Sklenák, CSc. Inforum 2004, Praha, 27. 5. 2004 2/21 There are things we know that we know. There are known unknowns that is to say, there are things that

Více

Požadavky pro výběrová řízení TerraBus ESB/G2x

Požadavky pro výběrová řízení TerraBus ESB/G2x Dokument: Převod dat TerraBus ESB/G2x Požadavky pro výběrová řízení TerraBus ESB/G2x Obsah 1. Účel dokumentu... 2 2. Použité termíny a zkratky... 2 3. Požadavky... 3 Účel dokumentu Účelem tohoto dokumentu

Více

1. Integrační koncept

1. Integrační koncept Příloha č. 2: Technický popis integrace 1. Integrační koncept Z hlediska koncepčního budování Smart Administration na Magistrátu města Mostu je možno hovořit o potřebě integrace tří úrovní systémové architektury

Více

Ukládání a vyhledávání XML dat

Ukládání a vyhledávání XML dat XML teorie a praxe značkovacích jazyků (4IZ238) Jirka Kosek Poslední modifikace: $Date: 2014/12/04 19:41:24 $ Obsah Ukládání XML dokumentů... 3 Ukládání XML do souborů... 4 Nativní XML databáze... 5 Ukládání

Více

1 Webový server, instalace PHP a MySQL 13

1 Webový server, instalace PHP a MySQL 13 Úvod 11 1 Webový server, instalace PHP a MySQL 13 Princip funkce webové aplikace 13 PHP 14 Principy tvorby a správy webového serveru a vývojářského počítače 14 Co je nezbytné k instalaci místního vývojářského

Více

APLIKACE XML PRO INTERNET

APLIKACE XML PRO INTERNET APLIKACE XML PRO INTERNET Jaroslav Ráček Fakulta Informatiky, Masarykova Universita Brno Abstrakt Text je věnován možnostem využití XML technologie pro prezentaci dokumentů pomocí Internetu. V úvodu je

Více

4IZ440 Reprezentace a zpracování znalostí na WWW

4IZ440 Reprezentace a zpracování znalostí na WWW 4IZ440 Reprezentace a zpracování znalostí na WWW Seznámení s předmětem Doc. Ing. Vojtěch Svátek, Dr. Zimní semestr 2011 http://nb.vse.cz/~svatek/rzzw.html Hlavní otázky, které by měl předmět zodpovědět

Více

Analýza a Návrh. Analýza

Analýza a Návrh. Analýza Analysis & Design Návrh nebo Design? Design = návrh Není vytváření použitelného uživatelského prostředí (pouze malinká podmnožina celého návrhu) Často takto omezeně chápáno studenty nedokáží si představit,

Více

The bridge to knowledge 28/05/09

The bridge to knowledge 28/05/09 The bridge to knowledge DigiTool umožňuje knihovnám vytvářet, administrovat, dlouhodobě uchovávat a sdílet digitální sbírky. DigiTool je možno využít pro institucionální repozitáře, sbírky výukových materiálu

Více

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL

SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL SYSTÉM PRO KONFIGURACI KOMUNIKAČNÍCH TERMINÁLŮ A VIZUALIZACI STAVOVÝCH DAT Z KOLEJOVÝCH VOZIDEL SYSTEM FOR CONFIGURATION OF COMMUNICATION TERMINALS AND VISUALIZATION OF STATE INFORMATION FROM RAIL VEHICLES

Více

TÉMATICKÝ OKRUH Softwarové inženýrství

TÉMATICKÝ OKRUH Softwarové inženýrství TÉMATICKÝ OKRUH Softwarové inženýrství Číslo otázky : 24. Otázka : Implementační fáze. Postupy při specifikaci organizace softwarových komponent pomocí UML. Mapování modelů na struktury programovacího

Více

Automatizovatelná aktualizace Wikidata z veřejných databází. Jakub Klímek

Automatizovatelná aktualizace Wikidata z veřejných databází. Jakub Klímek Automatizovatelná aktualizace Wikidata z veřejných databází Jakub Klímek Veřejné databáze, Otevřená data https://data.gov.cz 2 Veřejné databáze, Otevřená data - zajímavé zdroje Český úřad zeměměřický a

Více

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz

Vývoj moderních technologií při vyhledávání. Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz Vývoj moderních technologií při vyhledávání Patrik Plachý SEFIRA spol. s.r.o. plachy@sefira.cz INFORUM 2007: 13. konference o profesionálních informačních zdrojích Praha, 22. - 24.5. 2007 Abstrakt Vzhledem

Více

Znalostní báze pro obor organizace informací a znalostí

Znalostní báze pro obor organizace informací a znalostí Znalostní báze pro obor organizace informací a znalostí Představení projektu Programu aplikovaného výzkumu a vývoje národní a kulturní identity (NAKI) DF13P01OVV013 2013 2015 Helena Kučerová ÚISK FF UK

Více

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz

Databázové systémy. Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Databázové systémy Doc.Ing.Miloš Koch,CSc. koch@fbm.vutbr.cz Vývoj databázových systémů Ukládání dat Aktualizace dat Vyhledávání dat Třídění dat Výpočty a agregace 60.-70. léta Program Komunikace Výpočty

Více

Propojená data na webu (motivační úvod)

Propojená data na webu (motivační úvod) Propojená data na webu (motivační úvod) prof. Ing. Vojtěch Svátek, Dr. Katedra informačního a znalostního inženýrství ZS 2018 Propojená data na webu Jeden z frekventovaných termínů, které označují téměř

Více

Nové funkce a technologie v současných a budoucích verzích Invenia. Jiří Kunčar

Nové funkce a technologie v současných a budoucích verzích Invenia. Jiří Kunčar Nové funkce a technologie v současných a budoucích verzích Invenia Jiří Kunčar jiri.kuncar@cern.ch Obsah úvod vývojový proces verze novinky nové technologie závěr CERN European Organization for Nuclear

Více

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka

E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka E LEARNINGOVÁ WEBOVÁ APLIKACE PRO VÝUKU BIOMEDICÍNSKÉHO INŽENÝRSTVÍ Petr Huňka Anotace V rámci projektu FRVŠ jsme připravili webovou e-learningovou aplikaci, která je implementována v jazyce Java v rozšířené

Více

SOU Valašské Klobouky. VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy. Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT

SOU Valašské Klobouky. VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy. Mgr. Radomír Soural. Zkvalitnění výuky prostřednictvím ICT SOU Valašské Klobouky VY_32_INOVACE_3_20_IKT_Tvorba_webovych_stranek_Redakcni_systemy Mgr. Radomír Soural Zkvalitnění výuky prostřednictvím ICT Název a číslo projektu CZ.1.07/1.5.00/34.0459 Název školy

Více

CZ.1.07/1.5.00/34.0527

CZ.1.07/1.5.00/34.0527 Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice

Více

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE

INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE INSTALACE PRODUKTU ONTOPIA KNOWLEDGE SUITE profesionální verze 1 Obsah Požadavky... 3 Instalace... 3 Proměnná CLASSPATH... 3 Zpřístupnění licenčního klíče... 3 Ověřování komponent OKS. 3 Spouštíme aplikaci

Více

Sémantický web a extrakce

Sémantický web a extrakce Sémantický web a extrakce informací Martin Kavalec kavalec@vse.cz Katedra informačního a znalostního inženýrství FIS VŠE Seminář KEG, 11. 11. 2004 p.1 Přehled témat Vize sémantického webu Extrakce informací

Více

8.2 Používání a tvorba databází

8.2 Používání a tvorba databází 8.2 Používání a tvorba databází Slide 1 8.2.1 Základní pojmy z oblasti relačních databází Slide 2 Databáze ~ Evidence lidí peněz věcí... výběry, výpisy, početní úkony Slide 3 Pojmy tabulka, pole, záznam

Více

Představuje. Technický Informační Systém nové generace

Představuje. Technický Informační Systém nové generace Představuje Technický Informační Systém nové generace Nový náhled na položky Sjednocení typů položek - položky nejsou striktně dělené na vyráběné a nakupované. Do tohoto typu je zahrnuté i nakupované a

Více

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML

2 PŘÍKLAD IMPORTU ZATÍŽENÍ Z XML ROZHRANÍ ESA XML Ing. Richard Vondráček SCIA CZ, s. r. o., Thákurova 3, 160 00 Praha 6 www.scia.cz 1 OTEVŘENÝ FORMÁT Jednou z mnoha užitečných vlastností programu ESA PT je podpora otevřeného rozhraní

Více

Použití databází na Webu

Použití databází na Webu 4IZ228 tvorba webových stránek a aplikací Jirka Kosek Poslední modifikace: $Date: 2010/11/18 11:33:52 $ Obsah Co nás čeká... 3 Architektura webových databázových aplikací... 4 K čemu se používají databázové

Více

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web,

Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, Maturitní otázka webové stránky (technologie tvorby webu) Co znamená pojem Web? Web, www stránky, celým názvem World Wide Web, v doslovném překladu "světová rozsáhlá síť neboli celosvětová síť, je označení

Více

Linked Data a jazyk RDF

Linked Data a jazyk RDF Linked Data a jazyk RDF prof. Ing. Vojtěch Svátek, Dr. Zimní semestr 2018 http://nb.vse.cz/~svatek/rzzw.html Osnova přednášky Strukturovaná data na webu - přehled Principy Linked Data Jazyk RDF Hlavní

Více

1. Struktura stránky, zásady při psaní kódu, MVC pattern. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008)

1. Struktura stránky, zásady při psaní kódu, MVC pattern. Web pro kodéry (Petr Kosnar, ČVUT, FJFI, KFE, PINF 2008) 1. Struktura stránky, zásady při psaní kódu, MVC pattern Web pro kodéry (Petr Kosnar, ČVUT, Obsah } Terminologie } Prezentace x Obsah } Struktura kódu } Sémantika kódu } Struktura stránky } Šablony } Template

Více

4IZ440 Propojená data na webu Organizační úvod

4IZ440 Propojená data na webu Organizační úvod 4IZ440 Propojená data na webu Organizační úvod Vyučující: Doc. Ing. Vojtěch Svátek, Dr. Zimní semestr 2014 http://nb.vse.cz/~svatek/rzzw.html Náplň předmětu Technologie propojených dat (linked data) na

Více

Datová věda (Data Science) akademický navazující magisterský program

Datová věda (Data Science) akademický navazující magisterský program Datová věda () akademický navazující magisterský program Reaguje na potřebu, kterou vyvolala rychle rostoucí produkce komplexních, obvykle rozsáhlých dat ve vědě, v průmyslu a obecně v hospodářských činnostech.

Více

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o.

X33EJA Web Services. Martin Ptáček, KOMIX s.r.o. X33EJA Web Services Martin Ptáček, KOMIX s.r.o. ptacek@komix.cz Copyright 2007 KOMIX Copyright s.r.o. 2007 KOMIX s.r.o. 1. Obsah Historie Co jsou Web Services? Co je to SOA? JAX-WS (Java API for XML Web

Více

Dobrý SHOP Popis produktu a jeho rozšíření

Dobrý SHOP Popis produktu a jeho rozšíření Dobrý SHOP Popis produktu a jeho rozšíření 501M012.N01 11/11/2011 www.dlaex.cz info@dlaex.cz OBSAH 1 Úvod...3 2 Účel produktu...3 3 Vlastnosti produktu...3 3.1 Koncepce...3 3.2 Základní y...3 3.3 Doplňkové

Více

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940

Více

IS pro podporu BOZP na FIT ČVUT

IS pro podporu BOZP na FIT ČVUT IS pro podporu BOZP na FIT ČVUT Závěrečná zpráva pro 2. iteraci 21. dubna 2011 Zadavatel: Ing. Jiří Chludil Řešitelský tým: Jiří Kopecký Jan Kratochvíl Milan Matějček Štefan Pinďák Kristýna Streitová Úvod

Více

RDF serializace Turtle

RDF serializace Turtle 4IZ440 Propojená data na webu RDF serializace Turtle Vyučující: Doc. Ing. Vojtěch Svátek, Dr. Zimní semestr 2016 http://nb.vse.cz/~svatek/rzzw.html Shrnutí obsahu a související zdroje Prezentace vychází

Více

Komponentový návrh SW

Komponentový návrh SW Komponentový návrh SW Komponentový návrh SW Komponenty jsou kompletně specifikované pomocí interface Jejich funkčnost je nezávislá na programovacím jazyku a mohou být integrované do toho samého systému

Více

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje

Tovek Tools. Tovek Tools jsou standardně dodávány ve dvou variantách: Tovek Tools Search Pack Tovek Tools Analyst Pack. Připojené informační zdroje jsou souborem klientských desktopových aplikací určených k indexování dat, vyhledávání informací, tvorbě různých typů analýz a vytváření přehledů a rešerší. Jsou vhodné pro práci s velkým objemem textových

Více

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ

SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ Slezská univerzita v Opavě Obchodně podnikatelská fakulta v Karviné SOFISTIKOVANÉ NÁSTROJE PRO JEDNODUCHOU TVORBU PROFESIONÁLNÍCH WEBOVÝCH PREZENTACÍ Distanční studijní opora Jména autorů Ing. Josef Botlík

Více

Možnosti využití dat RÚIAN poskytovaných VDP pomocí webových služeb

Možnosti využití dat RÚIAN poskytovaných VDP pomocí webových služeb Možnosti využití dat RÚIAN poskytovaných VDP pomocí webových služeb Ing. Radek Augustýn Výzkumný ústav geodetický, topografický a kartografický, v.v.i. Zdiby Abstrakt V návaznosti na zpřístupnění dat Registru

Více

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování.

Informační systémy 2008/2009. Radim Farana. Obsah. Nástroje business modelování. Business modelling, základní nástroje a metody business modelování. 3 Vysoká škola báňská Technická univerzita Ostrava Fakulta strojní, Katedra automatizační techniky a řízení 2008/2009 Radim Farana 1 Obsah Business modelling, základní nástroje a metody business modelování.

Více

Aplikace pro srovna ní cen povinne ho ruc ení

Aplikace pro srovna ní cen povinne ho ruc ení Aplikace pro srovna ní cen povinne ho ruc ení Ukázkový přiklad mikroaplikace systému Formcrates 2010 Naucrates s.r.o. Veškerá práva vyhrazena. Vyskočilova 741/3, 140 00 Praha 4 Czech Republic tel.: +420

Více

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty Pokročilé techniky tvorby sestav v Caché ZENové Reporty Úvodem Jednoduché sestavy Pokročilé sestavy Ladění Historie ZEN reporty sdílejí podobný princip definování obsahu jako ZENové stránky Byly uvedeny

Více

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek Co je to webová aplikace? příklady virtuální obchodní dům intranetový IS podniku vyhledávací služby aplikace jako každá jiná přístupná

Více

Tvorba informačních systémů

Tvorba informačních systémů 9. Tvorba informačních systémů Michal Krátký, Miroslav Beneš Katedra informatiky VŠB Technická univerzita Ostrava Tvorba informačních systémů, 2007/2008 c 2006-2008 Michal Krátký, Miroslav Beneš Tvorba

Více

Microsoft Office 2003 Souhrnný technický dokument white paper

Microsoft Office 2003 Souhrnný technický dokument white paper Microsoft Office 2003 Souhrnný technický dokument white paper Přehled inteligentních klientských aplikací založených na sadě Microsoft Office 2003 System Publikováno: Duben 2003 Shrnutí: Inteligentní klienti

Více

Web 2.0 vs. sémantický web

Web 2.0 vs. sémantický web Web 2.0 vs. sémantický web Vilém Sklenák sklenak@vse.cz Vysoká škola ekonomická, fakulta informatiky a statistiky, katedra informačního a znalostního inženýrství Inforum2007, 24. 5. 2007 Vilém Sklenák

Více

4IZ440 Propojená data na webu Organizační a kontextový úvod

4IZ440 Propojená data na webu Organizační a kontextový úvod 4IZ440 Propojená data na webu Organizační a kontextový úvod Vyučující: Doc. Ing. Vojtěch Svátek, Dr. Zimní semestr 2016 http://nb.vse.cz/~svatek/rzzw.html Náplň předmětu Technologie propojených dat (linked

Více

ŠKODA Portal Platform

ŠKODA Portal Platform ŠKODA Portal Platform Struktura LESS stylů Jan Obrátil Účel dokumentu Účelem tohoto dokumentu je vysvětlit strukturu stylů v Portálové Platformě tak, aby bylo možné je správně použít a rozšířit je pro

Více

Softwarové komponenty a Internet

Softwarové komponenty a Internet Softwarové komponenty a Internet Doc. Dr. Ing. Miroslav Beneš Katedra informatiky FEI VŠB-TU Ostrava Miroslav.Benes@vsb.cz Obsah přednášky Motivace Vývoj přístupů k tvorbě programů Definice komponenty

Více

Znalostní báze pro obor organizace informací a znalostí

Znalostní báze pro obor organizace informací a znalostí Znalostní báze pro obor organizace informací a znalostí Představení projektu Programu aplikovaného výzkumu a vývoje národní a kulturní identity (NAKI) DF13P01OVV013 2013 2015 Helena Kučerová ÚISK FF UK

Více

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy

ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická. Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy ČESKÉ VYSOKÉ UČENÍ TECHNIKÉ Fakulta elektrotechnická Microsoft Sharepoint 2007 Workflows Průmyslové informační systémy Bc. Petr Pokorný Letní semestr 2009/2010 1 Obsah 1 Úvod... 3 2 Workflow... 3 3 Workflow

Více

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing.

P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. P@wouk nástroj pro jednoduchou správu a vedení agendy studentských počítačových sítí na kolejích SU OPF Karviná Ing. Tomáš Petránek tomas@petranek.eu Karviná, 21. 10. 2011 Obsah prezentace 1. Okolnosti

Více

Vilém Sklenák Inforum2009,

Vilém Sklenák Inforum2009, Sémantické vyhledávání je blíže? Vilém Sklenák sklenak@vse.cz Vysoká škola ekonomická, fakulta informatiky a statistiky, katedra informačního a znalostního inženýrství Inforum2009, 27. 5. 2009 Vilém Sklenák

Více

Drupal. Svobodný redakční systém. duben 2007 Jakub Suchý 1

Drupal. Svobodný redakční systém. duben 2007 Jakub Suchý 1 Drupal Svobodný redakční systém duben 2007 Jakub Suchý 1 Co je redakční systém? Uživatel: laik Způsob práce: používá MS Frontpage duben 2007 Jakub Suchý 2 Co je redakční systém? Uživatel: pokročilý Způsob

Více

Úvod do Web Services

Úvod do Web Services Úvod do Web Services Základy webových služeb a jejich implementace na platformě OS/2 Jarda Kačer jarda@kacer.biz Český Warpstock 2008 Brno, 20.-21.9.2008 Co je to webová služba? Část business logiky přístupná

Více

Content Management Systems

Content Management Systems Copyright 2003-2012 Přemysl Brada, Západočeská univerzita Content Management Systems PIA 2012 Téma 8 Obsah Motivace Staré způsoby publikování na internetu Přehled CMS Stavební bloky Vlastnosti Alternativy:

Více

Výzvy využívání otevřených dat v ČR

Výzvy využívání otevřených dat v ČR a cesty k jejich řešení Praha, 8. 11. 2013 Výzvy využívání otevřených dat v ČR Dušan Chlapek 1, Jan Kučera 1, Martin Nečaský 2, 1 Fakulta informatiky a statistiky, Vysoká škola ekonomická v Praze 2 Matematicko-fyzikální

Více