Title: Det semantiske web og XML
1Det semantiske web og XML
- Costanza Navarretta
- Center for Sprogteknologi, Københavns Universitet
- costanza_at_cst.dk
2Indhold
- hvad er det semantiske web?
- den oprindelige vision
- hvordan kan visionen realiseres?
- hvad har man gjort?
- fremtiden
- introduktion til XML
- elementer, attributter, opmærkning, velformede
dokumenter
3Hvad er det semantiske web?
- Initiativ fra W3C, et konsortium af offentlige og
private organisationer fra hele verden stiftet i
1994 ( MIT-CERN-DARPA-EU). - W3Cs overordnede formål er at forbedre udveksling
og anvendelsesmuligheder af resurser på nettet. - Det semantiske webs hjemmeside
-
4Visionen det semantiske web
- Fremtidsorienteret vision om et web hvor
dataresurserne kan anvendes på en "intelligent"
måde af både mennesker og maskiner, også i form
af agenter. Den viden som er gemt i data skal
udnyttes.
5Vision, behov og nutid
- Det semantiske web bygger på en vision, men
visionen kommer ud fra et reelt behov at kunne
udnytte den viden som er implicit i de store
mængder data som findes på internettet. - Det semantiske web er en igangværende udvidelse
af det web, som findes i dag.
6Hvordan kan visionen realiseres?
- Semantikken (betydningen) i resurserne på
internettet skal gøres eksplicit. - Resultatet vil være et netværk af semantisk
opmærket viden (det semantiske web). - For at kunne bruges af programmer, skal viden
være opmærket på standardiserede måder og
organiseret i fx domæne-specifikke ontologier,
som kunstige agenter kan anvende på tværs af
sprog og systemer.
73WC-initiativer
- Definition af et XML-baseret standardsprog for at
beskrive semantikken af resurserne (XML er
standardsyntaksen for resurser på internettet). - Definition af et XML-baseret standardsprog for at
formalisere ontologier. - Fastsættelse af protokoller til udveksling af
semantiske resurser.
8Resultater specifikationer
- RDF/XML Syntax Specification (Revised)
- RDF Vocabulary Description Language 1.0 RDF
Schema - RDF Primer
- Resource Description Framework (RDF) Concepts
and Abstract Syntax - RDF Semantics
- RDF Test Cases
- Web Ontology Language (OWL) Use Cases and
Requirements - OWL Web Ontology Language Reference
- OWL Web Ontology Language Semantics and Abstract
Syntax - OWL Web Ontology Language Overview
- OWL Web Ontology Language Test Cases
- OWL Web Ontology Language Guide
9WC3 Ontologisprog
OWL
Ontologibeskrivelse W3C
DAMLOIL
Ontologibeskrivelse ikke W3C
RDFS
Objekt-orienteret RDF
RDF
Beskrivelse af resurser
XML Schema
Datakontrol
XML
Syntaks
10Opmærkningssprog og XML
- Opmærkningssprog er notationer for at opmærke
data med tags lttaggt. - De mest kendt opmærkningssprog på webbet er
HTML. - Andre opmærkningssprog er SGML, som mest bruges i
tekstsamlinger og XML, som er et generelt
opmærkningssprog.
11XML (eXtensible Markup Language)
- XML er et metasprog til opmærkning af dokumenter
- består af en mængde syntaktiske regler for at
strukturere dokumenter så at computere kan læse
data, generere dem og sikre at de er utvetydige - understøtter UNICODE. UNICODE angiver et
entydigt tal for hvert tegn, uafhængigt af
programtype, sprog og system. - er et opmærkningssprog (markup).
12XML
- XML er blevet defineret som en undermængde af
SGML. - Opmærkning angives med tags (lttag-namegt).
- Selv om XML er et opmærkningssprog som kan minde
om HTML, er der mange forskelle mellem de to
sprog.
13Forskelle mellem HTML og XML
- I HTML har alle tags og attributter en
forudbestemt betydning, fx angiver "ltpgt" et
afsnit (paragraf), attributtet href bruges til
at angive en link. Mængden af lovlige tag-navne i
HTML er begrænset. - HTML's semantik er forbundet med sprogets syntaks
som kun er egnet til at strukturere dokumenter
som hypertekst. - I XML anvendes tags'ene til at afgrænse og
strukturere data af forskellige typer. - Strukturen bestemmes af dem der skaber et
XML-dokument og betydningen af tag-navnene er
ikke forudbestemt, men afhænger af den aktuelle
brug/definition. Derfor er XML et metasprog. - Fx kunne "ltpgt stå for bogstavet p, for pris,
person, problem o.s.v.
14XML egenskaber
- XML-dokumenter skal være velformede, d.v.s. skal
følge den syntaks som er beskrevet i
XML-specifikationer. - XML kræver ikke nogen form for licens, er
system-uafhængigt og understøttes af mange
platforme. - Information i XML er struktureret således at
den kan kombineres og genanvendes til forskellige
formål. - XML er et metasprog, som bruges til at
definere et ubegrænset antal sprog (MusicXML,
VoiceXML....). - XML er modulært.
15XML -fortsat
- XML 1.0 specifikationer angiver hvad tags og
attributterne er i XML. Der findes også et
voksende antal specifikationer, der supplerer
XML. Nogle eksempler er - XLink angiver hvordan der kan tilføjes hyperlinks
til en XML-fil. - XPointer angiver hvordan man kan danne links til
dele af en XML-dokument. - XSL angiver Style Sheets for XML-dokumenter
16Hvordan editeres XML?
- XML-dokumenter er tekster og kan derfor skrives i
almindelige teksteditorer (word, wordpad, emacs,
notepad, jedit etc.) - Der findes specielle XML-editorer der viser
XML-syntaks og struktur (fx. jedit fra
http//jedit.org) - XML-dokumenter kan indlæses i de fleste
browsere. - Der findes parsere til validering af
XML-dokumenter
17Hierarkisk og logisk struktur struktur
- XML-dokumenter har en hierarkisk struktur (tree
structure). De skal have en unik rod, og kan have
et ubestemt antal blade. Træets rod og blade
hedder elementer. Den logisk struktur kan
tegnes. - ltbookgtlttitlegt How to think like a Computer
Scientist - ltsubtitlegt Learning with Pythonlt/subtitlegt
- lt/titlegtltauthorgtA. Downey, J. Elkner
Chris Meyerlt/authorgt - ltprefacegt.....lt/prefacegt
- lttable_of_contentsgt lt.....gtlt/table_of_conten
tsgt - ltchapter_1gt
ltparagraph_1gt text.lt/paragraph_1gt.
- lt/chapter_1gt
- lt/bookgt
18Elementer
- er de basale enheder i et XML-dokument.
- kan have et indhold eller være tomme.
- Elementer med indhold kan indeholde andre
elementer og/eller tekst. Elementerne angives med
et opening-tag og afsluttes med et closing-tag. - opening-tag
closing-tag - "lt" elementnavn "gt" indhold "lt/"
elementnavn "gt" - For eks.
- lttitelgt Frøken Smillas fornemmelse for sne
lt/titelgt
19Elementer og attributter
- Tomme elementer (empty elements )
- "lt" elementnavn "gt" "lt/" elementnavn "gt" som
forkortes "lt" elementnavn "/gt" - ltbillede/gt
- Elementer (tomme og med indhold) kan have
attributter. - attributnavn " værdinavn"
- lttitel sprog "dansk"gtFrøken Smillas fornemmelse
for sne lt/titelgt - ltbillede forsidebillede"forside.jpg"
bredde"3cm"/gt
20XML-navne
- et elementnavn skal være et XML-navn
- tilladte tegn bogstaver, tal, underscore _,
apostrof, punktum - tilladte begyndelsestegn bogstaver, _
- fx
- XML-navne
- bo, BO, bo3, _bo, bos, bo_3s.NaVn, fea?,??
- ikke XML-navne .bo, 3bo, bo3, b o._3
21Velformede XML-dokumenter
- Et XML-dokument er velformet hvis det
- har en hierarkisk træstruktur, d.v.s. har
nøjagtigt et rod-element og alle elementer er
korrekt indlejret - er skrevet i overensstemmelse med XML-syntaktiske
regler, bl.a. begyndelse- og sluttags er
velformede, attribut- og elementnavne er
XML-navne, attribut-værdierne er skrevet mellem
to apostrofer eller mellem anførselstegn mm.
22Velformede dokumenter -fortsat
- Der findes parsere der kontrollerer om et
XML-dokument er velformet (browsere kontrollerer
også om XML-dokumenter er velformede) - Eksempel på et ikke-velformet dokument (2 fejl)
- ltboggtPython programmerlt/boggt
- ltbog sprogengelskgtLearning XMLlt/boggt
23Tegnsættet
- XML-dokumenter er tekster indhold og opmærkning
skrives med tegn. - Små og store bogstaver opfattes som forskellige
tegn. - Det mest udbredte standardiserede tegnsæt der
inkluderer tegn fra de fleste verdenssprog er
Unicode. Til tider bruges der kun en delmængde af
Unicode. Standarden for de nordiske sprog er fx
ISO-8859-1 (Latin-1), mens ASCII-formatet er
begrænset til det nordamerikanske tegnesæt. - Tegnsæt defineres i XML-erklæring, der starter et
XML-dokument - lt?xml version"1.0" encoding"ISO-8859-1"?gt
24Opmærkning
- tags
- processing instructions
- CDATA
- entity references
- character references
- kommentarer
- DTD erklæringer
25Opmærkning -fortsat
- tags lttalgt 3354lt/talgt
- processing instructions kommando til eksterne
programmer - lt?xml-stylesheet href"http//cst.dk/cna/book.x
sl" type"text/xsl"?gt - CDATA fri tekst der ikke skal opmærkes
- ltopmærkninggt
- lt!CDATAkan også indeholde tags ltsåledesgt,
samt , ', " men disse fortolkes ikke som
XML-opmærkning - gt
- lt/opmærkninggt
26Entity references
- anvendes til at bruge som almindelige tegn de
tegn som er reserverede i XML, eller til at
erstatte større mængder af tekst med en enkelt
reference (en slags makroer). - indledes af tegnet og afsluttes med et
semikolon. - Der er 5 reserverede tegn i XML (lt gt ' ").
- lt lt
- gt gt
- amp
- ' apos
- " quot
27Et eksempel
- ltbookgt lttitlegt XML amp SGMLlt\titlegt
ltpartsgt part1 - part2 part3
..... lt/partsgt .....3 lt 10 - lt/bookgt
28Character referents og kommentarer
- Character references tillader at angive tegn som
man ikke har på sin tastatur ved at skrive deres
position i tegnsæt decimaltal eller
xhexadecimaltal - kommentar indledes med tegnene "lt!--" og
afsluttes med tegnene "--gt" lt!-- dette er en
kommentar--gt en kommentar kan indeholde alle
tegn, bortset fra to efterfølgende bindestreger
"--" og "--gt" lt! -- dette er ikke et
XML--kommentar--gt
29Et eksempel
- lt?xml version"1.0"?gt
- lt!-- created 18/09/2006 --gt
- ltdocument gt lt title author"Costanza"gtExample
lt/titlegt lt contentsgt - This is a very simple amp short XML
document - lt/contentsgt
- lt/document gt
30DTD (Document Type Definition)
- bruges til at definere vokabularet for
XML-dokumenter (der er andre form for skemaer). - kan være interne elle eksterne
- dokumenter der følger et DTD siges at være
gyldige i følge DTDen
31Et eksempel
- lt?xml encoding"ISO-8859_1"?gt
- lt!ELEMENT fornavn (PCDATA)gt
- lt!ELEMENT mellemnavn (PCDATA)gt
- lt!ELEMENT efternavn (PCDATA)gt
- lt!ELEMENT navn (fornavn, mellemnavn, efternavn)gt
- lt!ELEMENT afdeling_navn (PCDATA)gt
- lt!ELEMENT afdeling (afdeling_navn)gt
- lt!ATTLIST afdeling afdeling_nr CDATA REQUIREDgt
- lt!ELEMENT ansat (navn)gt
- lt!ATTLIST ansat ansæt_id ID REQUIREDgt
- lt!ELEMENT firma (afdeling,ansat)gt
32Øvelser
- øvelser findes på adresse
- http//cst.dk/costanza/course/informasoeg/oev8.doc