150 likes | 228 Views
Tvorba nezávislého rozhrania pre ontologickú organizačnú pamäť. René Pázman Softec s.r.o. Cieľ a obsah. Cieľ ukázať, ako sa dá postupovať pri tvorbe ontologického rozhrania organizačnej pamäte (OP) Obsah pozadie vzniku OP požiadavky na rozhranie princípy návrhu rozhrania použitie vzorov
E N D
Tvorba nezávislého rozhrania pre ontologickú organizačnú pamäť René PázmanSoftec s.r.o.
Cieľ a obsah • Cieľ • ukázať, ako sa dá postupovať pri tvorbe ontologického rozhrania organizačnej pamäte (OP) • Obsah • pozadie vzniku OP • požiadavky na rozhranie • princípy návrhu rozhrania • použitie vzorov • zhodnotenie Nezávislé ontologické rozhranie, WIKT
Pozadie vzniku OP • Projekt NAZOU • Nástroje pre získavanie, organizovanie a udržovanie znalostí v prostredí heterogénnych informačných zdrojov • štátna úloha výskumu a vývoja • Cieľ: vývoj metód a nástrojov • získavanie, organizovanie, udržiavanie a poskytovanie informácií z internetu • v zvolenej informačnej doméne: poskytovanie a vyhľadávanie pracovných ponúk • informácie sú uložené v systéme • cieľová forma reprezentácie informácií sú štruktúrované dáta (ontológia) Nezávislé ontologické rozhranie, WIKT
Pozadie vzniku OP • Pôvodný návrh architektúry: tesná funkčná spolupráca nástrojov • návrh podsystémov, prípadov použitia a komponentov • zovšeobecnená doména ponúk s archetypmi aktérov a dát – ponuka, producent a konzument • doménovo špecifický prístup k údajom • Problémy • distribuovanosť a nehomogénnosť vývoja • nejasnosť cieľovej funkčnosti • zameranie na vývoj metód • potreba opakovaného použitia nástrojov • v iných doménach • v inej zostave Nezávislé ontologické rozhranie, WIKT
Pozadie vzniku OP • Aktuálny stav: individuálne nástroje spolupracujúce na dátovej úrovni • nástroje navzájom málo závislé • oddelený vývoj nástrojov • architektúra štýlu tabuľa (blackboard) • potreba spoločnej organizačnej pamäte (OP) • OP je prostriedok, nie primárny predmet výskumu Nástroj A Nástroj B Nástroj C Nástroj D Nástroj E OP – tabuľa Nezávislé ontologické rozhranie, WIKT
Architektúra OP Organizačná pamäť Interakčná vrstva XML-RPC konektor / Webové služby / Java konektor Manipulačná vrstva Súborové API Databázové (SQL) API Ontologické API Fyzická vrstva Úložisko súborov Relačné (SQL) úložisko Ontologické úložisko Nezávislé ontologické rozhranie, WIKT
Architektúra OP • Implementačný jazyk – Java • OS (úložisko súborov) – Linux • Relačné úložisko – MySQL • Ontologické úložisko – Sesame • firma Softec (+ ostatní riešitelia): rozhranie Nezávislé ontologické rozhranie, WIKT
Požiadavky na rozhranie • Nezávislosť od informačnej domény • v projekte používame doménu pracovných ponúk • jadro nástrojov je implementované nezávisle od informačnej domény • takto sa navrhla architektúra nástroja, keď sa upustilo od pôvodnej architektúry systému • väčšinou nezávislé aj od zovšeobecnenej domény ponúk • Nezávislosť od úložiska • Sesame, Jena, ... • Jednoduchosť • ľahké a zrozumiteľné použitie v nástrojoch • Zachovanie výkonnosti • Univerzálnosť • poskytovať všetky potrebné možnosti úložiska • primárne: vyhľadávanie pomocou špecializovaných jazykov • sekundárne: práca s indivíduami, grafmi, výrokmi Nezávislé ontologické rozhranie, WIKT
Rozhranie pre vyhľadávanie Nezávislé ontologické rozhranie, WIKT
Použitie vzorov • Adapter (Wrapper) pattern • 4 krát použité pre dotazovanie • QueryResultsTable je 2-krát v roli Adaptee • raz reprezentuje zoznam riadkov • raz reprezentuje jeden riadok Nezávislé ontologické rozhranie, WIKT
Použitie vzorov • Abstract Factory pattern • použité pri vytváraní inštancií danej implementácie • MemorySesame a iné (indivíduum, výrok, RDF graf) • výber implementácie je riadený nastavením v konfiguračnom súbore • Singleton pattern • používané pre vytváranie ontologickej OP pri testovaní • Dependency Injection pattern • pripravené na použitie pre vytváranie a propagovanie ontologickej OP pri behu aplikácie • alternatíva k Abstract Factory pattern • význam najmä pre inštancie IOntoMemory • Facade pattern – čiastočne • zjednodušuje prácu s ontológiou (generics) • schováva rozhranie konkrétneho úložiska • redukuje závislosti na zmenách úložísk Nezávislé ontologické rozhranie, WIKT
Zhodnotenie • Spĺňa stanovené požiadavky • nezávislé • jednoduché a prehľadné • efektívne • netransformuje zbytočne výsledky vyhľadávania • Obsahuje aj ďalšie podobne realizované triedy • pre prácu s RDF grafmi, výrokmi (statement) a inštanciami (individual) • Realizované pre Sesame • teoreticky rozšíriteľné na Jenu a pod. • Zatiaľ skoro žiadna funkčnosť navyše Nezávislé ontologické rozhranie, WIKT
Budúcnosť • Dopracovanie rozhrania • napr. jednoduchšia práca s literálmi • rozširovanie na ďalšie funkcie Sesame API • dokumentácia • Systémová nadstavba • udržiavanie dát • procesy spracovania • dátovo riadená komunikácia medzi nástrojmi • mala by byť doménovo nezávislá • Doménová nadstavba? • nerozhodnuté, skôr nie – doménová nezávislosť je dôležitá • maximálne špecifickosť na niektorých všeobecnejších častiach domény – ponuky, všeobecný model používateľa Nezávislé ontologické rozhranie, WIKT
Použité zdroje • Projekt NAZOU – webové sídlo – http://nazou.fiit.stuba.sk/. • P. Návrat et al. (2006). Tools for Acquisition, Organisation and Presenting of Information and Knowledge. Workshop at ITAT’06. • E. Gamma – R. Helm – R. Johnson – J. Vlissides (1997). Design Patterns: Elements of Reusable Object-Oriented Software. • Sesame home page – http://www.openrdf.org/. Nezávislé ontologické rozhranie, WIKT
Ďakujem za pozornosť. Nezávislé ontologické rozhranie, WIKT