sprawozdanie
Transkrypt
sprawozdanie
Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki K ATEDRA AUTOMATYKI S PRAWOZDANIE T OMASZ D RZEWIECKI , J OANNA G AJDA S PRAWOZDANIE 1: I NTRO , XML Kraków 2012 Spis treści 1. Intro................................................................................................................................................. 3 1.1. Extracting RDF metadata ...................................................................................................... 3 1.2. Common Vocabularies........................................................................................................... 5 1.2.1. SKOS.......................................................................................................................... 5 1.2.2. Dublin Core................................................................................................................ 5 1.2.3. FOAF.......................................................................................................................... 6 1.2.4. DOAP ......................................................................................................................... 6 1.3. FOAF ..................................................................................................................................... 6 1.4. Schemas ................................................................................................................................. 8 1.5. Ontology visualisation........................................................................................................... 8 1.6. Ontology reasoning ............................................................................................................... 8 1.7. Linked Open Data.................................................................................................................. 10 1.8. Semantic Web tools ............................................................................................................... 10 1.8.1. RDFizers .................................................................................................................... 10 1.8.2. Semantic Web browsers ............................................................................................. 10 1.8.3. Semantic Web Search Engines................................................................................... 10 1.8.4. Applications of the Linked Data ................................................................................ 10 1.9. Control Questions .................................................................................................................. 11 1.9.1. How one can add semantic annotation to a web page?.............................................. 11 1.9.2. Explain the Semantic Web Stack of technologies...................................................... 11 1.9.3. What is the main syntax for RDF? What are its advantages over other syntaxes? .... 11 1.9.4. What is the role of the ontologies in the Semantic Web? .......................................... 11 1.9.5. What are the 4 principles of Linked Data? ................................................................ 11 2. XML ................................................................................................................................................ 12 2.1. Warm-up ................................................................................................................................ 12 2.2. Creating XML Document...................................................................................................... 16 2.3. DTD ....................................................................................................................................... 16 2.4. XSD ....................................................................................................................................... 16 2 1. Intro 1.1. Extracting RDF metadata Wynik walidatora: „Your RDF document validated successfully.” Trójki: Number Subject Predicate Object 1 http://www.w3.org/RDF/- http://www.w3.org/2000/10/- http://www.kanzaki.com/- Validator/run/1336492199211 annotation-ns#annotates works/2004/imgdsc/miniduck_by_ccc.jpg 2 3 4 http://www.w3.org/RDF/- http://www.w3.org/2000/10/- “Asia i Tomek” Validator/run/1336492199211 annotation-ns#author http://www.w3.org/RDF/- http://www.w3.org/2000/10/- Validator/run/1336492199211 annotation-ns#created http://www.kanzaki.com/- http://www.w3.org/1999/02/22- http://xmlns.com/foaf/0.1/- works/2004/imgdsc/- rdf-syntax-ns#type Image http://www.kanzaki.com/- http://purl.org/dc/elements/1.1/- “Sztuczne kaczki” works/2004/imgdsc/- title “2012-05-08T15:45:04Z” miniduck_by_ccc.jpg 5 miniduck_by_ccc.jpg 6 http://www.kanzaki.com/- http://purl.org/dc/elements/1.1/- “Zdj˛ecie przedstawia trzy works/2004/imgdsc/- description sztuczne kaczki.” http://www.kanzaki.com/- http://purl.org/dc/elements/1.1/- “nieznany” works/2004/imgdsc/- creator miniduck_by_ccc.jpg 7 miniduck_by_ccc.jpg 8 http://www.kanzaki.com/- http://purl.org/dc/elements/1.1/- works/2004/imgdsc/- date “08.05.2012” miniduck_by_ccc.jpg 9 http://www.kanzaki.com/- http://jibbering.com/vocabs/- works/2004/imgdsc/- image/#width miniduck_by_ccc.jpg 3 “300” 4 1.1. Extracting RDF metadata 10 http://www.kanzaki.com/- http://jibbering.com/vocabs/- works/2004/imgdsc/- image/#height “225” miniduck_by_ccc.jpg 11 http://www.w3.org/- http://www.w3.org/1999/02/22- http://jibbering.com/vocabs/- RDF/Validator/run/- rdf-syntax-ns#type image/#Rectangle http://www.kanzaki.com/- http://jibbering.com/vocabs/- http://www.w3.org/- works/2004/imgdsc/- image/#hasPart RDF/Validator/run/- 1336492199211#p1 12 miniduck_by_ccc.jpg 13 1336492199211#p1 http://www.w3.org/- http://jibbering.com/vocabs/- RDF/Validator/run/- image/#points “44,30 150,110” 1336492199211#p1 14 http://www.w3.org/- http://purl.org/dc/elements/1.1/- RDF/Validator/run/- title “Głowa kaczki” 1336492199211#p1 15 http://www.w3.org/- http://purl.org/dc/elements/1.1/- RDF/Validator/run/- description “Głowa sztucznej kaczki.” 1336492199211#p1 16 http://www.w3.org/- http://jibbering.com/vocabs/- RDF/Validator/run/- image/#depicts genid:A48335 1336492199211#p1 17 18 genid:A48335 http://purl.org/dc/elements/1.1/- “Sztuczne kaczki sa˛ używane description do kapieli.” ˛ http://www.w3.org/- http://www.w3.org/1999/02/22- http://jibbering.com/vocabs/- RDF/Validator/run/- rdf-syntax-ns#type image/#Rectangle http://www.kanzaki.com/- http://jibbering.com/vocabs/- http://www.w3.org/- works/2004/imgdsc/- image/#hasPart RDF/Validator/run/- 1336492199211#p2 19 miniduck_by_ccc.jpg 20 1336492199211#p2 http://www.w3.org/- http://jibbering.com/vocabs/- RDF/Validator/run/- image/#points “164,66 284,204” 1336492199211#p2 21 http://www.w3.org/- http://purl.org/dc/elements/1.1/- RDF/Validator/run/- title “Kaczka” 1336492199211#p2 22 http://www.w3.org/- http://purl.org/dc/elements/1.1/- RDF/Validator/run/- description 1336492199211#p2 T. Drzewiecki, J. Gajda Sprawozdanie 1 “Sztuczna kaczka.” 5 1.2. Common Vocabularies 23 http://www.w3.org/- http://jibbering.com/vocabs/- RDF/Validator/run/- image/#depicts genid:A48336 1336492199211#p2 24 genid:A48336 http://purl.org/dc/elements/1.1/- “Sztuczne kaczki sa˛ dobre do description kapieli.” ˛ Graf: graf przedstaiowny jest na rysunku 1.1. 1.2. Common Vocabularies 1.2.1. SKOS Zapewnia model dla wyrażania podstawowej struktury i zawartości słownictw kontrolowanych. Pozwala na udokumentowanie, linkowanie i łaczenie ˛ z innymi danymi tych zbiorów. Przykłady aplikacji: – Lexarus (http://www.k-int.com/products/lexauruseditor) - program do zarza˛ dzania słownikami również zapisanymi z użyciem SKOS, – ThManager (http://thmanager.sourceforge.net) - program do tworzenia i wizualizacji słowników SKOS. 1.2.2. Dublin Core Jest to słownik służacy ˛ do opisu dzieł kulturalnych takich jak ksia˛żki, albumy muzyczne, filmy. Przykłady aplikacji: – Dublin Core Generator (http://www.dublincoregenerator.com/) - program do generowania metadanych w stadardzie Dublin Core, – Omeka (http://omeka.org/) - program do publikowania archiwum cyfrowego z użyciem standardu Dublin Core. Rysunek 1.1: Graf dokumentu T. Drzewiecki, J. Gajda Sprawozdanie 1 6 1.3. FOAF 1.2.3. FOAF Projekt poświ˛econy łaczeniu ˛ ludzi i informacji poprzez sieć. Służy do opisu osoby, jej podstawowych danych (imi˛e, nazwisko, itp.) oraz gdzie pracuje lub si˛e uczy. Za pomoca˛ FOAF można stworzyć sieć społecznościowa.˛ Przykłady aplikacji: – Semantic Radar (https://addons.mozilla.org/en-US/firefox/addon/ semantic-radar/) - służy do powiadamiania użytkownika o tym, że na danej stronie sa˛ obecne metadane (m. in. FOAF), – Drupal (http://drupal.org/project/foaf) - dodatek pozwalajacy ˛ na użycie FOAF w programie Drupal. 1.2.4. DOAP Jest to słownik służacy do opisu projektów informatycznych, w szczególności open source. Przykłady aplikacji: – GNOME repositories (http://git.gnome.org/browse/) - projekt GNOME używa DOAP do opisu projektów w systemie kontroli wersji git, – Apache Software Foundation (http://projects.apache.org/) - używane jest do opisu i zarzadzania ˛ projektami fundacji. 1.3. FOAF Tomasz Drzewiecki: http://student.agh.edu.pl/~tomko/foaf.rdf < r d f : RDF xmlns : r d f = ‘ ‘ h t t p : / / www. w3 . o r g / 1 9 9 9 / 0 2 / 2 2 − r d f −s y n t a x −n s # ’ ’ xmlns : r d f < foaf : PersonalProfileDocument rdf : about =‘‘> < f o a f : maker r d f : r e s o u r c e = ’ ’#me ‘ ‘ / > < f o a f : p r i m a r y T o p i c r d f : r e s o u r c e = ’ ’#me ‘ ‘ / > <admin : g e n e r a t o r A g e n t r d f : r e s o u r c e = ’ ’ h t t p : / / www. l d o d d s . com / f o a f / f o a f −a−m a t i c <admin : e r r o r R e p o r t s T o r d f : r e s o u r c e = ’ ’ m a i l t o : l e i g h @ l d o d d s . com ‘ ‘ / > </ f o a f : P e r s o n a l P r o f i l e D o c u m e n t > < f o a f : P e r s o n r d f : ID = ’ ’me‘ ‘ > < f o a f : name> Tomasz D r z e w i e c k i </ f o a f : name> <foaf : t i t l e > Inz . </ f o a f : t i t l e > < f o a f : givenname > T. Drzewiecki, J. Gajda Sprawozdanie 1 1.3. FOAF 7 Tomasz </ f o a f : givenname > < f o a f : family_name > Drzewiecki </ f o a f : f a m i l y _ n a m e > < f o a f : nick > tomko </ f o a f : n i c k > < f o a f : mbox_sha1sum > ea97598497097d47f2090efaf6bce0c480f5978c </ f o a f : mbox_sha1sum > < f o a f : schoolHomepage r d f : r e s o u r c e = ’ ’ h t t p : / / www. agh . edu . p l ‘ ‘ / > < f o a f : knows > < f o a f : Person > < f o a f : name> Joanna Gajda </ f o a f : name> < f o a f : mbox_sha1sum > 5 bf5dea94ea3e9389731b2a2a71e7966f5152417 </ f o a f : mbox_sha1sum > < r d f s : s e e 0 l s o r d f : r e s o u r c e = ’ ’ h t t p : / / s t u d e n t . agh . edu . p l / ~ a g a j d a / f o a f . r d f ‘ ‘ / > </ f o a f : P e r s o n > </ f o a f : knows > </ f o a f : P e r s o n > </ r d f : RDF> Joanna Gajda: http://student.agh.edu.pl/~agajda/foaf.rdf < r d f : RDF xmlns : r d f = ‘ ‘ h t t p : / / www. w3 . o r g / 1 9 9 9 / 0 2 / 2 2 − r d f −s y n t a x −n s # ’ ’ xmlns : r < foaf : PersonalProfileDocument rdf : about =‘‘> < f o a f : maker r d f : r e s o u r c e = ’ ’#me ‘ ‘ / > < f o a f : p r i m a r y T o p i c r d f : r e s o u r c e = ’ ’#me ‘ ‘ / > <admin : g e n e r a t o r A g e n t r d f : r e s o u r c e = ’ ’ h t t p : / / www. l d o d d s . com / f o a f / f o a f −a−m a t <admin : e r r o r R e p o r t s T o r d f : r e s o u r c e = ’ ’ m a i l t o : l e i g h @ l d o d d s . com ‘ ‘ / > </ f o a f : P e r s o n a l P r o f i l e D o c u m e n t > < f o a f : P e r s o n r d f : ID = ’ ’me‘ ‘ > < f o a f : name> Joanna Gajda </ f o a f : name> <foaf : t i t l e > Inz . T. Drzewiecki, J. Gajda Sprawozdanie 1 1.4. Schemas 8 </ f o a f : t i t l e > < f o a f : givenname > Joanna </ f o a f : givenname > < f o a f : family_name > Gajda </ f o a f : f a m i l y _ n a m e > < f o a f : mbox_sha1sum > fb73faab6cd42a2f1789e4dca6a07eb1ccfa3440 </ f o a f : mbox_sha1sum > < f o a f : knows > < f o a f : Person > < f o a f : name> Tomasz D r z e w i e c k i </ f o a f : name> < f o a f : mbox_sha1sum > ea97598497097d47f2090efaf6bce0c480f5978c </ f o a f : mbox_sha1sum > < r d f s : s e e 0 l s o r d f : r e s o u r c e = ’ ’ h t t p : / / s t u d e n t . agh . edu . p l / ~ tomko / f o a f . r d f ‘ ‘ / > </ f o a f : P e r s o n > </ f o a f : knows > </ f o a f : P e r s o n > </ r d f : RDF> 1.4. Schemas Na wykresie 1.2 przedstawiono rozmiar ontologii w zależności od daty stworzenia. Z wykresu wynika, że rozmiar ontologii rósł i malał w latach 2000-2003. Nie widać żadnego znaczacego ˛ trendu w rozmiarze ontologii na przestrzeni czasu. 1.5. Ontology visualisation Program nie działa. 1.6. Ontology reasoning Program nie działa. T. Drzewiecki, J. Gajda Sprawozdanie 1 9 1.6. Ontology reasoning Rysunek 1.2: Wykres przedstawiajacy ˛ wielkość ontologii T. Drzewiecki, J. Gajda Sprawozdanie 1 1.7. Linked Open Data 10 1.7. Linked Open Data – The Open Library - Otwarta baza ksia˛żek. Niektóre sa˛ dost˛epne do wypożyczenia. – BBC Wildlife Finder - Baza informacji o zwierz˛etach i ich zwyczajach. Dodatkowo też sa˛ filmy, zdj˛ecia, itp. – ERA - Repozytorium semantyczne zawierajace ˛ dane linkowane przy pomocy RDF. Dane pochodza˛ z listy magazynów ARC czytanych przez Australijczyków. – LIBRIS - Strona pozwalajaca ˛ na wyszukiwanie ksia˛żek, muzyki itp. w bazach Szwedzkich bilbiotek uniwesyteckich i innych, zwiazanych ˛ z badaniami. – flickr wrappr - Służy do uzupełniania danych umieszocznych w DBpedii linkami rdf do zdj˛eć umieszczonych na flickr. Dla każdej pozycji w DBpedii generuje kolekcje obrazów z flickr przedstawiajace ˛ opisywana˛ pozycja.˛ 1.8. Semantic Web tools 1.8.1. RDFizers Najistotniejsze moga˛ być konwertery z Javadoc (zwłaszcza dla programistów), z JPEG do opisu zdj˛eć oraz z EMail w celu łatwiejszego wyszukiwania istotnych informacji oraz możliwości automatycznego katalogowania. Warto byłoby stworzyć konwerter z formatów dźwi˛ekowych jak MP3, FLAC. Ułatwiałoby to m. in. wyszukiwanie podobnej muzyki lub wyszukiwania wśród znanych utworów. 1.8.2. Semantic Web browsers Strona razorbase wyglada ˛ na nieczynna.˛ Zitgist RDF Browser nie działa. Po wprowadzeniu URI do własnego pliku FOAF, a także po właczeniu ˛ przykładu na stronie głównej wyst˛epuje bład. ˛ Link do iLOD prowadzi do podgladu ˛ katalogu na serwerze. Link do Fenfire prowadzi do pliku pdf z opisem projektu. Pozostałe przegladarki ˛ wydaja˛ si˛e działać. Zwłaszcza te działajace ˛ on-line jak Marbles i Quick & Dirty RDF Browser, za pomoca˛ których można było obejrzeć własne dokumenty FOAF. 1.8.3. Semantic Web Search Engines Wszystkie wyszukiwarki oferuja˛ prosty w obsłudze interfejs użytkownika, który pozwala na łatwe rozpocz˛ecie wyszukiwania. Wyszukiwanie podstawowych informacji w niektórych z nich jest proste. Cz˛eść z wymienionych wyszukiwarek nie działa. 1.8.4. Applications of the Linked Data Z oferowanych aplikacji na duża˛ uwag˛e zasługuja˛ BBC Programmes i BBC Music Beta. Ponadto godnym uwagi jest również ODSMail. T. Drzewiecki, J. Gajda Sprawozdanie 1 1.9. Control Questions 11 Przykładowa˛ aplikacja˛ tego rodzaju mógłby być program do zarzadzani ˛ dokumentami. 1.9. Control Questions 1.9.1. How one can add semantic annotation to a web page? W celu dodania informacji semantycznych do strony sieci Internet należy w nagłówku dokumentu html umieścić odnościk do treści semantycznych np. w formacie RDF. 1.9.2. Explain the Semantic Web Stack of technologies. Na dole stosu znajduja˛ si˛e pliki w formacie Unicode lub URI - identyfikator zasobu. Wyżej znajduja˛ si˛e informacje o powiazaniach ˛ pomi˛edzy konkretnymi zasobami w formacie RDF. Ponad tym znajduja˛ si˛e ontologie określajace ˛ klasy zasobów oraz powiazania ˛ pomi˛edzy nimi. Wyżej istnieje logika, pozwalajaca ˛ na wnioskowanie pewnych faktów. Powyżej sa˛ dowody. Na samym szczycie znajduje si˛e warstwa zaufania określajaca ˛ poziom zaufania do poszczególnych źródeł informacji. 1.9.3. What is the main syntax for RDF? What are its advantages over other syntaxes? Najpopularniejsza˛ składnia˛ RDF jest obecnie XML. Jest to spowodowane popularnościa˛ XML-a w innych dziedzinach informatyki oraz zwiazan ˛ a˛ z tym duża˛ liczba˛ bibliotek, programów do przetwarzania XML-a. 1.9.4. What is the role of the ontologies in the Semantic Web? Rola˛ ontologii w sieciach semantycznych jest określenie klas obiektów oraz powiazań ˛ pomi˛edzy nimi. 1.9.5. What are the 4 principles of Linked Data? 1. Użycie URI jako identyfikatora obiektu, 2. Użycie protokołu HTTP do określania URI dzi˛eki czemu dane moga˛ być dost˛epne fragmentami, dla ludzi i agentów, 3. Dostarczanie użytecznych informacji o obiekcie w przypadku, gdy URI odnosi si˛e do fragmentu obiektu, 4. Dołaczanie ˛ linków do innych obiektów w celu ulepszenia możliwości odkrywania powiazanych ˛ informacji. T. Drzewiecki, J. Gajda Sprawozdanie 1 2. XML 2.1. Warm-up – <a ><b / > < a > Niepoprawne, brak znaczników zamykajacych ˛ dla tagu a. – <a ><b> foo < / b > </ a ><a > b a r < / a > Niepoprawne, dokument XML może zawierać tylko jeden korzeń. – <a ><b> foo < / b><b> b a r < / a > Niepoprawne, brak znacznika zamykajacego ˛ dla tagu b. – <a ><b><c > foo < / b> b a r < / c > </ a > Niepoprawne, znacznik zamykajacy ˛ b wyst˛epuje przed znacznikiem zamykajacym ˛ c. – <a / > <b> foo < / b><b> b a r <b> Niepoprawne, dokument XML może zawierać tylko jeden korzeń. – <a ><b><c > foo < / c > baz <c > b a r < / c > </ b > </ a > Poprawne drzewo przedstawione na rysunku 2.1. – <a x = ‘ ‘ 1 ’ ’ X= ‘ ‘2 ’ ’ > < b> foo < / b > </ a > Poprawne drzewo przedstawione na rysunku 2.2. – <a x = ‘ ‘1 ’ ’ > < b x = ‘ ‘2 ’ ’ > foo < / b > </ a > Poprawne drzewo przedstawione na rysunku 2.3. – <a x = ‘ ‘ 1 ’ ’ y = ‘ ‘ 2 ’ ’ x = ‘ ‘3 ’ ’ > < b> foo < / b > </ a > Niepoprawne, atrybut x w znaczniku a wyst˛epuje dwukrotnie. – <a ><b x = ‘ ‘3 ’ ’ > < c y = ‘ ‘1 ’ ’ > foo < / c ><c > b a r < / c > </ b > </ a > Poprawne drzewo przedstawione na rysunku 2.4. 12 13 2.1. Warm-up Rysunek 2.1: Drzewo XML T. Drzewiecki, J. Gajda Sprawozdanie 1 14 2.1. Warm-up Rysunek 2.2: Drzewo XML Rysunek 2.3: Drzewo XML T. Drzewiecki, J. Gajda Sprawozdanie 1 15 2.1. Warm-up Rysunek 2.4: Drzewo XML T. Drzewiecki, J. Gajda Sprawozdanie 1 2.2. Creating XML Document 2.2. Creating XML Document <book > <author >Terry P r a t c h e t t </ author > < t i t l e >Blask Fantastyczny </ t i t l e > < d a t e >1995 </ d a t e > < t r a n s l a t o r > P i o t r W. Cholewa < / t r a n s l a t o r > < p u b l i s h e r > P r o s z y n s k i i S−ka < / p u b l i s h e r > </ book > 2.3. DTD <!DOCTYPE book [ <!ELEMENT book ( a u t h o r , t i t l e , d a t e , t r a n s l a t o r , p u b l i s h e r ) > <!ELEMENT a u t h o r ( #PCDATA) > <!ELEMENT t i t l e ( #PCDATA) > <!ELEMENT d a t e ( #PCDATA) > <!ELEMENT t r a n s l a t o r ( #PCDATA) > <!ELEMENT p u b l i s h e r ( #PCDATA) > ]> 2.4. XSD <? xml v e r s i o n = ‘ ‘ 1 . 0 ’ ’ ? > < x s : schema xmlns : x s = ‘ ‘ h t t p : / / www. w3 . o r g / 2 0 0 1 / XMLSchema’ ’ > < x s : e l e m e n t name = ‘ ‘ book ’ ’ > < x s : complexType > <xs : sequence > < x s : e l e m e n t name = ‘ ‘ a u t h o r ’ ’ t y p e = ‘ ‘ x s : s t r i n g ’ ’ / > < x s : e l e m e n t name = ‘ ‘ t i t l e ’ ’ t y p e = ‘ ‘ x s : s t r i n g ’ ’ / > < x s : e l e m e n t name = ‘ ‘ d a t e ’ ’ t y p e = ‘ ‘ x s : s t r i n g ’ ’ / > < x s : e l e m e n t name = ‘ ‘ t r a n s l a t o r ’ ’ t y p e = ‘ ‘ x s : s t r i n g ’ ’ / > < x s : e l e m e n t name = ‘ ‘ p u b l i s h e r ’ ’ t y p e = ‘ ‘ x s : s t r i n g ’ ’ / > </ x s : s e q u e n c e > </ x s : complexType > </ x s : e l e m e n t > T. Drzewiecki, J. Gajda Sprawozdanie 1 16 2.4. XSD </ x s : schema > T. Drzewiecki, J. Gajda Sprawozdanie 1 17