Vyhľadávanie v prostredí webu so

Size: px
Start display at page:

Download "Vyhľadávanie v prostredí webu so"

Transcription

1 Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Študijný odbor: INFORMATIKA Ján Krausko Vyhľadávanie v prostredí webu so sémantikou Záverečný projekt bakalárskeho štúdia Vedúci záverečného projektu: Ing. Anton Andrejko máj, 2006

2 ANOTÁCIA Slovenská technická univerzita v Bratislave FAKULTA INFORMATIKY A INFORMAČNÝCH TECHNOLÓGIÍ Študijný odbor: INFORMATIKA Autor: Ján Krausko Záverečný projekt: Vyhľadávanie v prostredí webu so sémantikou Vedúci záverečného projektu: Ing. Anton Andrejko Máj 2005 V práci opisujeme problém vyhľadávania v prostredí sémantického webu. Cieľom tohto projektu je analýza ontologických jazykov, jazykov na dopytovanie ontológií a návrh a implementácia sémantického vyhľadávacieho nástroja schopného pracovať s existujúcou ontológiou pracovných ponúk. Bližšie sa zaoberáme dopytovaním ontológie pracovných ponúk. V práci popisujeme metódu vyhľadávania sémantického vyhľadávacieho nástroja založeného na rámci Apache Cocoon a spolupracujúceho so vzdialeným sémantickým úložiskom Sesame. Pre navrhnutú metódu sme navrhli a implementovali triedu v jazyku Java do rámca Cocoon, metódu dopytovania pracovných ponúk a internetové rozhranie pre vyhľadávanie a reprezentáciu výsledkov hľadania. V práci je predstavené zaujímavé spojenie rámca Cocoon a ontologického úložiska Sesame do sémantického vyhľadávacieho nástroja, ktorý tiež experimentálne overil existujúcu ontológiu v doméne pracovných príležitosti. Kľúčové slová: web so sémantikou, ontológie, sémantický vyhľadávací nástroj

3 ANNOTATION Slovak University of Technology Bratislava FACULTY OF INFORMATICS AND INFORMATION TECHNOLOGIES Degree Course: INFORMATICS Author: Ján Krausko Final project: Searching in Semantic Web environment Supervisor: Ing. Anton Andrejko 2005, May This work deals with the problem of searching in semantic web environment. The aim of this paper is to analyze ontology languages, query languages, design and implementation of the semantic search tool, which is capable to work with existing ontology describing job offers. In particular, we focus on the problem of building query for job offers ontology. A query method for semantic search tool based on framework Apache Cocoon and cooperation with the remote Sesame semantic repository is described. We designed and implemented a Java Class for proposed method, which was added into Cocoon, the method for questioning job offers and the web interface for representation query results. An interesting connection of the Apache Cocoon framework to the Sesame ontology repository was introduced in the Semantic Search Tool that is suitable for questioning ontology. The tool experimentally checks existing ontology in job offers application domain as well. Key words: semantic web, ontology, semantic search tool

4 Zoznam použitých skratiek a pojmov API - Application Programmers Interface, je programátorské rozhranie softvérovej alebo hardvérovej entity spravidla implementované pomocou množiny prototypových funkcií, abstraktných tried alebo priamo jazykovým konštruktorom Interface. CSS - Cascading Style Sheets, je to jazyk pre popis spôsobu zobrazení stránok napísaných v jazykoch HTML, XHTML alebo XML. DAML - DARPA Agent Markup Language, značkový sémantický jazyk, vychádzajúci z jazyka XML a RDF. HTML - HyperText Markup Language, hypertextový značkový jazyk je jazyk určený na vytváranie webových stránok a iných informácií zobraziteľných vo webovom prehliadači. MVC - Model-View-Controller, tiež známi pod menom Model 2, je návrhový vzor pre použitie v Jave N-Triples - trojica zložená zo subjektu, predikát a objektu, slúžiaca na zakódovanie väzieb v RDF grafe. OCML - Operational Conceptual Modelling Language, ontologický jazyk príbuzný jazyku Ontolingua. OIL - Ontology Inference Layer, jazyk kompatibilný s RDFS, navrhnutý pre reprezentáciu a usudzovanie nad webovými ontológiami. OQL - Object Query Language, dopytovací jazyk pre objektové databázy, analógia k SQL. OPEN SOURCE - je vo všeobecnosti akákoľvek informácia dostupná verejnosti, za podmienky, že možnosť jej slobodného šírenia zostane zachovaná. Je to tiež registrovanou obchodnou značkou pre slobodné softvérové produkty. OWL - Web Ontology Language, sémantický značkovací jazyk pre publikovanie a zdieľanie ontológii na WWW, vychádzajúci z jazyka DAML+OIL.

5 RDBMS - Relational DataBase Management System, je databázový server, ktorý spravuje databázy, komunikáciu s klientmi (lokálnymi nebo vzdialenými), vstupy a výstupy dát a ich integritu. RDF - Resource Description Framework, súbor špecifikácií pre metadata, vyvinutý konzorciom W3C. RDQL - RDF Data Query Language, dopytovací jazyk na získavanie dát z RDF grafov. RQL - The RDF Query Language, dopytovací jazyk pre RDF a RDFS voľne založený na syntaxi OQL. SeRQL - Sesame Rdf Query Language, dopytovací jazyk pre RDF a RDFS vyvinutý firmou Aduna pre ich ontologické úložisko Sesame. Servlet - skript na strane servera, logika webovej aplikácie SPARQL - SPARQL Protocol and RDF Query Language, dopytovací jazyk pre RDF. Tag - URI - Riadiaca značka v dokumente, používajú ich všetky tzv. Značkovaci jazyky (Markup Languages). Uniform Resource Identifier je jedinečný identifikátor zdroja, všeobecne použiteľná množina na všetky druhy adries. Skladá sa zo schémy a adresy objektu. (schéma:adresa_objektu). URL - Uniform Resource Locator, forma URI, štandardizovaný spôsob lokalizácie zdrojov na Intrernete. W3C - The World Wide Web Consortium 1, medzinárodné konzorcium zaoberajúc sa vývojom štandardov pre WWW WWW - World Wide Web, je anglický názov pre časť celosvetovej počítačove siete Internet. Je to oficiálne označenie tej časti, kde sa informácie nachádzajú vo forme webových stránok. XHTML extensible HyperText Markup Language, značkovací jazyk pre tvorbu hypertextových dokumentov v prostredí WWW vyvinutý konzorciom W3C ako nasledovník jazyka HTML. XML - Extensible Markup Language, v preklade rozšíriteľný značkovací jazyk vyvinutý konzorciom W3C ako pokračovanie jazyka a HTML. 1 The World Wide Web Consortium (W3C),

6

7 Obsah 1 Úvod Prostredie webu so sémantikou Vyhľadávanie v prostredí webu so sémantikou Dopytovacie jazyky Ontologické úložiská Ontologické jazyky Editory ontológií Zhodnotenie Nástroj na sémantické vyhľadávanie Všeobecné informácie Špecifikácia požiadaviek Sémantický vyhľadávací nástroj Návrhy riešenia Návrh riešenia s využitím Apache Cocoon Cocoon SiteMap Cocoon flowscript Trieda MySesame Implementácia nástroja Testovanie Zhodnotenie a možnosti ďalšej práce Zoznam použitej literatúry Príloha A Inštalačná príručka Príloha B Príručka administrátora Príloha C Technická dokumentácia Príloha D Obsah elektronického média

8 1 Úvod World Wide Web (ďalej len web) radikálne zvýšil dostupnosť informácií, ktorých cena v dnešnom svete stále rastie. Neznamená to však, že by bolo jednoduchšie vyhľadať, spracovávať či vyhodnotiť potrebné informácie. Efektívne využitie informácii publikovaných na dnešnom webe stále vyžaduje plné zapojenie človeka. Riešenie ponúka iniciatíva webu so sémantikou, ktorá sa snaží obohatiť dnešný web o metainformácie o publikovaných dokumentoch reprezentovaných pomocou voľne použiteľných, štandardizovaných jazykov. Vhodným prostriedkom na reprezentáciu metadát inšpirovaným zo znalostného inžinierstva sú ontológie. V tejto práci sa venujeme možnostiam vyhľadávania nad existujúcou ontológiou pracovných ponúk vytvorenou v rámci projektu NAZOV [1]. Cieľom práce je analyzovať ontologické jazyky a jazyky na dopytovanie nad ontologickým úložiskom, analyzovať portály zamerané na pracovné príležitosti a ich potreby kladené na dotazovanie ontológie a analyzovať možnosti reprezentácie informácií získaných z ontologického úložiska. V práci sa zameriame na priamu realizáciu vyhľadávania nad existujúcou ontológiou v prostredí pracovných ponúk. V prvej časti práce uvádzame problémovú oblasť sémantického webu a vyhľadávania v prostredí webu so sémantikou. Ďalej tu uvádzame najznámejšie dopytovacie jazyky s príkladmi a možnosťami ich použitia. V tejto časti predstavujeme dve najbežnejšie ontologické úložiská a prostriedky na prácu s metadátami obsiahnutými v ontológiach, Sesame a Jena. Zvyšok tejto časti je venovaný jazykom na zápis ontológií a zhodnoteniu analýzy. V druhej časti sa venujeme návrhom metódy vyhľadávania v priestore sémantického webu, použiteľnej pre náš prípad sémantického vyhľadávacieho nástroja schopného pracovať s existujúcou ontológiou v oblasti pracovných ponúk. Navrhneme prototyp nástroja založeného na spolupráci servletu na strane servera a vzdialeného ontologického úložiska. V poslednej časti sa zameriame na zhodnotenie práce a dosiahnutých výsledkov. V prílohách sa nachádza technická dokumentácia projektu, používateľská príručka príručka administrátora a obsah priloženého elektronického média. 2

9 2 Prostredie webu so sémantikou Dnešný web, tak ako ho poznáme, je neprehľadný a pre každého, kto potrebuje získať nejakú informáciu môže snaha dostať sa k nej zabrať veľa času. Vyhľadávacie stroje obvykle vyprodukujú množstvo nerelevantných odkazov a informácií. Veľké portály sú často neprehľadné a hľadané informácie dobre ukryté. Samozrejme človek zbehlý v problematike väčšinou nájde čo hľadá, ale stojí ho to niekedy až príliš mnoho neproduktívneho času. Riešenie ponúka iniciatíva webu so sémantikou k popularizácii ktorého došlo po publikácii článku otca webu Tima Berners-Lee: The Semantic Web [2]. Podla neho sémantický web rozširuje ten súčasný tým, že publikovaným dátam priraďuje presný význam pomocou metadát. Takto publikované dáta sú jednoduchšie strojovo spracovateľné a vyhodnocované, čo umožňuje ich lepšiu integráciu z rôznych zdrojov. Strojová čitateľnosť prináša používateľom ďaleko pohodlnejšiu manipuláciu s webovými dátami s možnosťou ich vzájomného spájania. WWW (World Wide Web) sa rýchlo rozšíril vďaka jednoduchosti jazyka HTML (HyperText Markup Language). Nedostatkom tohto jazyka je však to, že jeho tagy (značky) dokument formátujú do podoby, ktorej rozumie len človek. Stroj si s pochopením takto publikovaných informácií nemôže poradiť [3]. Jazyk HTML svojím jednoduchým prístupom umožnil i menej zdatným používateľom relatívne ľahko a rýchlo zostaviť vlastnú stránku. Web so sémantiku však od autora predpokladá, dôsledné vkladanie metadát, ktorých vytváranie nemusí byť triviálnou záležitosťou. Sémantický web je koncipovaný ako súbor niekoľkých na seba nadväzujúcich vrstiev. Na obrázku 1 je znázornená Tim Berners-Lee-ová vízia sémantického webu. Adresovanie je založené na URI (Uniform Resource Identifier) [4] a ako univerzálny základ štruktúry dokumentov je použitý jazyk XML (Extensible Markup Language). O úroveň vyššie je RDF (Resource Description Framework) ako primárna dátová štruktúra. K týmto dátam pridávajú ontológie opis pojmov a vzťahov - sémantiku. Takto je možné odvodzovať pre indivíduá (inštancie) fakty, ktoré pre nich vyplývajú z príslušnosti k nejakej triede v ontológii. Táto a najmä ďalšie vrstvy sú stále vo vývoji. Vrstva logiky má zabezpečovať dopĺňanie nových znalostí a informácií na základe pravidiel (W3C vyvíja jazyk SWRL Semantic Web Rule Language). Tie by mali umožňovať odvodzovanie nových faktov a celé úsilie by malo vyústiť k ďalšej generácii webu t.j. Trust web. V tomto štádiu by používatelia mohli o zobrazených dátach zistiť aj informáciu 3

10 o ich hodnovernosti. Tieto vrstvy zatiaľ neprešli procesom štandardizácie. Obr. 1: Tim Berners-Leeová 2 vízia sémantického webu. Ontológie Pojem ontológia vo filozofii označuje súbor náuk o bytí a len málo súvisí s pojmom ontológia v informatike. Tu skôr opisuje, to čo existuje a môže byť reprezentované v informačnom či znalostnom systéme. Ontológia poskytuje zdieľaný slovník s informáciami opisujúcimi typy objektov, ich vlastnosti a vzťahy s použitím tried a ich hierarchického zadelenia. Účelom ontológií je umožniť, resp. spresniť komunikáciu medzi počítačovými systémy (agentmi) a uľahčiť návrh vedomostne orientovaných aplikácií. Množina odvodzovacích pravidiel v ontológií umožňuje odvodzovať vzťahy medzi entitami, poprípade triedami entít. Vyhľadávací program sa môže vďaka ontológií zamerať na tie stránky, kde je vyhľadávaný reťazec použitý iba v požadovanom význame. Ontológie ponúkajú aj sofistikovanejšie možnosti. S využitím odvodzovacích pravidiel ontológia umožňuje napríklad plne automatickú prezentáciu všetkých relevantných informácií o nájdenom objekte alebo zodpovedanie dopytov. 2 BERNERS-LEE, T.: Semantic Web XML2000, Presentation, 4

11 Ontológie je možné z hľadiska zdroja konceptualizácie klasifikovať [5] ako: - Generické ontológie alebo ontológie vyššieho rádu opisujú všeobecné, v širokom meradle platiace pojmy, vzťahy a zákonitosti. - Doménové ontológie sú najčastejší typ, predmetom je vždy určitá konkrétna problémová oblasť. - Úlohové ontológie (reprezentačné, metaontológie) označujú generické modely znalostných úloh a metód ich riešení. Oproti ostatným ontológiám, ktoré zachytávajú znalosti o svete, sa zameriavajú na procesy odvodzovania. - Aplikačné ontológie sú najšpecifickejšie, prispôsobené na konkrétne úlohy v konkrétnej doménovej oblasti. 5

12 3 Vyhľadávanie v prostredí webu so sémantikou Jednou z najviac žiadaných služieb sémantického webu pravdepodobne bude vyhľadávanie informácií. Sémantika spojená s dokumentom sľubuje možnú realizáciu rôznych typov vyhľadávania [6]: - Vyhľadávanie informácií (Information retrieval, IR) identifikácia relevantných dokumentov a ich radenia podľa miery vhodnosti. - Jednoduché odpovede na otázky (Simple question answering, Q&A) napr.: Kto je prezident Slovenskej republiky?. - Komplexné odpovede na otázky (Complex question answering) napr.: Aká je súčasná situácia v Slovenskej republike? U všetkých typov je možné očakávať zvýšenú efektívnosť vyhľadávania. Súčasne platí, že u všetkých typov vyhľadávania budú používané rôzne techniky usudzovania a odvodzovania. Pri analýze vlastností portálov zameraných na pracovné príležitosti sme vychádzali z osobných skúsenosti z hľadania práce pri štúdiu na vysokej škole a z detailnejšieho pohľadu na už existujúce portály pracovných príležitostí. Ako zdroj ponúk nám poslúžili portály: jobs.collegegrad.com, Toto sú však len väčšie a dobre známe portály orientované na pracovné ponuky. Podobne zameraných portálov je však veľmi veľa. Veľké číslo dostaneme aj keď oblasť zúžime len na Slovenskú republiku. Dôkazom je výsledok vyhľadávacieho portálu Google.com po zadaní reťazca hľadám prácu. Mnoho potenciálnych zamestnávateľov tiež ponuky zverejňuje len na svojich internetových stránkach. Všetky uvedené portály ponúkajú možnosť hľadať prácu ale aj možnosť hľadať zamestnanca. Z hľadiska používateľa má každý server svoje, od ostatných odlišné, rozhranie a umožňuje vyhľadávanie kľúčových slov v ručne vkladaných štruktúrovaných údajoch. V prípade portálu profesia.sk majú niektoré firmy len odkaz na vlastné stránky a tým sa vyhľadávanie obmedzuje len na filtre (firma, pracovná pozícia, a pod.). Z pohľadu firiem sa predpokladá ručné vkladanie informácií. Ak by firma chcela dobre pokryť trh pracovných príležitostí a informovať o svojej ponuke čo najväčší počet možných 6

13 záujemcov musí ponuku publikovať na viacerých portáloch. Zverejňovanie informácií sa tak stáva časovo náročným procesom. Zaujímavou možnosťou, ktorá by mohla pomôcť zlepšiť situáciu v tejto oblasti je použitie ontológií v prostredí webu so sémantikou. S použitím ontológií pri vyhľadávaní je zatiaľ spojených veľa otvorených otázok. Je tu napríklad problém so samotnými ontológiami, ktoré môžu opisovať veľmi podobné dokumenty ale samotné ontológie sa môžu od seba veľmi odlišovať. Ďalšie problémy môžu spôsobovať dopytovacie jazyky, keďže nie všetky dovoľujú aby bolo možné zadávať dopyty štruktúrovane i neštruktúrovane. V našej práci sa zameriame na dopytovanie doménovej ontológie pre prostredie ponuky pracovných príležitostí. 3.1 Dopytovacie jazyky RQL RQL [7] bol vyvíjaný v kontexte projektu EU C-Web a MesMuses. Ide o typ deklaratívneho dopytovacieho jazyka nad RDF voľne založeného na syntaxi OQL. Je to jazyk s funkcionálnym prístupom, ktorý podporuje všeobecný opis cesty v RDF grafe s premennými v uzloch aj hranách. Jeho základom je formálny grafový model, ktorý zachytáva podstatu RDF modelovania a interpretáciu opisovaných zdrojov pomocou jednej alebo viacerých schém. Jeho sémantika však nie je úplne kompatibilná so sémantikou RDF. Na to, aby sa dali RDF modely dopytovať pomocou RQL, musia byť splnené ďalšie dodatočné podmienky (napríklad každá vlastnosť musí mať špecifikovanú práve jednu doménu a rozsah). Prínos RQL spočíva v jeho schopnosti ľahko skombinovať schému a dáta. Príklad dopytu z príručky RQL [7]: select from {Y} where Y like "Pablo" X je je predikát a Y je objekt, pričom nás zaujíma len X (Y nie) ale len také kde Y je Pablo. 7

14 RDQL RDQL [8] je dopytovací jazyk pre RDF. Aj napriek tomu, že nie je formálne štandardizovaný je implementovaný vo väčšine RDF rámcov. Syntax RDQL sa podobá databázovému dopytovaciemu jazyku SQL ale vynecháva klauzulu FROM. Príklad dopytu zo stránky W3C [8]: SELECT?x WHERE (?x, < < ) Vráti všetky záznamy v grafe kde predikát je a objekt je Premenná?x bude naviazaná na označenie (label) zdroja. SeRQL SeRQL [9] bol vyvinutý spoločnosťou Aduna ako časť systému Sesame. Voľne nadväzuje na jazyky RQL a RDQL. Motiváciou tvorcov bola potreba vytvorenia ľahko použiteľného a silného dopytovacieho jazyka pre RDF, ktorý by bol určený pre praktické účely a nasadenie do systému Sesame. Obdobne ako RQL aj SeRQL je založený na formálnej interpretácii RDF grafu. Obsahuje dva možné koncepty dopytovania: select queries a construct queries. Prvý vracia tabuľku hodnôt alebo tabuľku priradení hodnôt premenným a výsledkom druhého je RDF graf, ktorý môže byť priamo podgrafom dopytovaného grafu alebo transformovaný podgraf. Jednoduchý dopyt typu select vracajúci všetky URI z tried môže vyzerať takto: SELECT C FROM {C} rdf:type {rdfs:class} Dopyt typu construct definujúci inverznú vlastnosť by mohol vyzerať: CONSTRUCT {Parent} ex:haschild {Child} FROM {Child} ex:hasparent {Parent} USING NAMESPACE ex = < 8

15 SPARQL Skratka tohto jazyka vychádza z rekurzívneho akronymu: SPARQL Protocol and RDF Query Language, ide o silný a pomerne nový dopytovací jazyk pre RDF, ktorý je zatiaľ len ako návrh štandardu W3C [10]. Dopyt do RDF dát má dve hlavné časti: vyhľadávacie vzory (pattern) a formát výsledku. Vyhľadávací vzor predstavuje RDF tvrdenie, kde niektoré pozície sú nahradené premennými. Výsledkom hľadania v RDF dátach sú série hodnôt premenných, ktoré vyhovujú všetkým vyhľadávacím vzorom v dopyte. Potom je možné určiť formu výsledku týchto hodnôt. Buď sa vypíšu do tabuľky, klauzula SELECT, alebo je z nich možné sformovať nové RDF výroky, klauzula CONSTRUCT. Podobne ako u SeRQL teda máme dva druhy dopytovacích konceptov. vyzerať takto: Jednoduchý dopyt, ktorý vráti názov knihy z informácii v RDF grafe by mohol SELECT?title WHERE { < < } 3.2 Ontologické úložiská V tejto časti uvedieme dve prevažne využívané ontologické úložiská Sesame a Jena vrátane ich architektúry. Sesame Sesame 3 [11] je open source Java framework (ďalej budem používať slovenský výraz rámec) obsahujúci úložisko, dopytovací prostriedok a administrátorský modul pre pridávanie a mazanie RDF dát. Rámec je vyvíjaný spoločnosťou Aduna a NLnet Foundation v rámci projektu On-To-Knowledge. Dá sa využiť ako serverová služba alebo Java knižnica pre aplikácie, ktoré pracujú s RDF dátami. Ak napríklad nejaká aplikácia potrebuje čítať veľký RDF súbor, vyhľadať a použiť relevantné informácie, Sesame 3 Sesame, 9

16 poskytuje nevyhnutné nástroje na parsovanie, interpretáciu, dopytovanie a ukladanie všetkých takýchto informácií v samostatnej databáze alebo na vzdialenom serveri. Sesame využíva viaceré dopytovacie jazyky: RQL, RDQL, SeRQL. Môže byť použitý ako server (pozri obrázok 2), s ktorým klientske aplikácie ale aj priamo používatelia (prostredníctvom web rozhrania) komunikujú cez protokol HTTP. Sesame je v pozícií Java Servlet aplikácie umiestnenej na webserveri Apache Tomcat, ktorý podporuje Java Servlety a JSP technológie. Obr. 2: Sesame server. Detailnejšiu architektúru zachytáva obrázok 3. Samotné úložisko dát môže byť v RDBMS (Relational DataBase Management System), v pamäti či v súbore. Jeho rozhranie je SAILS API, ktoré vyšším vrstvám poskytuje funkcionalitu ako napríklad podporu rozhodovania, funguje ako vyrovnávacia pamäť, rieši viacnásobný prístup do úložiska. Nad ním sú dopytovacie moduly pre jazyky SeRQL, RQL a RDQL, Admin modul a RDF export modul. Prístup k týmto funkčným modulom je možný prostredníctvom rozhrania Sesame's Access APIs, ktoré pozostáva z dvoch častí: Repository API a Graph API. Repository API umožňuje vysokoúrovňový prístup do úložiska s funkciami, ako dopytovanie či vkladanie rdf súborov. Na rozdiel od toho Graph API poskytuje jemnejšiu prácu nad úložiskom, ako je vytváranie malých RDF modelov priamo cez kód či rôznu manipuláciu s RDF. Access APIs poskytuje prístup k úložisku priamo lokálnym používateľským aplikáciám alebo prostredníctvom ďalšieho komponentu v architektúre - Sesame server - tiež vzdialeným programom. Sesam server komunikuje so vzdialeným Sesame Access APIs klientskej aplikácie protokolom http. 10

17 Obr. 3: Architektúra Sesame. Jena Jena 4, bola vyvinutá spoločnosťou Hewlett-Packard Company. Je to kolekcia nástrojov nad RDF napísaných v Jave a obsahujúcich Java model / graph API, RDF Parser (podporujúci N-Triples filter), dopytovací nástroj na báze RDQL a podporu tried pre DAML+OIL ontológie, podporu pre OWL a dopytovací jazyk SPARQL (SPARQL Protocol and RDF Query Language). Pre ontologické jazyky Jena poskytuje svoje rozhranie Jena Ontology API a jeho architektúra je na obrázku 4. Obr. 4: Architektúra Jena Onttology API. 4 Jena A Semantic Web Framework for Java, 11

18 Nad samotným RDF grafom má Jena jednoduché interné rozhranie Graph. Usudzovací stroj (reasoner) pracuje s obsahom grafu a so sémantickými pravidlami z príslušného jazyka a tiež je zastrešený rozhraním Graph. Ontologický model je tak nezávislý na usudzovacom stroji a pracuje len s rozhraním Graph. 3.3 Ontologické jazyky Od 80. rokov vznikalo viacero projektov a snáh o zachytenie znalostí o svete v ontológiách. Pre ich potreby boli vyvíjané ontologické jazyky (sú dobre popísané v [12]). Z tzv. klasických jazykov sú najznámejšie tieto: Cyc jeden z prvých pokusov o zachytenie veľkého rozsahu znalostí sveta, v súčasnosti stále živý projekt 5, ktorého názov vychádza zo slova encyclopedia. Ontolingua jazyk ktorý vznikol pod vedením T. Grubera zo stanfordskej Knowledge System Laboratory, ktorého cieľom bolo vyvinúť dostatočne silný a zároveň prehľadný jazyk, ktorý by umožňoval zdieľať ontológie v rámci odborných komunít, používajúcich vzájomne nekompatibilné znalostné systémy. OCML (Operational Conceptual Modelling Language) rozširuje obmedzené odvodzovacie schopnosti jazyka Ontolingua a pri zachovaní ontologickej podstaty väčšmi podporuje priamy vývoj programových aplikácií. OKBC a XOL Open Knowledge Base Connectivity protokol špecifikuje predávanie konštrukcií ako triedy, indivíduá alebo sloty, a tak isto volanie operácií nad nimi. Stal sa východiskom pre návrh extensible Ontology Language (XOL), ktorého motiváciou bola potreba bioinformatickej komunity zdielať štruktúry znalostí o génovom výskume. Žiadny z dovtedajších jazykov tomuto účelu dostatočne nevyhovoval. Podrobnejšie som sa však venoval jazykom pre špecifikáciu doménových ontológii (vid. kap. Web-based ontology specification language [12]), ktoré sú priamo spojené s vývojom okolo WWW. 5 Cycorp, 12

19 RDF a RDFS RDF je jazyk predstavujúci metadátový štandard vytvorený konzorciom W3C 6. Používa grafový model metadát. Každý uzol v grafe je tzv. zdroj (resource) a môže byť reprezentovaný aj URI. Uzly ktoré nemajú žiadny unikátny identifikátor a sú opísané len textom, ktorý obsahujú sú špeciálnym typom zdrojov a nazývajú sa literály (literal). Uzly sú pospájané vlastnosťami (property) reprezentované pomocou URI. RDF graf môže byť zapísaný zoznamom trojíc (triple), kde počiatočný uzol sa nazýva subjekt, vlastnosť je predikát a koncový uzol je objekt. Tieto trojice predstavujú výroky alebo tvrdenia. Na stránkach W3C je voľne prístupná príručka RDF 7. Na obrázku 5 je príklad ilustrujúci použitie URI v RDF z našej ontológie pracovných príležitostí. Graf zobrazuje pracovnú ponuku identifikovanú ktorej názov (name) je Programmer, zadala (isofferedby) ju firma identifikovaná URI S004_org_Harte_Enterprise s dátumom nástupu (startdate) Existuje viacero spôsobov, ako uložiť RDF do súboru. Najčastejšie je to prostredníctvom jazyka XML a takto by mohol vyzerať príklad z obrázka 5: <?xml version="1.0"?> <rdf:rdf xmlns:rdf=" xmlns:description=" v /offer-job#"> <description:joboffer rdf:about=" v0.6.16/offer-job-inst#s004_franz_01034"> <description:name>programmer</description:name> <description:startdate> </description:startdate> <description:isofferedby rdf:resource=" v0.6.16/offer-job-inst#s004_org_harte_enterprise"/> </description:joboffer> </rdf:rdf> 6 Resource Description Framework, W3C, 7 RDF Primer, W3C Recommendation 10 February 2004, 13

20 /v0.6.16/offerjob#joboffer /02/22-rdf-syntax-ns#type /ontologies /v0.6.16/offer-jobinst#s004_franz_ /v0.6.16/offer#name Programmer /ontologies /v0.6.16/offer-job#isofferedby /ontologies /v0.6.16/offer-jobinst#s004_org _Harte_Enterprise /v0.6.16/offer-job#startdate Obr. 5: Ilustrácia použitia URI v grafe RDF. Pracovná ponuka identifikovaná typ indivídua JobOffer identifikovaný vlastnosti indivídua ( v tomto prípade name, isofferedby, startdate ) sú identifikované každá cez svoje URI ( napr. ) hodnoty týchto vlastností môžu byť opäť URI (napr. ) alebo literál (napr. reťazec znakov Programmer ). RDF Schéma 8 (ďalej RDFS) predstavuje nadstavbu, ktorá doplnila do štruktúry RDF triedy, binárne sloty a umožnila definovať nad nimi hierarchiu, umožnila stanoviť definičný odor a obor hodnôt a pre výroky umožňuje definovať nové slovníky (vocabularies). Zdroje z RDF je možné potom priraďovať triedam z RDFS ako ich 8 RDF Vocabulary Description Language 1.0: RDF Schema, W3C. 14

21 inštancie, pomocou atribútu type. Oproti tradičným ontologickým jazykom mu však chýba možnosť precíznejšie špecifikovať lokálne obmedzenia a podmienky príslušnosti k triedam. DAML, OIL DAML (DARPA Agent Mark-up Language) 9 je sémantický jazyk s väčšou vyjadrovacou silou než má RDFS a ktorého vývoj začal od jazyka XML. Súčasne s ním bol v Európe popri IST Ontoknowledge projekte vyvíjaný jazyk OIL (Ontology Inference Layer) 10, ktorého jadro vychádza z RDF a rozširuje jeho usudzovacie schopnosti deskriptívnou logikou. Na obrázku 6 je znázornená jeho štruktúra. Obr. 6: Vrstvový model jazyka OIL. Čiastočným zlúčením jazyka OIL s jazykom DAML vznikol DAML+OIL 11. Základom DAML+OIL sú triedy. A to pomenované, reprezentované svojím menom, alebo anonymné, reprezentované určitým logickým výrazom. Pre tvorbu logických výrazov sa používajú konštruktory, ktoré je možné ľubovoľne skladať a tak vytvárať zložitejšie výrazy. Vlastnú náplň ontológie tvoria axiómy vybudované práve nad výrazmi reprezentujúcimi triedy. 9 DAML, 10 OIL, 11 DAML+OIL, 15

22 Jazyky RDF, RDFS a DAML+OIL je možné v jednom XML súbore kombinovať. Jeho elementy budú teda z rôznych menných priestorov (rdf, rdfs, daml) vo vrstvovej architektúre. Vyšší jazyk zdedí konštruktory nižšieho jazyka. Takto sa zabezpečí čiastočná spätná kompatibilita. Napríklad agent schopný pracovať len s RDFS bude môcť vykonať aspoň syntaktickú analýzu kódu, ktorá je vyjadrená RDF, a zistiť hierarchiu tried, popísanú RDFS (rdfs:subclassof). Jazyk OWL Jazyk OWL (Web Onthology Language) je výsledkom práce konzorcia W3C 12. Ontológia v jazyku OWL sa samozrejme okrem prvotnej deklarácie menných priestorov skladá z hlavičky, obsahujúcej informácie o verzii alebo odkaz na ontológie, ktoré sú v nej implicitne obsiahnuté a vlastného obsahu. Tým je sústava axióm, ktoré definujú triedy a indivídua, väzby medzi nimi a ich vlastnosti [13]. Triedy. OWL umožňuje pracovať s pomenovanými aj s anonymnými triedami. Pomenovaná trieda je identifikovaná svojim názvom, ktorým je URI to je nevyhnutná podmienka korektného využívania ontológií v otvorenom prostredí webu. Anonymná trieda odpovedá logickému výrazu nad pomenovanými alebo aj inými anonymnými triedami. Indivíduá. Indivíduum (tiež inštancia alebo objekt) je vždy identifikovaný pomocou URI. Jeho existencia je nezávislá na akejkoľvek triede. Práve naopak, môže byť priradený nie len k jednej triede ale i k viacerým triedam zároveň. Vlastnosti. Taktiež vlastnosti (v rámcových systémoch sa používa termín slot, v DL termín rola) sú identifikované pomocou URI. Z logického hľadiska ide o binárnu reláciu nad množinou indivíduí, ktorá spája, buď dva objekty (objektová vlastnosť) alebo objekt s hodnotou dátového typu (datatypová vlastnosť). Dedičnosť. Z logickej podstaty ontológií vyplýva, že obmedzenie hodnôt vlastností sa dedí z obecnejšej triedy na špeciálnejšiu. Obdobne matematické charakteristiky i obory argumentov obecnejších vlastností sa dedia na vlastnosti špeciálnejšie. Tento jazyk existuje v troch dialektoch, z ktorých každý nasledujúci má vyššiu vyjadrovaciu silu. Avšak je súčasne náročnejší na odvodzovacie prostriedky. 12 Web-Ontology Working Group, W3C, 16

23 Dialekty jazyka OWL: - OWL Lite je syntakticky najjednoduchší dialekt. Používa sa v prostredí kde nám stačí jednoduchá hierarchia tried a len jednoduché obmedzenia. Zakazuje použitie anonymných tried vo väčšine elementov a nemá tiež niektoré elementy, ktoré sú zastúpene v ďalších dialektoch. - OWL DL ma väčšiu vyjadrovaciu silu ako OWL Lite a je postavený na deskriptívnej logike, preto je možné automatické odvodzovanie a preverovanie nekonzistencií ontológií. Oproti OWL Full nemôže používať všetky konštrukcie RDF. Trieda ani vlastnosť nesmie byť zároveň indivíduom. Množina datatypových vlastností musí byť s množinou objektových vlastností disjunktná. - OWL Full je dialekt s najväčšou vyjadrovacou silou, ale nezaručuje, že odvodzovanie skončí v konečnom čase. Obsahuje všetky elementy a konštrukcie jazyka. Umožňuje aj neobmedzené použití RDF konštrukcií. Triedy môžu tiež byť použité ako indivíduá. Základnou syntaxou jazyka OWL je XML a v súčasnej verzii je ešte pridaná vrstva RDF/RDFS. Podobne ako pri jazyku DAML+OIL je takto zabezpečená čiastočná spätná kompatibilita. 3.4 Editory ontológií Prakticky všetky ontologické jazyky je možné zapisovať priamo v bežnom textovom editore, ale pre rozsiahlejšie ontológie by to bolo prinajmenšom veľmi zložité. Špecializovaných editorov je niekoľko, napr: WebOnto, Ontosaurus, ktoré sú ale spojené s konkrétnou ontológiou. Z komerčných nástrojov je to napr. OntoEdit či OilEd, ktorý je špecificky určený pre webové jazyky odvodené od OIL. Používali sme voľne dostupný editor Protégé 13 [14], ktorý nie je bezprostredne spojený so žiadnym jazykom ale je z neho možné exportovať do všetkých hlavných formátov. Tak isto bol použitý pri vývoji našej ontológie pracovných ponúk v rámci projektu NAZOU. Je vyvíjaný tímom M. Musena v inštitúte Stanford Medical Informatics. 13 Protégé, 17

24 3.5 Zhodnotenie Jazykov na zápis ontológií v prostredí webu so sémantikou, ktoré sa aktívne používajú, je v súčastnosti viacero. Ako najzaujímavejší sa javí jazyk OWL, ktorý sa rozhodlo postaviť konzorcium W3C a od roku 2004 sa stalo štandardom na písanie ontológií pre sémantický web. Tento jazyk je tiež podporovaný editorom ontológií Protégé. Ten sa stal najpoužívanejším, keďže nie je úzko naviazaný na žiadny konkrétny ontologický jazyk a je vyvíjaný pod hlavičkou open source. Nástroj Sesame má na webe veľkú podporu, veľmi živé fórum, kde vývojári rýchle pomáhajú s problémami. Dobrá dokumentácia a prehľadné API sú veľmi dobré predpoklady pre jeho využitie na projektoch. Keďže sme sa rozhodli využiť ho ako sémantické úložisko je na dopytovanie najvhodnejší jazyk SeRQL. I keď v prostredí Sesame je implementovaná aj podpora iných jazykov (RQL, RDQL), vývoj SeRQL je so Sesame úzko spojený a jeho podpora je najväčšia. Vo verzii Sesame 2 (v čase písania práce ako nestabilná) sa počíta aj s jazykom SPARQL. 18

25 4 Nástroj na sémantické vyhľadávanie V tejto kapitole objasníme prvotný stav motiváciu a ciele projektu, špecifikujeme funkcionálne a nefunkcionálne požiadavky, predstavíme návrhy riešenia a dôvody výberu konkrétneho z nich. Objasníme celkovú architekúru systému a jednotlivé jej časti. Zameriame sa na konkrétne problémy implementácie z pohľadu použitých prostriedkov podľa zvoleného návrhu a následne experimentálne overíme riešenie. 4.1 Všeobecné informácie Na portáloch zameraných na pracovné príležitosti je veľké množstvo údajov. Zároveň ich navštevuje veľké množstvo používateľov, z ktorých každý má záujem len o istú informáciu či malý okruh informácii. Fultextové vyhľadávanie je často nepostačujúce a ak ho portál ponúka, tak rozšírené vyhľadávanie zase zložité a neprehľadné. Najčastejšie kritéria, ktorými používatelia portálov zužujú výsledky hľadania sú zvyčajne: priame zadanie konkrétnej pracovnej pozície, zadanie oblasti, z ktorej by si záujemca vedel predstaviť výber konkrétnej pracovnej pozície, zadanie zemepisnej lokality v ktorej by mal záujem pracovať Študentov a absolventov vysokých škôl zvyčajne zaujímajú aj tieto kritéria: typ pracovnej zmluvy je vyžadovaná prax? Na základe týchto kritérií môžeme definovať otázky a následne vytvoriť dopyty na ontológiu. Naša prvotná neznalosť ontológie zabezpečila nestrannosť a tak pri tvorbe a po konkrétnej implementácií dopytov budeme môcť povedať nakoľko dobre a či ľahko sa dali zostaviť dopyty. Teda nakoľko dobre je navrhnutá a vytvorená ontológia a jej štruktúra. Takto bude možné tvorcom ontológie poskytnúť istý druh spätnej väzby. V rámci projektu NAZOV bola navrhnutá a vytvorená ontológia pre doménu pracovných príležitostí. V dobe tvorby projektu to bola verzia v0.6.15, momentálne je to verzia v Ontológia sa skladá z doménovo závislej a doménovo nezávislej časti. 19

26 Doménovo závislá časť ontológie: offer-job - importuje doménovo nezávislé časti a využíva ich na definovanie všeobecných konceptov Doménovo nezávislá časť ontológie: region definuje koncepty regiónov, krajín, jazykov a mien, ktoré sa v daných regiónoch používajú classification definuje hierarchie pre priemyselné odvetvia, profesie, úrovne vzdelania, kvalifikácie a rôzne usporiadania offer definuje všeobecnú ponuku 4.2 Špecifikácia požiadaviek Cieľom nástroja Semantic Search Tool (SST) je pracovať s doménovou ontológiou vytvorenou pre oblasť pracovných ponúk. V čase vývoja nástroja bolo v ontológii 101 inštancií pracovných ponúk. Boli však prevažne dosť slabo vyplnené a vyskytovali sa aj chybne vyplnené inštancie. Nástroj je navrhnutý s ohľadom na robustnosť aby bol schopný zvládnuť prekážky tohto typu. Na ontológii sa stále pracuje, preto by náš nástroj mal byť schopný prijať zmenu verzie najlepšie bez nutnosti zásahu do kódov. Ak sa zásadnejšie zmení štruktúra ontológie samozrejme túto požiadavku nebude možné splniť. Zmena verzie má za následok aj zmenu menného priestoru, ktorý sa využíva pri dopytovaní. Nástroj by mal byť schopný vyrovnať sa s týmto problémom po jednoduchej modifikácii globálnych premenných version a namespace v textovom súbore. Po implementácii nástroja SST sa predpokladá jeho použitie, alebo jeho časti v projekte NAZOV. Je nevyhnutne potrebné oddeliť logiku a dáta programu od jeho webovej reprezentácie. Ako úložisko našej ontológie sa používa systém Sesame. Náš nástroj musí byť schopný pracovať s ontológiou vzdialene, prostredníctvom internetu. Musí byť teda implementovaný samostatne a musí dokázať spolupracovať s API Sesame. Na úspešné nadviazanie spojenia Sesame vyžaduje adresu vzdialeného úložiska, prihlasovacie meno, heslo a ID úložiska. 20

27 Aj zdanlivo konštantné zoznamy z ktorých si používateľ bude môcť vybrať preferovanú hodnotu (zoznam všetkých pracovných pozícií, zoznam lokalít, a pod.) sa môže meniť, ako sa menia verzie ontológie. Tak isto sa do budúcna musí počítať aj s možnosťou úplnej zmeny týchto zoznamov, ak si to nasadenie nástroja (napríklad do iného prostredia) bude vyžadovať. Preto je nevyhnutné aby sa tieto zoznamy pred samotným zobrazením užívateľského rozhrania zistili a načítali zo štruktúry ontológie. Táto inicializačná časť je na obrázku 7. Obr. 7: Inicializačná fáza zobrazená diagramom aktivít. Pri záujme používateľa o konkrétnu pracovnú ponuku sa od nástroja očakáva zobrazenie detailného pohľadu na túto ponuku. V ňom sa automaticky zobrazia všetky k ponuke v ontológii pripojené informácie. Samozrejmosťou je požiadavka na intuitívne ovládanie a príjemné grafické prostredie. 21

28 4.3 Sémantický vyhľadávací nástroj Návrhy riešenia Na vysokej škole ekonomickej v Prahe, na Fakulte informatiky a štatistiky beží projekt Raynbow 14, ktorého cieľom je vyvinúť flexibilnú architektúru pre znalostnú analýzu webu. Je postavený na doméne internetového obchodu s bicyklami. Jeho súčasťou je tiež HTML rozhranie pre vyhľadávanie založené na dopytovacom jazyku SeRQL nad ontológiou v úložisku Sesame. Ich prístup k riešeniu tohto rozhrania bol veľmi silno inšpirovaný priamo samotným kódom Sesame. Autori projektu vytvorili servlety rozširujúce základný Sesame server. Naším cieľom bolo však vytvoriť logiku aplikácie nezávisle na Sesame. Prvý návrh riešenia bol postavený na voľne dostupnej platforme pre vývoj webových aplikácií založených na technológii Java, Struct 15. Ide o projekt z dielne Apache Foundation vychádzajúci z architektúry MVC (Model-View-Controller). Model - predstavuje rozhranie k systému, View - reprezentuje prezentačnú vrstvu, užívateľské rozhranie, Controller - spracováva vstup od používateľa a odovzdá ho modelu. Návrh riešenia a jeho architektúra bola odprezentovaná na seminári PeWe (Personalized Web) Group, príloha C. Diskusia po prezentácii pomohla načrtnúť druhý návrh. Návrh riešenia založený na projekte Cocoon 16. Ide tak isto o projekt od Apache Foundation. Je to framework pre vytváranie webových aplikácii založených na XML. Je jedným z hlavných open source projektov vyvíjaných v rámci iniciatívy XML Apache. Ide o projekt, ktorý obsahuje veľké množstvo nástrojov a možností, to sa však podpísalo pod neprehľadné API a za vývojom stále zaostávajúcu dokumentáciu. Samotný Cocoon je vlastne servlet naprogramovaný v Jave i keď svojimi možnosťami presahuje možnosti bežného servletu. Okrem toho, že môže bežať v prostredí servletového kontajneru, je možné ho spustiť aj samostatne z príkazového riadku. Pracuje na princípe dátovodov (obrázok 8), ktoré poznáme z Unix-ových systémov. Keď Cocoon príjme HTTP požiadavku od webového klienta, rozhodne, ktorý datovod ju spracuje. Prvý komponent (Generátor) v ňom musí vygenerovať počiatočné XML dáta, ktoré sú predané na vstup ďalšiemu komponentu (Transformátor). Ten, dáta transformuje a predá ďalšiemu 14 RAINBOW, Reusable Architecture for Intelligent Brokering Of Web information access, Apache Struts, 16 The Apache Cocoon Project, 22

29 komponentu (to môže byť ďalší transformátor) a až posledný komponent dáta serializuje do výstupného prúdu, ktorý je zaslaný späť webovému klientovi. Obr. 8: Zobrazenie princípu dátovodu v Apache Cocoon Návrh riešenia s využitím Apache Cocoon Cocoon poskytuje veľa blokov a pre riešenie nášho problému sú zaujímavé tieto: CocoonForms obsluha formulárov, definuje model a šablónu formuláru. Zobrazenie zoznamu nájdených ponúk ako aj detail jednej konkrétnej je možné realizovať pomocou JXTemplate. JavaFlow zase pomocou flowscriptu v jazyku Javascript zabezpečí riadenie, logiku aplikácie. Cocoon vďaka tomu, čo ponúka, je z prezentovaný riešení najvhodnejší pre našu aplikáciu. Architektúra aplikácie s využitím servletu Cocoon je zachytená na obrázku 9. Obr. 9: Štruktúra aplikácie SST. 23

30 Cocoon síce môže pracovať aj samostatne (má vstavaný servletový kontajner Jetty, vtedy využíva port:8888), cocoonovské aplikácie sa však väčšinou nasadzujú do prostredia iného servletového kontajneru. Najmä z dôvodu výkonu alebo preto, že už sa nejaký kontajner používa (Apache Tomcat). Tak je tomu aj na obrázku 10. K úložisku Sesame sa pripája vzdialene (cez HTTP) a na klientskom prehliadači interaguje s používateľom prostredníctvom svojho web rozhrania. Na obrázku 10 je načrtnutý priebeh klientskej HTTP požiadavky. Cocoon sa riadi konfiguračným súborom SiteMap (sitemap.xmap) kde je potrebné nakonfigurovať dátovody (Pipeline). Po spustení nástroja SST sa v príslušnom dátovode zavolá funkcia flowscriptu vstup(). Tá sa okamžite pokúsi pomocou triedy MySesame, ktorú bude treba naprogramovať, pripojiť na vzdialené úložisko Sesame a zistiť potrebné údaje pre dynamické vygenerovanie formuláru, prostredníctvom dopytov v jazyku SeRQL. Sú to napr. všetky možné typy pracovných pozícií, všetky lokality, typy pracovného pomeru a pod. Tieto údaje sa zobrazia v príslušných rolovacích zoznamoch vo formulári, po ich rozbalení. Client SST Cocoon:SiteMap Cocoon:Pipeline MySesame Sesame HTTP request Translate reques to Pipeline Select Pipeline Flowscript:vstup() Connect Sesame Repository Send SesameService ID SeRQL query Query Results Table HTTP response Obr. 10: Náčrt priebehu a spracovania klientskej HTTP požiadavky. 24

31 4.3.3 Cocoon SiteMap Pre náš nástroj je potrebné vytvoriť konfiguračný súbor sitemap.xmap vo formáte XML. V ňom špecifikujeme súbor s flowscriptom našej aplikácie, potrebné komponenty pre dátovod a namapujeme virtuálnu adresárovú štruktúru (používanú v HTTP požiadavkách) na skutočnú použitú na strane servera. Výber dátovodu (alebo jeho časti) zabezpečuje v mape element map:match. Na základe regulárneho výrazu, ktorý tento element definuje, sa aktuálnej HTTP požiadavke priradí príslušná časť dátovodu. Každému typu požiadavky, ktorý pripadá do úvahy, musí byť takto pripojená príslušná časť dátovodu, aby cocoon vedel čo má s danou požiadavkou robiť. Napríklad map:match pattern="" znamená, že pokiaľ bude požadovaný žiadny korektný súbor, teda príde požiadavka /cocoon/sst/ zavolá sa funkcia flowscriptu. Ak príde požiadavka na nejaký konkrétny súbor (*.gif, *.jpg, *.css) Cocoon ho pošle prehliadaču prostredníctvom príslušného typu komponentu Reader. Napríklad pre obrázky Cocoon API poskytuje org.apache.cocoon.reading.imagereader. Celý výpis použitej mapy aj s komentárom je v technickej dokumentácii Cocoon flowscript Flowscript spolupracuje s API rozhraním Cocoonu a jeho funkcionalita bude rozdelená do dvoch častí. Funkcia VSTUP zabezpečí logiku pre úvodný formulár, vyhľadávanie a zobrazenie nájdených ponúk. Funkcia DETAIL zabezpečí logiku pre zobrazenie detailu konkrétnej ponuky. Prvá funkcia sa zavolá hneď na začiatku pri spustení nástroja SST (z klientskeho prehliadača príde požiadavka na /cocoon/sst/). Pripojí sa na Sesame, získa všetky potrebné údaje na naplnenie rolovacích menu formulára a prostredníctvom bloku CocoonForms a generátora JX Generator vygeneruje formulár v HTML dokumente. form.showform("display-pipeline", lokal); Premenná lokal obsahuje informácie získané zo Sesame. Po vyplnení formuláru používateľom a jeho odoslaní, získa vyplnené údaje. Podľa nich sa vykoná hľadanie a výsledky sa opäť zobrazia pomocou JX Generátora, ktorý do šablóny doplní zistené informácie (premenná viewdata). 25

32 V tomto prípade pomocou funkcie cocoon.sendpage: cocoon.sendpage("success-pipeline",viewdata); Druhá funkcia dostane na svoj vstup ID konkrétnej ponuky a na jeho základe vyhľadá všetky dostupné informácie spojené s touto ponukou. Výsledky sa obdobným spôsobom vygenerujú do HTML dokumentu vložením získaných dát do šablóny jazykom JXTemplate Definícia a šablóna formuláru Nástroj SST bude umožňovať špecifikovanie týchto zúžení na vyhľadávanie: oblasť podnikania firmy, ktorá ponuku uverejnila, pracovná pozícia, región, druh pracovného pomeru a vhodnosť pre uchádzača bez praxe Formulár sa vytvára z dvoch vstupných XML súborov. Prvý je definícia modelu formuláru prostredníctvom tzv. widgets čo sú vlastne prvky formuláru. Napríklad pole s rolovacím zoznamom pre určenie požadovanej lokality bude vyzerať nasledovne: <fd:widgets> <fd:field id="lokalita"> <fd:label>in region: </fd:label> <fd:datatype base="string"/> <fd:selection-list type="flow-jxpath" list-path="list" value-path="label" label-path="label"/> </fd:field>... Druhým súborom je šablóna, ktorá určuje ako bude formulár vyzerať. Samozrejme celkový dizajn a grafika bude zadefinovaná pomocou pripojeného súboru s káskádovými štýlmi. Napríklad zobrazenie widgetu pre lokalitu v bunkách tabuľky bude vyzerať nasledovne: <td><ft:widget-label id="lokalita"/></td> <td><ft:widget id="lokalita"/></td> 26

33 Opätovné zobrazenie používateľom zvolených hodnôt a výsledkov hľadania sa vykoná pomocou JX Generátora, ktorý do vstupnej šablóny doplní získané hodnoty pomocou jazyka JXTemplate. Napríklad vloženie používateľom zvolenej hodnoty požadovanej lokality sa implementuje nasledovne: <td>in region:<b> ${lokalita} </b></td> Trieda MySesame Možnosti Cocoonu bude potrebné rozšíriť o spoluprácu so Sesame. To zabezpečí nová tirieda naprogramovaná v jazyku Java, ktorú bude treba vložiť do balíka a skompilovať s Cocoonom. Táto trieda musí spolupracovať s API rozhraním Sesame a zabezpečiť pripojenie na vzdialené úložisko. Keďže hneď pri spustení nástroj zisťuje možnosti pre rolovacíe menu jednotlivých položiek vo formulári musí táto trieda obsahovať dopyty na oblasti, pracovné pozície, regióny a typy pracovného pomeru. Ak používateľ špecifikuje príliš široké kritéria, ktorým bude vyhovovať veľké množstvo ponúk, alebo naopak, zadaným kritériám nebude vyhovovať žiadna ponuka, musí na to byť upozornený. Príslušná metóda triedy musí mať na vstupe hodnoty, ktoré vo formulári zadal používateľ a na ich základe musí zostaviť dopyt v jazyky SeRQL. Zostavuje ho zo základných dopytov pre jednotlivé položky vo formulári. Ak používateľ nejakú položku nevyplnil neberie sa pri zostavovaní dopytu do úvahy. Položka vhodnosť pre používateľa bez praxe delí všetky ponuky na tie, ktorých vlastnosť hasprerequisite obsahuje termín experience a tie čo ho neobsahujú. API Sesame vyžaduje zachytávanie výnimočných stavov tak pri pripájaní na úložisko ako aj pri samotnom dopytovaní. Preto metódy triedy musia zachytávať všetky do úvahy spadajúce výnimky a informovať o ich prípadnom vzniku. 27

34 5 Implementácia nástroja Celý nástroj sa okrem samotného Apache Cocoon skladá z týchto vytvorených súborov: sitemap.xmap - konfiguračný súbor pre Cocoon definition.xml - definícia modelu formulára template.xml - šablóna formulára registration.js - súbor flowscriptu v Javascripte success.jx - šablóna na zobrazenie výsledkov hľadania result.jx - šablóna na zobrazenie detailu konkrétnej ponuky layout.css súbor kaskádových štýlov pre formulár a výsledky hľadania result_layout.css súbor kaskádových štýlov pre detail ponuky MySesame.java súbor s novou triedou vloženou do Cocoonu (org.apache.cocoon.sesamebean.mysesame) + súbory s grafikou (logo.gif, sesame.png, cocoon2.gif) Keďže ponuky v existujúcej ontológii nemajú vyplnené označenie (label) oblasti ani označenie pracovnej pozície, na vymedzenie týchto dvoch pojmov bolo nutné využiť identifikátor na konci ich URI (pomocou funkcie LocalName() jazyka SeRQL). Ontológia počíta s označeniami v anglickom aj slovenskom jazyku, často však nie sú vyplnené. Možnosť zadať pre položku vhodnosť pre uchádzača bez praxe nie bude znamenať výber len tých ponúk kde nie je požadovaná prax. Dopyt bude v jazyku SeRQL vyzerať: SELECT DISTINCT localname(l) FROM {L} < offer-job#hasprerequisite> {J} WHERE ( localname(j) LIKE \"*experience*\" OR localname(j) LIKE \"*Experience*\" ) 28

35 Budú nás teda zaujímať iba pracovné ponuky (premenná L), ktorých vlastnosť hasprerequisite neobsahuje vo svojom LocalName (popis opätovne nie je vyplnený, tu to však nespôsobuje až taký problém) výraz experience. Keďže ponuky nie sú jednoznačne vyplnené je potrebné kontrolovať aj výraz Experience (keď je to slovo na začiatku vety). Pri voľbe áno pre ponuky bez praxe sa v dopyte od všetkých pracovných ponúk odčítajú ponuky vyhovujúce predošlému dopytu. Na to v jazyku SeRQL slúži klauzula MINUS. Zo základných dopytov sa zložitejšie, podľa vybraných položiek vo formulári poskladajú pomocou klauzuly INTERSECT, ktorá vlastne vytvára prienik medzi kritériami. Keďže API Sesame je veľmi dobre zdokumentované nevznikli v tomto smere žiadne ďalšie problémy. Na rozdiel od toho Cocoon obsahuje len základnú dokumentáciu a zložitejšie konštrukcie sa v ňom vytvárajú ťažšie. Na vkladanie hodnôt premenných, ktoré boli zistené, či už na základe vstupu od používateľa alebo s ontologického úložiska, do šablón dokumentov som použil jazyk JXTemplate pre JX Generátor. Nie len ponuky, ktoré boli nájdené ale aj celé riadky tabuľky výsledkov hľadania sa musia generovať dynamicky. Výsledky sme ukladali do poľa znakových reťazcov a ich počet teda určuje počet riadkov tabuľky výsledkov. Môžeme tak tabuľku generovať konštrukciou ForEach. Tá však v dokumentácii Cocoonu umožňuje cyklus len na základe jednej premennej poľa. My sme potrebovali zobrazovať v každom riadku hodnoty 3 polí: firmu, ktorá ponuku zadala, názov ponuky a odkaz na detail. Umožní to nasledujúca konštrukcia: <jx:foreach var="item" items="${rid}" varstatus="status"> <tr><td>${status.count}.</td> <td>${rpozicia[status.index]}</td> <td>${rfirma[status.index]}</td> <td align="right"> <a href="${rid[status.index]}.result.${status.count}" target="_blank">more...</a> </td> </tr> </jx:foreach> Cyklus generuje riadky tabuľky o 4 bunkách na základe počtu nájdených pracovných ponúk premennej rid, ktorá obsahuje zoznam ich ID z ontológie. Premenná status.count je 29

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Spájanie tabuliek. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Spájanie tabuliek Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Úvod pri normalizácii rozdeľujeme databázu na viacero tabuliek prepojených cudzími kľúčmi SQL umožňuje tabuľky opäť spojiť

More information

Obsah. SOA REST REST princípy REST výhody prest. Otázky

Obsah. SOA REST REST princípy REST výhody prest. Otázky REST Peter Rybár Obsah SOA REST REST princípy REST výhody prest Otázky SOA implementácie WEB (1990) CORBA (1991) XML-RPC (1998) WS-* (1998) SOAP RPC/literal SOAP Document/literal (2001) REST (2000) SOA

More information

Registrácia účtu Hik-Connect

Registrácia účtu Hik-Connect Registrácia účtu Hik-Connect Tento návod popisuje postup registrácie účtu služby Hik-Connect prostredníctvom mobilnej aplikácie a webového rozhrania na stránke www.hik-connect.comg contents in this document

More information

Aplikačný dizajn manuál

Aplikačný dizajn manuál Aplikačný dizajn manuál Úvod Aplikačný dizajn manuál je súbor pravidiel vizuálnej komunikácie. Dodržiavaním jednotných štandardov, aplikácií loga, písma a farieb pri prezentácii sa vytvára jednotný dizajn,

More information

kucharka exportu pro 9FFFIMU

kucharka exportu pro 9FFFIMU požiadavky na export kodek : Xvid 1.2.1 stable (MPEG-4 ASP) // výnimočne MPEG-2 bitrate : max. 10 Mbps pixely : štvorcové (Square pixels) rozlíšenie : 1920x1080, 768x432 pre 16:9 // výnimočne 1440x1080,

More information

Databázové systémy. SQL Window functions

Databázové systémy. SQL Window functions Databázové systémy SQL Window functions Scores Tabuľka s bodmi pre jednotlivých študentov id, name, score Chceme ku každému doplniť rozdiel voči priemeru 2 Demo data SELECT * FROM scores ORDER BY score

More information

VYLEPŠOVANIE KONCEPTU TRIEDY

VYLEPŠOVANIE KONCEPTU TRIEDY VYLEPŠOVANIE KONCEPTU TRIEDY Typy tried class - definuje premenné a metódy (funkcie). Ak nie je špecifikovaná inak, viditeľnosť členov je private. struct - definuje premenné a metódy (funkcie). Ak nie

More information

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator

Anycast. Ľubor Jurena CEO Michal Kolárik System Administrator Anycast Ľubor Jurena CEO jurena@skhosting.eu Michal Kolárik System Administrator kolarik@skhosting.eu O nás Registrátor Webhosting Serverové riešenia Správa infraštruktúry Všetko sa dá :-) Index Čo je

More information

Copyright 2016 by Martin Krug. All rights reserved.

Copyright 2016 by Martin Krug. All rights reserved. MS Managed Service Copyright 2016 by Martin Krug. All rights reserved. Reproduction, or translation of materials without the author's written permission is prohibited. No content may be reproduced without

More information

Riešenia a technológie pre jednotnú správu používateľov

Riešenia a technológie pre jednotnú správu používateľov Riešenia a technológie pre jednotnú správu používateľov Radovan Semančík Agenda Úvod: Identity Crisis Technológie správy používateľov Postup nasadenia Záver Súčasný stav IT Security Nekonzistentné bezpečnostné

More information

Vzory, rámce a webové aplikácie

Vzory, rámce a webové aplikácie Vzory, rámce a webové aplikácie Jakub Šimko jakub.simko@stuba.sk Návrhové vzory (načo slúžia?) 1. Dobré zvyky v programovaní 2. Riešia často sa opakujúce problémy praxou overeným spôsobom 3. Pomôžu nám

More information

1 Komplexný príklad využitia OOP

1 Komplexný príklad využitia OOP 1 Komplexný príklad využitia OOP Najčastejším využitím webových aplikácií je komunikácia s databázovým systémom. Komplexný príklad je preto orientovaný práve do tejto oblasti. Od verzie PHP 5 je jeho domovskou

More information

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára

REPORT DESIGNER 1 VYTVORENIE A ÚPRAVA FORMULÁRA. úprava formulárov v Money S4 / Money S Vytvorenie formulára REPORT DESIGNER úprava formulárov v Money S4 / Money S5 Informačný systém Money S4/S5 umožňuje upraviť tlačové zostavy tak, aby plne vyhovovali potrebám používateľa. Na úpravu tlačových zostáv slúži doplnkový

More information

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga.

Ochrana koncových staníc pomocou Cisco Security Agent 6.0. Ľubomír Varga. Ochrana koncových staníc pomocou Cisco Security Agent 6.0 Ľubomír Varga lubomir.varga@lynx.sk Agenda CSA 6.0 refresh Vybrané vlastnosti CSA 6.0 Application Trust levels Notify User Rule Actions User Justifications

More information

Databázy (1) Prednáška 11. Alexander Šimko

Databázy (1) Prednáška 11. Alexander Šimko Databázy (1) Prednáška 11 Alexander Šimko simko@fmph.uniba.sk Contents I Aktualizovanie štruktúry databázy Section 1 Aktualizovanie štruktúry databázy Aktualizácia štruktúry databázy Štruktúra databázy

More information

Manuál k programu FileZilla

Manuál k programu FileZilla Manuál k programu FileZilla EXO TECHNOLOGIES spol. s.r.o. Garbiarska 3 Stará Ľubovňa 064 01 IČO: 36 485 161 IČ DPH: SK2020004503 support@exohosting.sk www.exohosting.sk 1 Úvod EXO HOSTING tím pre Vás pripravil

More information

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c)

Jazyk SQL. Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) Jazyk SQL Jaroslav Porubän, Miroslav Biňas, Milan Nosáľ (c) 2011-2016 Jazyk SQL - Structured Query Language SQL je počítačový jazyk určený na komunikáciu s relačným SRBD neprocedurálny (deklaratívny) jazyk

More information

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca

TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca TP-LINK 150Mbps Wireless AP/Client Router Model TL-WR743ND Rýchly inštalačný sprievodca Obsah balenia TL-WR743ND Rýchly inštalačný sprievodca PoE injektor Napájací adaptér CD Ethernet kábel Systémové požiadavky

More information

Tvorba informačných systémov. 4. prednáška: Návrh IS

Tvorba informačných systémov. 4. prednáška: Návrh IS Tvorba informačných systémov 4. prednáška: Návrh IS Návrh informačného systému: témy Ciele návrhu ERD DFD Princípy OOP Objektová normalizácia SDD Architektonické pohľady UML diagramy Architektonické štýly

More information

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami)

Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) I2AI: Lecture 04 Constraint satisfaction problems (problémy s obmedzujúcimi podmienkami) Lubica Benuskova Reading: AIMA 3 rd ed. chap. 6 ending with 6.3.2 1 Constraint satisfaction problems (CSP) We w

More information

Spôsoby zistenia ID KEP

Spôsoby zistenia ID KEP Spôsoby zistenia ID KEP ID KEP (kvalifikovaný elektronický podpis) je možné zistiť pomocou napr. ovládacieho panela, prostredíctvom prehliadača Internet Expolrer, Google Chrome alebo Mozilla Firefox. Popstup

More information

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov

Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov Štruktúra údajov pre kontajner XML údajov 1. Dátové prvky pre kontajner XML údajov D.4 Kontajner XML údajov (XMLDataContainer) Príloha č. 11 k výnosu č. 55/2014 Z. z. [pridaná novelou č. 275/2014 Z. z.,

More information

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15

Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 Základná(umelecká(škola(Jána(Albrechta Topoľčianska(15 851(01(Bra@slava Titl.: Ján(Hrčka Bohrova(11 851(01(Bra@slava V(Bra@slave(21.11.2013 Vec:(Odpoveď(na(informácie(ohľadom(mandátnej(zmluvy(na(základe(Zákona(č.(211/2000(Zb.

More information

Poradové a agregačné window funkcie. ROLLUP a CUBE

Poradové a agregačné window funkcie. ROLLUP a CUBE Poradové a agregačné window funkcie. ROLLUP a CUBE 1) Poradové a agregačné window funkcie 2) Extrémy pomocou DENSE_RANK(), TOP() - Príklady 3) Spriemernené poradia 4) Kumulatívne súčty 5) Group By a Datepart,

More information

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP

Recipient Configuration. Štefan Pataky MCP, MCTS, MCITP Recipient Configuration Štefan Pataky MCP, MCTS, MCITP Agenda Mailbox Mail Contact Distribution Groups Disconnected Mailbox Mailbox (vytvorenie nového účtu) Exchange Management Console New User Exchange

More information

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka

D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu. Inštalačná príručka D.Signer prostriedok pre vytváranie zaručeného elektronického podpisu Inštalačná príručka Obsah 1 Predpoklady pre inštaláciu D.Signer... 3 1.1 Inštalácia.NET Framework... 3 1.1.1 Windows 8, 8.1... 4 1.1.2

More information

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec

Problém Big Data a ako ho riešiť pomocou NoSQL. Ján Zázrivec Softec Problém Big Data a ako ho riešiť pomocou NoSQL Ján Zázrivec Softec Dáta dnešného sveta Oblasti kde sa spracováva veľké množstvo dát: Internet Web vyhľadávače, Sociálne siete Veda Large Hadron Collider,

More information

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1

VLSM a CIDR. CCNA2 Kapitola Cisco Systems, Inc. All rights reserved. Cisco Public 1 VLSM a CIDR CCNA2 Kapitola 6 1 Trošku histórie Pred rokom 1981 IP adresy používali na špecifikáciu siete len prvých 8 bitov Rok1981, RFC 791 Zaviedol adresný priestor s tromi triedami adries Polovica 90

More information

Návod na odstránenie certifikátov so zrušenou platnosťou

Návod na odstránenie certifikátov so zrušenou platnosťou Návod na odstránenie certifikátov so zrušenou platnosťou Dátum zverejnenia: 7. 11. 2017 Verzia: 1 Dátum aktualizácie: Popis: Tento dokument je určený používateľom, ktorí elektronicky podpisujú dokumenty

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INFORMAČNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INFORMATION SYSTEMS IMPLEMENTACE

More information

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU

SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO BRATISLAVA Bakalárska práca SYSTÉM NA EVIDENCIU A KATEGORIZÁCIU ŠTANDARDIZAČNÝCH MATERIÁLOV Eva Porvazníková vedúci bakalárskej práce: Doc.

More information

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová

Ochrana proti DDoS za použitia open-source software. Katarína Ďurechová Ochrana proti DDoS za použitia open-source software Katarína Ďurechová katarina.durechova@nic.cz 30.11.2013 Distributed Denial of Service odopretie služby dosiahnutím limitu pripojenia sieťovej karty CPU

More information

Informatika 2. Generiká

Informatika 2. Generiká Informatika 2 Generiká Pojmy zavedené v 10. prednáške (1) štandardný vstup a výstup textové súbory binárne súbory objektové prúdy Informatika 2 1 Pojmy zavedené v 10. prednáške (2) objektové prúdy nečitateľné

More information

Testovanie bieleho šumu

Testovanie bieleho šumu Beáta Stehlíková FMFI UK Bratislava Opakovanie z prednášky Vygenerujeme dáta Vygenerujeme dáta: N

More information

Prvky inovácie nových jazykov HTML5 a CSS3

Prvky inovácie nových jazykov HTML5 a CSS3 Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Prvky inovácie nových jazykov HTML5 a CSS3 The HTML5 and CSS3 innovations concepts

More information

The Semantic Web. What is the Semantic Web?

The Semantic Web. What is the Semantic Web? The Semantic Web Alun Preece Computing Science, University of Aberdeen (from autumn 2007: School of Computer Science, Cardiff University) What is the Semantic Web, and why do we need it now? How does the

More information

Personalized Faceted Navigation in the Semantic Web

Personalized Faceted Navigation in the Semantic Web Personalized Faceted Navigation in the Semantic Web Michal Tvarožek, Mária Bieliková Institute of Informatics and Software Engineering, Faculty of Informatics and Information Technologies, Slovak University

More information

Programovanie v jazyku Python. Michal Kvasnica

Programovanie v jazyku Python. Michal Kvasnica Programovanie v jazyku Python Michal Kvasnica Organizačné detaily Prednášky aj cvičenia v 638 Povinná účasť na cvičeniach Hodnotenie: priebežné odovzdávanie zadaní (40% známky) záverečný projekt na skúške

More information

The Semantic Web Revisited. Nigel Shadbolt Tim Berners-Lee Wendy Hall

The Semantic Web Revisited. Nigel Shadbolt Tim Berners-Lee Wendy Hall The Semantic Web Revisited Nigel Shadbolt Tim Berners-Lee Wendy Hall Today sweb It is designed for human consumption Information retrieval is mainly supported by keyword-based search engines Some problems

More information

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona

Textový formát na zasielanie údajov podľa 27 ods. 2 písm. f) zákona Popis textového formátu a xsd schémy na zasielanie údajov podľa 27 ods. 2 písm. f) zákona (formu na zaslanie údajov si zvolí odosielateľ údajov) Textový formát na zasielanie údajov podľa 27 ods. 2 písm.

More information

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM?

PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? PODPORNÉ PROSTRIEDKY PRE VERZIOVANIE: VHODNÝ VÝBER PRE NÁŠ TÍM? Budúcnosť je jasná, budúcnosť sú distribuované verziovacie systémy... alebo centralizované??? Balázs Nagy Slovenská technická univerzita

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU.

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU. UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY VÝUKOVÁ WEBOVÁ APLIKÁCIA NA PROGRAMOVANIE GPU Diplomová práca 2017 Bc. Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA

More information

Využití technologie Angular2 při vývoji webových aplikací. Bc. Juraj Štefan

Využití technologie Angular2 při vývoji webových aplikací. Bc. Juraj Štefan Využití technologie Angular2 při vývoji webových aplikací Bc. Juraj Štefan Diplomová práce 2017 ABSTRAKT Táto diplomová práca sa zaoberá návrhom a vývojom webovej aplikácie použitím prístupu MEAN stack.

More information

Databázové systémy. 10. prednáška. NoSQL databázy Viktor Škultéty, ESTEN s.r.o.

Databázové systémy. 10. prednáška. NoSQL databázy Viktor Škultéty, ESTEN s.r.o. Databázové systémy 10. prednáška NoSQL databázy 26.4.2016 Viktor Škultéty, ESTEN s.r.o. 1 Prečo doteraz SQL a zrazu NoSQL? NoSQL - Not Only SQL znamená, že relačné systémy sú síce osvedčená technológia

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia dec.16 nov.16 okt.16 sep.16 aug.16 júl.16 jún.16 máj.16 apr.16 mar.16 feb.16 jan.16 Internetová populácia SR 12+ 3 728 988 3 718 495 3 718 802 3 711 581 3 700

More information

Knižnica (framework) pre kreslenie grafov

Knižnica (framework) pre kreslenie grafov Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Katedra informatiky Knižnica (framework) pre kreslenie grafov Diplomová práca Bc. Tomáš DRIMAL Študijný odbor: 9.2.1 Informatika

More information

Entity Framework: Úvod

Entity Framework: Úvod Entity Framework: Úvod Martin Macák Fakulta informatiky, Masarykova univerzita, Brno 29. 9. 2016 Osnova prednášky 1. Základy Entity Frameworku 2. Návrh databázy (detailnejšie Code First prístup) 3. Migrácie

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY PREVÁDZKA PORTÁLU PROJEKTOV VÝUKOVEJ ROBOTIKY CENTROBOT Bakalárska práca 2015 Denis Spišák UNIVERZITA KOMENSKÉHO V BRATISLAVE

More information

The Semantic Planetary Data System

The Semantic Planetary Data System The Semantic Planetary Data System J. Steven Hughes 1, Daniel J. Crichton 1, Sean Kelly 1, and Chris Mattmann 1 1 Jet Propulsion Laboratory 4800 Oak Grove Drive Pasadena, CA 91109 USA {steve.hughes, dan.crichton,

More information

Adding formal semantics to the Web

Adding formal semantics to the Web Adding formal semantics to the Web building on top of RDF Schema Jeen Broekstra On-To-Knowledge project Context On-To-Knowledge IST project about content-driven knowledge management through evolving ontologies

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

POKROČILÉ C++ Marian Vittek

POKROČILÉ C++ Marian Vittek POKROČILÉ C++ Marian Vittek vittek@fmph.uniba.sk O predmete Pôvodne seminár Teraz normálna prednáška so skúškou/testom Predmetom kurzu je detailnejší pohľad na jazyk C++ a občasné porovnanie s inými programovacími

More information

Coordinates ordering in parallel coordinates views

Coordinates ordering in parallel coordinates views Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Coordinates ordering in parallel coordinates views Bratislava, 2011 Lukáš Chripko Univerzita Komenského v Bratislave Fakulta

More information

Grid Computing Implementácia služby v Globus Toolkite (Diplomová práca)

Grid Computing Implementácia služby v Globus Toolkite (Diplomová práca) Katedra Informatiky Fakulta Matematiky, Fyziky a Informatiky Univerzita Komenského, Bratislava Grid Computing Implementácia služby v Globus Toolkite (Diplomová práca) Bc. Peter Bajči Školiteľ: RNDr. Andrej

More information

MERANIE SOFTVÉRU. Jakub Šimko MSI

MERANIE SOFTVÉRU. Jakub Šimko MSI Slovenská Technická Univerzita v Bratislave Fakulta Informatiky a Informačných Technológií Jakub Šimko jsimko@fiit.stuba.sk MERANIE SOFTVÉRU 9.10.2012 MSI Meranie a metriky Kto by mal dávať pozor? Predsa

More information

prest framework pre webové aplikácie a služby

prest framework pre webové aplikácie a služby prest framework pre webové aplikácie a služby Peter Rybár Centaur s.r.o. Situácia v korporátnej sfére Dominuje technológia a nie architektúra Situácia na Webe Dominuje architektúra ROA REST štýl softvérovej

More information

Aplikácia na prezentovanie multimediálneho obsahu na TV

Aplikácia na prezentovanie multimediálneho obsahu na TV Masarykova univerzita Fakulta informatiky Aplikácia na prezentovanie multimediálneho obsahu na TV Diplomová práca Bc. Marián Varaga Brno, jar 2017 Namiesto tejto stránky vložte kópiu oficiálneho podpísaného

More information

Platforma průmyslové spolupráce

Platforma průmyslové spolupráce Platforma průmyslové spolupráce CZ.1.07/2.4.00/17.0041 Název CEP portál pro simulaci Popis a využití komplexní zpracování událostí (CEP) aplikace pro spouštění CEP pravidel a sledování výstupů na předpřipraveném

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION ÚSTAV TELEKOMUNIKACÍ DEPARTMENT OF TELECOMMUNICATIONS

More information

Tvorba webových stránok pre mobilné platformy

Tvorba webových stránok pre mobilné platformy Bankovní institut vysoká škola Praha zahraničná vysoká škola Banská Bystrica Tvorba webových stránok pre mobilné platformy Diplomová práca Bc. Andrej Ševčík Apríl 2014 Bankovní institut vysoká škola Praha

More information

Government Cloud. Stratégia využitia Cloud Computing-u vo Verejnej správe SR. Peter Kišša

Government Cloud. Stratégia využitia Cloud Computing-u vo Verejnej správe SR. Peter Kišša Government Cloud Stratégia využitia Cloud Computing-u vo Verejnej správe SR Peter Kišša Prečo? Aug, 2011 - Amazon launches US government cloud designed to meet the regulatory requirements of U.S. government

More information

Xamarin písanie Android a ios aplikácií v C#

Xamarin písanie Android a ios aplikácií v C# www.dotnetcollege.cz Xamarin písanie Android a ios aplikácií v C# Roman Jašek Software Architect, Riganti s.r.o. MSP, MCP roman.jasek@riganti.cz Xamarin vs. Xamarin Forms ios C# UI Android C# UI Windows

More information

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia

Microsoft Azure platforma pre Cloud Computing. Juraj Šitina, Microsoft Slovakia Microsoft Azure platforma pre Cloud Computing Juraj Šitina, Microsoft Slovakia m Agenda Cloud Computing Pohľad Microsoftu Predstavujeme platformu Microsoft Azure Benefity Cloud Computingu Microsoft je

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV

BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV SLOVENSKÁ TECHNICKÁ UNIVERZITA Fakulta informatiky a informačných technológií BÁZA ZNALOSTÍ A ZRUČNOSTÍ ŠTUDENTOV (Tímový projekt) Dokumentácia k projektu Tím č.10 ČERNÉ OFCE: Bc. Martin Macko Bc. Martin

More information

BAKALÁŘSKÁ PRÁCE. Michal Gajdoš Editor OWL

BAKALÁŘSKÁ PRÁCE. Michal Gajdoš Editor OWL Univerzita Karlova v Praze Matematicko-fyzikální fakulta BAKALÁŘSKÁ PRÁCE Michal Gajdoš Editor OWL Katedra softwarového inženýrství Vedoucí bakalářské práce: Mgr. Martin Nečaský Studijní program: Informatika,

More information

Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive web applications using the Silverlight

Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive web applications using the Silverlight Bankovní institut vysoká škola Praha Zahraničná vysoká škola Banská Bystrica Katedra kvantitatívnych metód a informatiky Tvorba webových interaktívnych aplikácií pomocou nástroja Silverlight Interactive

More information

WEBOVÝ MODUL NA SPRÁVU DOVOLENKY

WEBOVÝ MODUL NA SPRÁVU DOVOLENKY WEBOVÝ MODUL NA SPRÁVU DOVOLENKY Róbert Lanák Ústav informatizácie, automatizácie a matematiky Oddelenie informatizácie a riadenia procesov Fakulta chemickej a potravinárskej technológie Slovenská Technická

More information

PB138 Metadata Describing XML Resources. (C) 2018 Masaryk University --- Tomáš Pitner, Luděk Bártek, Adam Rambousek

PB138 Metadata Describing XML Resources. (C) 2018 Masaryk University --- Tomáš Pitner, Luděk Bártek, Adam Rambousek PB138 Metadata Describing XML Resources (C) 2018 Masaryk University --- Tomáš Pitner, Luděk Bártek, Adam Rambousek Metadata Frameworks Describing the XML and Data Resources What is Metadata "Data about

More information

Mesačná kontrolná správa

Mesačná kontrolná správa Mesačná kontrolná správa Štrukturálna štúdia mar.18 feb.18 jan.18 dec.17 nov.17 okt.17 sep.17 aug.17 júl.17 jún.17 máj.17 apr.17 mar.17 Internetová populácia SR 12+ 3 904 509 3 802 048 3 870 654 3 830

More information

Ekonomický pilier TUR

Ekonomický pilier TUR Názov indikátora: HDP na obyvateľa Zaradenie indikátora v DPSIR štruktúre: Základné informácie: SR Definícia Hrubý domáci produkt vyjadrovaný ako celková peňažná hodnota statkov a služieb vytvorených za

More information

Xerox PARC the office of the future. Michal Winczer

Xerox PARC the office of the future. Michal Winczer Xerox PARC 1970-80 the office of the future Michal Winczer Čo to je? Kde to je? PARC = Palo Alto Research Center Čo bolo pred tým Vojna vo Vietname Hnutie hippies Úspechy XEROXu s kopírkami Neexistencia

More information

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti

Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky. Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Interaktívna výuková webová aplikácia na riešenie úloh o pravdepodobnosti Bakalárska práca 2016 Zuzana Majeríková Univerzita

More information

ZADANIE SEMESTRÁLNEHO PROJEKTU

ZADANIE SEMESTRÁLNEHO PROJEKTU SLOVENSKÁ TECHNICKÁ UNIVERZITA V BRATISLAVE Fakulta informatiky a informačných technológií STU Ústav počítačových systémov a sietí ZADANIE SEMESTRÁLNEHO PROJEKTU Predmet: VNORENÉ SYSTÉMY Riešitelia: Bc.

More information

Fakulta elektrotechniky a informatiky

Fakulta elektrotechniky a informatiky Slovenská technická univerzita v Bratislave Fakulta elektrotechniky a informatiky Študijný odbor: INFORMATIKA Peter Liczki Internetovský vyhľadávací program Diplomová práca Vedúca diplomovej práce: Ing.

More information

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém

Crestron Mercury. Univerzálny Videokonferenčný a Kolaboračný systém Crestron Mercury Univerzálny Videokonferenčný a Kolaboračný systém Tradičná malá zasadacia miestnosť CRESTRON Mercury Videokonferenčná miestnosť Možnosť rezervácie miestnosti: Prostredníctvom MS Outlook

More information

Technológie sémantického webu

Technológie sémantického webu Technológie sémantického webu Ing. Július ŠTULLER, CSc., Ústav informatiky Akademie věd ČR, v.v.i. www.cs.cas.cz/stuller stuller@cs.cas.cz Ing. Roman ŠPÁNEK, PhD., / Ing. Pavel TYL, Ing. Alena GREGOROVÁ

More information

Hodnotenie kvality produktu

Hodnotenie kvality produktu Hodnotenie kvality produktu (2012/2013) Obsah 1. Úvod... 3 2. ISO 9126: Meranie kvality softvérového produktu... 3 2.1 ISO 9126-1: Model kvality... 4 2.2 ISO TR 9126-2: Externé metriky... 6 2.3 ISO TR

More information

Databázy (1) Prednáška 08. Alexander Šimko

Databázy (1) Prednáška 08. Alexander Šimko Databázy (1) Prednáška 08 Alexander Šimko simko@fmph.uniba.sk Contents I Subqueries (poddopyty) konštrukcia WITH Section 1 Subqueries (poddopyty) Subquery (poddopyt) Použitie SELECTu na mieste, kde sme

More information

MS Exchange 2010 Prechod Ing. Peter Záhradník

MS Exchange 2010 Prechod Ing. Peter Záhradník MS Exchange 2010 Prechod Ing. Peter Záhradník Gratex Support Center support@gratex.com Exchange 2010 o com to bude? Tato prezentacia bude pre ludi co uvazuju nad prechodom na novy Exchange zopar otazok

More information

Semantic Web Fundamentals

Semantic Web Fundamentals Semantic Web Fundamentals Web Technologies (706.704) 3SSt VU WS 2018/19 with acknowledgements to P. Höfler, V. Pammer, W. Kienreich ISDS, TU Graz January 7 th 2019 Overview What is Semantic Web? Technology

More information

MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL

MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL MATLAB EXCEL BUILDER A NÁVRH PID REGULÁTOROV PRE PROSTREDIE MS EXCEL Martin Foltin, Ivan Sekaj Fakulta elektrotechniky a informatiky, Slovenská Technická Univerzita, Ilkovičova 3, 812 19 Bratislava, Slovenská

More information

Server pre systém na detekciu indikátorov kompromitácie

Server pre systém na detekciu indikátorov kompromitácie Univerzita Komenského v Bratislave Fakulta matematiky, fyziky a informatiky Server pre systém na detekciu indikátorov kompromitácie Bakalárska práca 2016 Michal Fikar Univerzita Komenského v Bratislave

More information

Kamera. Sieťová klenbová kamera. Rýchla používateľská príručka---po slovensky. Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I),

Kamera. Sieťová klenbová kamera. Rýchla používateľská príručka---po slovensky. Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I), Kamera Sieťová klenbová kamera Rýchla používateľská príručka---po slovensky Táto rýchla príručka sa vzťahuje na: DS-2CD2112-(I), UD.6L0201B1254A01EU 1 Regulačné informácie Vyhlásenie o súlade s normami

More information

Portál pre odborné publikovanie ISSN

Portál pre odborné publikovanie ISSN 1 Portál pre odborné publikovanie ISSN 1338-0087 PRADO framework Liner Lukáš Informačné technológie, Študentské práce 08.02.2013 PRADO framework je objektovo orientovaný framework, určený na rýchly vývoj

More information

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No Marek BABIUCH *, Martin HNIK **

Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No Marek BABIUCH *, Martin HNIK ** Transactions of the VŠB Technical University of Ostrava, Mechanical Series No. 2, 2009, vol. LV, article No. 1680 Marek BABIUCH *, Martin HNIK ** USING TECHNOLOGY OF.NET WEB SERVICES IN THE AREA OF AUTOMATION

More information

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu

Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Podporované grantom z Islandu, Lichtenštajnska a Nórska prostredníctvom Finančného mechanizmu EHP a Nórskeho finančného mechanizmu Závereč ný workshop projektu INEDU-GOV Inovatívne vzdelávanie pracovníkov

More information

DICOM Štandard pre vytváranie, ukladanie, tlač a prenos obrazových informácií v zdravotníctve

DICOM Štandard pre vytváranie, ukladanie, tlač a prenos obrazových informácií v zdravotníctve DICOM Štandard pre vytváranie, ukladanie, tlač a prenos obrazových informácií v zdravotníctve (Angl. DICOM - Digital Imaging and Communications in Medicine) Štandard DICOM je informačný technologický štandard,

More information

DOPLNĚK PRO PROHLÍŽEČE PRO DETEKCI A ZP- RACOVÁNÍ AUDIO A VIDEO STREAMŮ BROWSER EXTENSION FOR AUDIO/VIDEO STREAM PROCESSING

DOPLNĚK PRO PROHLÍŽEČE PRO DETEKCI A ZP- RACOVÁNÍ AUDIO A VIDEO STREAMŮ BROWSER EXTENSION FOR AUDIO/VIDEO STREAM PROCESSING VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULTIMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

VŠB Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky. Katedra informatiky

VŠB Technická univerzita Ostrava. Fakulta elektrotechniky a informatiky. Katedra informatiky VŠB Technická univerzita Ostrava Fakulta elektrotechniky a informatiky Katedra informatiky Absolvování individuální odborné praxe Individual Professional Practice in the Company 2012 Alexander Dračka Prehlasujem,

More information

Aplikácia k určovaniu rastlín pre platformu ios

Aplikácia k určovaniu rastlín pre platformu ios Mendelova univerzita v Brně Provozně ekonomická fakulta Aplikácia k určovaniu rastlín pre platformu ios Bakalárska práca Vedúci práce: Ing. Dita Dlabolová Jakub Kozák Brno 2014 Na tomto mieste by som

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV POČÍTAČOVÉ GRAFIKY A MULITMÉDIÍ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF COMPUTER GRAPHICS AND

More information

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ. Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií DIPLOMOVÁ PRÁCE Brno, 2016 Bc. Michal Paulech VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY

More information

Návrhové vzory. Poznámky k prednáškam z predmetu Objektovo-orientované programovanie. Valentino Vranić.

Návrhové vzory. Poznámky k prednáškam z predmetu Objektovo-orientované programovanie. Valentino Vranić. Návrhové vzory Poznámky k prednáškam z predmetu Objektovo-orientované programovanie Valentino Vranić http://fiit.sk/~vranic/, vranic@stuba.sk Ústav informatiky a softvérového inžinierstva Fakulta informatiky

More information

Semantic Web Fundamentals

Semantic Web Fundamentals Semantic Web Fundamentals Web Technologies (706.704) 3SSt VU WS 2017/18 Vedran Sabol with acknowledgements to P. Höfler, V. Pammer, W. Kienreich ISDS, TU Graz December 11 th 2017 Overview What is Semantic

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Progresívne meše v Unity Roman Vrecník

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY. Progresívne meše v Unity Roman Vrecník UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Progresívne meše v Unity 2016 Roman Vrecník UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY, FYZIKY A INFORMATIKY Progresívne

More information

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY FYZIKY A INFORMATIKY. Moderné trendy pri tvorbe webových aplikácií

UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY FYZIKY A INFORMATIKY. Moderné trendy pri tvorbe webových aplikácií UNIVERZITA KOMENSKÉHO V BRATISLAVE FAKULTA MATEMATIKY FYZIKY A INFORMATIKY Moderné trendy pri tvorbe webových aplikácií Bratislava 2007 Miloš Homola Moderné trendy pri tvorbe webových aplikácií DIPLOMOVÁ

More information

A General Approach to Query the Web of Data

A General Approach to Query the Web of Data A General Approach to Query the Web of Data Xin Liu 1 Department of Information Science and Engineering, University of Trento, Trento, Italy liu@disi.unitn.it Abstract. With the development of the Semantic

More information

Dokumentácia projektu

Dokumentácia projektu Slovenská technická univerzita Fakulta informatiky a informačných technológií Ilkovičova 3, 842 16 Bratislava 4 Dokumentácia projektu Portálový rámec na báze technológií.net a webu so sémantikou Študijný

More information