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