47
W3C, XML ja sovellukset Ossi Nykänen Tampereen teknillinen yliopisto (TTY), Digitaalisen median instituutti (DMI), W3C Suomen toimisto

W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

W3C, XML jasovellukset

Ossi Nykänen

Tampereen teknillinen yliopisto (TTY),Digitaalisen median instituutti (DMI),

W3C Suomen toimisto

Page 2: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

2

Esitelmä

• Hyvin lyhyt versio:– ”XML” on W3C:n suosittama perhe tekstiformaatteja ja

tietojenkäsittelyyn liittyviä teknologioita. XML:n suosion kulmakiviäovat XML-merkkauksen yksinkertainen perusta, modulaarinentekniikka ja suuri joukko välineitä ja sovelluksia.

• Pidempi versio, otsikoita:– World Wide Web Consortium– XML osana Web-teknologioita– XML ja ideat, ytimen kehitys– XHTML, SVG ja muut XML-tekstiformaatit– XLink– XQuery– Semanttinen Web

• Esityksen tavoite: kiertoajelu

Page 3: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

3

World Wide Web Consortium (W3C)

• W3C kehittää yhteensopivia teknologioita(spesifikaatioita, ohjeita ja ohjelmistoja) ja sitenohjaa Webin kehittymistä täyteen mittaansa– ...asettamalla teknisiä suosituksia (esim. XML-perhe)

• 3 päätstoa, 14 aluetstoa, n. 400 jäsenorganisaatiota

• Jäseneksi? – ks. http://www.w3c.tut.fi/joining.html

Page 4: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

4

W3C:n (nykyiset) toimialueet ja aktiviteetit

(Ks. http://www.w3.org/Consortium/Activities)

Page 5: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

5

W3C:n (nykyiset) aktiviteetit ja työryhmät

Page 6: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

6

XML osana Web-teknologioita

XML ≠ XML ~

Page 7: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

7

XML ja "pienet ideat" (~tekstiformaatti ja metakieli)

<?xml version="1.0" encoding="iso-8859-1" standalone="no"?> <!DOCTYPE kirja SYSTEM "myBook.dtd"> <?xml-stylesheet type="text/css" href="esim.css"?><kirja aihe="fantasia" julkaisuvuosi="1955" xml:lang="fi"> <nimi>Taru Sormusten Herrasta</nimi> <kirjoittaja>J.R.R. Tolkien</kirjoittaja> <kuvaus>Fantasiasotaa Keskimaassa &#174; .</kuvaus> <taustoja> Kirjan keskeisiä henkilöitä ovat Frodo Reppuli &amp; Gandalf. Muita ovat esim. <!-- Seuraava merkkidatalohko ei sisällä merkkausta --> <![CDATA[ edesmennyt Sauron & Saruman, ja Sormuksen Ritareista erityisesti Frodoa tavalla

tai toisella seuraava nelikkö Sam & Merry & Pippin & Klonkku sekä <<perinteisempi>> sankarityyppi; Aragorn eli Konkari. ]]> </taustoja> <kuvia> <kuva url="taistelu.jpg" kuvaus="Synkkää taistelua &lt;elokuvaversio>"/> <kuva url="maisema.jpg" kuvaus="Keskimaan vuoristomaisemaa &lt; elokuvaversio>"/> </kuvia></kirja>

Esittelyosa:tyyppitieto

Esiintymäosa:dokumentin ”sisältö”(juurielementti)

Muista:1. looginen vs.fyysinen rakenne2. sanaston rooli3. XML-perhe &välineetreunaehtona

Page 8: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

8

map/>dc:author</head><body><foo:title>tuote</foo:title><!--nop --><g>ite

XML ja "isot ideat" (~teknologia)

SVG

XML metakielenä ja arkkitehtuurina XML tekstiformaattina

XML kommunikoinnin välineenä

XML tietorakenteenstd-rajapintana

SOAPDOM Query RDF ...

...

...

XHTML

⌦⌫

☺XML

yhteisöllisenä sopimuksena

Page 9: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

9

XML-ytimen kehitys

• pre-XML– ..., GML (1970-luku), SGML (ISO-STD 1986)

• Extensible Markup Language (XML) 1.0 (Third Edition)– 1998-02-10, 2000-10-06, 2004-02-04

• Namespaces in XML– 1999-01-14

• Extensible Markup Language (XML) 1.1– 2004-02-04– Unicode-täsmennykset, IBM-rivinvaihtomerkki

• Namespaces in XML 1.1– 2004-02-04– errata, IRI-nimet, xmlns:foo=""

Page 10: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

XML-tekstiformaatteja

...eli mitä yhteistä on verkkosivulla,metrokartalla ja puhedialogilla?

Page 11: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

11

Keskeiset XHTML-spesifikaatiot

• XHTML 1.0– HTML-sanasto (esim. body, h1, title, a, b, object, map)– kolme tyyppimäärittelyä (Strict, Transitional, Frameset)

• Modularization of XHTML– laajahkon XHTML 1.0-sanaston pilkkominen osiin– moduulit (Core [Structure, Text, Hypertext, List], Applet,

Text Extensions [...], ...)

• XHTML 1.1 - Module-Based XHTML– XHTML 1.0 Strict moduulijaon

mukaisesti esitettynä– teknisiä eroja: lang->xml:lang, name->id, ruby

• XHTML Basic– "pienin yhteinen XHTML-ydin"– soveltuu esim. pienlaitteiden ja digiTV:n tarpeisiin

Täm

ä on

XM

L-fo

rmaa

ttien

mod

ular

isoi

nnin

kons

epti

!!

Page 12: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

12

Esimerkki moduulijaosta, XHTML Basic

Suppein XHTML-kieli- ei formatoivaa merkkausta(ei esim. b-elementtiä)- ei skriptejä tms.- ns. host-kielen piirteet

Page 13: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

13

SVG – Skaalautuva vektorigrafiikka

<?xml version="1.0" encoding="iso-8859-1" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="12cm" height="4cm" viewBox="0 0 1200 400" xmlns="http://www.w3.org/2000/svg" version="1.1"> <ellipse cx="600" cy="200" rx="550" ry="175" fill="yellow" stroke="blue" stroke-width="20"/> <rect x="1" y="1" width="1198" height="398" fill="none" stroke="blue" stroke-width="2" /> <polygon fill="red" stroke="blue" stroke-width="10" points="350,75 379,161 469,161 397,215 423,301 350,250 277,301 303,215 231,161 321,161" /> <polygon fill="lime" stroke="blue" stroke-width="10" points="850,75 958,137.5 958,262.5 850,325 742,262.6 742,137.5" /> <text x="470" y="240" font-size="70">Tekstiä</text></svg>

Page 14: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

14

Keskeiset SVG-spesifikaatiot

• Scalable Vector Graphics (SVG) 1.0– vektorikielen määrittely yhdessä osassa

• Scalable Vector Graphics (SVG) 1.1– SVG:n modularisointi

• Mobile SVG Profiles: SVG Tiny and SVG Basic– pikkuruinen Tiny, esim. matkapuhelimet– SVG Basic, esim. PDA-laitteet

Kuvalähde. Herman, W3C,http://www.w3.org/Consortium/Offices/Presentations/SVG/ShortTutorial

Page 15: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

15

Muita standardeja XML-tekstiformaatteja

• W3C– Synchronized Multimedia Integration Language (SMIL 2.0)

Specification (1998, 2001)– Mathematical Markup Language (MathML) Version 2.0 (Second

Edition) (2001, 2003)– Extensible Stylesheet Language (XSL) Version 1.0 (2001)– SOAP Version 1.2 (2003)– XForms 1.0 (2003)– Composite Capability/Preference Profiles (CC/PP): Structure and

Vocabularies 1.0 (2004)– RDF/XML Syntax Specification (Revised) (2004)– OWL Web Ontology Language Guide (2004)– Voice Extensible Markup Language (VoiceXML) Version 2.0 (2004)– Speech Recognition Grammar Specification Version 1.0 (2004)

• Muut– LIIKAA LUETELTAVAKSI TÄSSÄ, ks. esim.

http://xml.coverpages.org/xml.html#applications

Page 16: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

XLink

...eli tarvitseeko jokaisensovelluksen pitäisi keksiä pyörä(hyperlinkkien semantiikka)uudelleen?

Page 17: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

17Kuvalähde. DeRose et al. W3C,

http://www.w3.org/TR/xlink/

XML Linking Language, XLink (2001)

• XLink määrittelee universaalinsanaston XHTML:ää rikkaampienhyperlinkkien määrittelyyn– monensuuntaiset linkit– linkkikannat

• Ts. Xlinkkiä ei ole pakkokovakoodata ankkurit sisältäviin tiedostoihin!

• XLink määrittelee vain joukon globaaleja attribuuttejasovellusten käyttöön (Web-selaimet eivät juuri tue)– mikä tahansa elementti voi toimia linkkinä

• XLinkkejä hyödyntävät esim. SVG ja SMIL– suuri osa tuotantokäytön XLink-sovelluksia perustuu erillisten

XLink-prosessorien käyttöön(esim. julkaisutoiminta)

Page 18: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

18

XLink, yksinkertainen linkki

• Yksinkertainen linkki (type="simple")

• Vrt. XHTML-linkki:

<my:crossReference xmlns:my="http://example.com/" my:lastEdited="2000-06-10" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="students.xml">Current List of Students </my:crossReference>

...

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">...<p>... <a href="students.xml">Current List of Students </a>...</p></html>

Page 19: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

19

XLink, yleinen (extended) linkki, esimerkki (1/3)

• Tarkastellaan esimerkkinä neljänsuuntaista linkkiä:

student62

prof7

CS-101

courseload

PatJonesGPA

linkkidokumenttiin kirjattuelementti (resource)

linkin (yhden) päänesittävä kaari (arc)

viittaus ulkoiseendokumenttiin (locator)

kaaren suuntaavakulkusääntö

(traversal rule)

Page 20: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

20

XLink, yleinen (extended) linkki, esimerkki (2/3)

<!ELEMENT courseload((tooltip|person|course|gpa|go)*)><!ATTLIST courseload xmlns:xlink CDATA #FIXED"http://www.w3.org/1999/xlink" xlink:type (extended) #FIXED"extended" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED><!ELEMENT tooltip ANY><!ATTLIST tooltip xlink:type (title) #FIXED "title" xml:lang CDATA #IMPLIED><!ELEMENT person EMPTY><!ATTLIST person xlink:type (locator) #FIXED "locator" xlink:href CDATA #REQUIRED xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED><!ELEMENT course EMPTY><!ATTLIST course xlink:type (locator) #FIXED "locator"

xlink:href CDATA #REQUIRED xlink:role CDATA #FIXED"http://www.example.com/linkprops/course" xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED><!ELEMENT gpa ANY><!ATTLIST gpa xlink:type (resource)#FIXED "resource" xlink:role CDATA #FIXED"http://www.example.com/linkprops/gpa" xlink:title CDATA #IMPLIED xlink:label NMTOKEN #IMPLIED><!ELEMENT go EMPTY><!ATTLIST go xlink:type (arc) #FIXED "arc" xlink:arcrole CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|replace|embed|other|none)#IMPLIED xlink:actuate (onLoad|onRequest|other|none)#IMPLIED xlink:from NMTOKEN #IMPLIED xlink:to NMTOKEN #IMPLIED>

Page 21: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

21

XLink, yleinen (extended) linkki, esimerkki (3/3)

<courseload> <tooltip>Course Load for Pat Jones</tooltip>

<person xlink:href="students/patjones62.xml" xlink:label="student62"xlink:role="http://www.example.com/linkprops/student" xlink:title="Pat Jones" />

<person xlink:href="profs/jaysmith7.xml" xlink:label="prof7"xlink:role="http://www.example.com/linkprops/professor" xlink:title="Dr. Jay Smith" /> <!-- more remote resources for professors, teachingassistants, etc. --> <course xlink:href="courses/cs101.xml" xlink:label="CS-101" xlink:title="Computer Science 101" /> <!-- more remote resources for courses, seminars, etc. -- <gpa xlink:label="PatJonesGPA">3.5</gpa>

<go xlink:from="student62" xlink:to="PatJonesGPA" xlink:show="new" xlink:actuate="onRequest" xlink:title="Pat Jones's GPA" />

<go xlink:from="CS-101" xlink:to="student62"xlink:arcrole="http://www.example.com/linkprops/auditor" xlink:show="replace" xlink:actuate="onRequest" xlink:title="Pat Jones, auditing the course" />

<go xlink:from="student62" xlink:to="prof7"xlink:arcrole="http://www.example.com/linkprops/advisor" xlink:show="replace" xlink:actuate="onRequest" xlink:title="Dr. Jay Smith, advisor" /></courseload>

"lokaattorit ja resurssit" "kaaret ja kulkusäännöt"

Page 22: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

22

XLink, huomioita

• XLink assosioi resursseja yhteen ja tarjoaamahdollisuuden määritellä assosiaatioiden tyyppi– vrt. XHTML-linkkien tyypitys (@type, @rel)

• Huom. Kulkusäännön attribuutit @actuate ja @show– vrt. XHTML-attribuutti @target

• Huom. Linkin osoitteesta voi löytyä XPointer-osoite

– XPointer on erillinen suositus joka hyödyntää taas kerran XPath-syntaksia... (Huom. koko XPointer ei ole vielä valmis)

• Tämä mahdollistaa varsin monipuolisen XML-dokumenttien koostamisen (vrt. entiteetit)– @actuate="onLoad" @show="embed"

href="file.xml#xpointer(id('c12')/desc[1])element(c12/1)"

Page 23: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

23

Esimerkki, monikanavajulkaiseminen

Media-objektit

käsikirjoitus

Sovellus #1

Sovellus #2

Sovellus #3

XLinkXSLT

CSS

XSLT

XSL/FO

PDF

CSS

SVGXML 1.0 PNG ...

XHTML SMIL

Page 24: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

XQuery

...eli miltä relaatiotietokantojenmaailman näyttäisi ilman SQL-rajapintaa?

Page 25: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

25

XQuery: XML Query Language (WD)

• API-tason ohjelmoinnin sijaan usein halutaan vain kysellätietoa XML-dokumenteista "sieltä täältä"– esim. tiedonsiirto, konfiguraatiotiedostot yms.

• Ratkaisun ongelmaan tarjoaa XML-kyselykieli XQuery– Huom! ei vielä W3C-suositus, valmistunee 2004(?)– perustuu XPath-kieleen, ideoita SQL:stä yms.

• Kysely = (pieni) ohjelma tai lauseke, joka palauttaa tietoaXML-dokumentista (tulos tekstiä tai XML-dokumentti)– kysely näkee koko XML-dokumentin (kuten DOM)– kysely voi generoida hyvinkin monimutkaisia XML-dokumentteja

• Kyselyillä on oma syntaksinsa, jolle löytyy myös XML-sarjallistus (vrt. XPath)

declare namespace dc="http://purl.org/dc/elements/1.1/"doc("memo.xml")//dc:title

Page 26: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

26

<?xml version="1.0" encoding="iso-8859-1"?><muistio pvm="2004-03-22"> <luokitus>HPN-projekti</luokitus> <otsikko>Uusi tilaus tulossa?</otsikko> <kirjoittaja>Teuvo Oinas</kirjoittaja> <asia> Brasilian tehdas on pyytänyt arvion Soijakattilan uusimisen kustannuksista. <!-- Sirpa korjasi kirjoitusvirheet 2004-03-23. --> </asia></muistio>

XQuery: Esimerkki

<yhteenveto count="{ count(doc(muistio.xml')/muistio//*) }">{doc("muistio.xml")//asia}</yhteenveto>

<yhteenveto count = "4"> <asia>Brasilian tehdas on pyytänyt arvion Soijakattilan uusimisen kustannuksista.</asia></yhteenveto>

kysely

Page 27: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

27

XQuery: Huomioita

• XQuery sisältää tyypilliset (funktionaalisen) ohjelmoinninlauserakenteet

• SQL-tyyppiset kutsut erikoistapauksena– ns. FLOWR-lauseke (For-Let-Order-Where-Return)

• XQuery ja XSLT ovat monella tapaa samantyyppisiämutta tarkoitettu eri tehtäviin– XPath (1..2) on molempien perustana

for $b in doc("raportit-2004.xml")//muistiowhere $b/@pvm = "2004-03-22"return $b/otsikko

Ks. http://www.w3.org/XML/Query

Page 28: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

Semanttinen Web

... informaationkäsittelystätietojenkäsittelyyn

Page 29: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

29

Mikä nykyisessä tietojenkäsittelyssä on "vikana"?

• Tiedostot siirtyvät ohjelmien välillä jotenkuten, itse tietoerittäin huonosti

• Useimmat dokumenttiformaatit lähtevät ajatuksestaihmisestä informaation aktiivisena tulkitsijana, vrt.

vs.

osoite: Tampereen teknillinenyliopisto, Korkeakoulunkatu 1,33101 Tampere

organisaatio: Tampereen teknillinenyliopisto osoite: katuosoite: Korkeakoulunkatu katunumero: 1 postinumero: 33101 kaupunki: Tampere

Katuosoite onfyysinen paikka

kaupungin sisällä, jne.data1 data2

Page 30: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

30

Ajattelutavan muutos → toimintatavan muutos

• Tieto ja sen hyödyntämisen prosessit pitää kuvata"tietokoneiden näkökulmasta"

• Mitä tarkoittaa (ideatasolla) käytännössä?1. tarvitaan yhteinen tietomalli, esim. X:llä on ominaisuus "osoite"2. tarvitaan pelisäännöt kuinka määritellä universaaleja

ominaisuuksia (predikaatteja), esim. "katuosoite"– ...joita myös pitää yhteisesti noudattaa sovelluksissa...

sovellusihminen

sovellusihminen

sovellus

sovellus kone sovellus kone sovellus

esim. juna-aikataulu ryhmätyöohjelma kalenteri

Page 31: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

31

Semanttinen Web = Web + kuvailutieto

• Idea: verkko välittää, ihmiskäyttäjä TAI kone tulkitsee

Kuvalähde. Koivunen & Miller, W3C,http://www.w3.org/2001/12/semweb-fin/w3csw

agentit

Page 32: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

32

SW:n määrittelyrakenne ja perusidea

• Semanttisen Webin perusidea on yksinkertainen– ”kuka tahansa voi sanoa mitä tahansa mistä tahansa”– perusteet yksinkertaisia, haasteet syntyvät sovellusten

suunnittelusta ja esim. metatietosanastojen valinnasta

• SW on olennaisesti sopimus "metatietojen" ja niidenkäyttöä ohjaavien skeemojen ja ontologioidenkirjoitustavasta– SW esittää MITEN sanotaan, mutta EI MITÄ sanotaan (ts. lisäksi

tarvitaan sanastojen standardointityötä eri sovellusten tarpeisiin)

XML

Web Ontology Language, OWL

Resource Description Framework, RDF

URI

Page 33: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

33

XML vs. RDF = ”tietorakenne vs. tieto”

<html>

<head>

<body>

map/>dc:author</head><body><foo:title>tuote</foo:title><!--nop --><g>ite

persons:ossihobbies:favourite-movie

movies:cast-away

sarjallistus (kirjoittaminen XML-dokumenttina tiedostoon tms.)

...

mallinnusta ohjaava skeema ja ontologia

kirjoittamista ohjaava dokumentin tyyppimäärittely

Page 34: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

34

Esimerkki: RDF ja tiedon mallinnus

• Mallinnus = objektien identifiointia ja näiden piirteidenkoodausta yhteisesti sovitulla kieliopilla ja käsitteillä

jobs:affiliation

Suomen presidentti

ammattiAiottu tulkinta:

Mallinnus:

”Asia tietokoneensilmin”:

(#(uri), #(jobs:affiliation), ”011100...100101”)

Klik. liittyy jotenkinjobs-sanastontulkintaan. Klik.

“ÄLY” syntyy merkitysten verkosta

http://persons.fi/presidents/e2000 Suomen presidentti

Page 35: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

35

Esimerkki: Koneellisesti luettavaa tietoa

kirjoittaja:viimeksi päivitetty: 2003-12-15luokitus: standardointi

otsikko: uutisia, joulukuuuutisotsikko1:uutisotsikko2: ...uutisotsikko3: ......

nimi: Ossi Nykänensähköposti: [email protected]

otsikko: XForms1.2 Mobileteksti: W3Cjulkaisi uudenversion ...

Lisäksi:- mitä sanoja käytetään (std-predikaateista sopiminen)- miten sanoja käytetään (skeemat)- "mitä sanat tarkoittavat tietyissä sovelluksissa" (ontologiat)

http://www.w3c.tut.fi

http://www.w3c.tut.fi/staff/ossi

Page 36: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

36

Esimerkki: Semantic Web Services

Kuvalähde. Booth et al, W3C,http://www.w3.org/TR/ws-arch/

Page 37: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

37

Keskeistä on tiedon yhdistäminen

• Hyödyntäminen:– metatietoihin perustuvat haut (tai pelkän metatiedon hakeminen)– tiedon yhdistäminen (standardipohja!)– tiedon koostaminen, päättely, yms.

tiedon julkaisijatiedon tulkitsija

Kuvalähde. Berners-Lee, W3C,http://www.w3.org/2003/Talks/0922-rsoc-tbl/Overview.html

erilähteiden

valinta

Page 38: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

38

RDF Query Language, RDQL (→RDF Data Access)

• RDQL on Semanttisen Webin SQL (std-työ vasta alussa)

SELECT ?resource, ?familyNameWHERE (?resource, <info:age>, ?age) , (?resource, <vCard:N>, ?y) , (?y, <vCard:Family>, ?familyName)AND ?age >= 24USING info FOR <http://somewhere/peopleInfo#> , vCard FOR <http://www.w3.org/2001/vcard-rdf/3.0#>";

?resource ?familyName

http://www.u1... Romppainenhttp://www.u2... Ala-Harjahttp://www.u3... Kaarto... ... sovellus

RDF-lähde

Ks. HP Labs SW Researchhttp://www.hpl.hp.com/semweb/

Page 39: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

Semanttisen Webinsovelluksia

• Dublin Core• RSS• CC/PP

Page 40: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

40

Esimerkki: Dublin Core

• DC on sovittu standardi esim. verkkosivujenkuvailemisessa käytettävistä predikaateista (attribuutit)

• Sisältää seuraavat sanat (ja std-tulkinnan näille!):

Page 41: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

41

Esimerkki: RSS

• RDF Site Summary (RSS 1.0) määrittelee kehyksenjonka avulla voidaan julkaista ja yhdistellä esim.tiedotteita ja uutisia

• Esimerkki: käyttäjäystävällinen uutispalvelu

Pääkaupunkiseudun tiedotteet

Turun seudun tiedotteet

Tampereen seudun tiedotteeteri uutislähteitä

yhdistelevä sovellus

Ks. esim. http://www.oreillynet.com/meerkat/

Yhteisen luokituksen mukaisia uutisia jailmoituksia (esim. yhteystiedot, uutisetasuntokauppa yms.)

vs.

koonta, hakupalvelu, näkymät

Page 42: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

42

Esimerkki: CC/PP

• Composite Capability/Preference Profiles (CC/PP)– päätelaitteet (ja käyttäjät) voivat kertoa palvelimelle

ominaisuuksistaan ja toiveistaan

• 2-tasoinen malli:– komponentit– attribuutit

• RDF/XML-formaatti• Perusta esim.

WAP:in UAProf-määritykselle

Kuvalähde. WASP,http://www.webstandards.org/learn/askw3c/feb2004.html

Page 43: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

43

Semanttisen Webin spesifikaatiot

• Keskeiset SW-spesifikaatiot ovat saanet W3C-suosituksen statuksen vuonna 2004

– OWL Web Ontology Language Overview– OWL Web Ontology Language Guide– OWL Web Ontology Language Reference– OWL Web Ontology Language Semantics and Abstract Syntax– OWL Web Ontology Language Test Cases– Resource Description Framework (RDF): Concepts and Abstract Syntax– RDF Semantics– RDF Primer– RDF Vocabulary Description Language 1.0: RDF Schema– RDF/XML Syntax Specification (Revised)– RDF Test Cases– OWL Web Ontology Language Use Cases and Requirements– http://www.w3c.org/2001/sw/

Page 44: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

Lopuksi

Page 45: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

45

Yhteenveto

"XML is the ASCII of the 21st century" (Tim Bray)

• Muistamisen arvoista:– W3C ja standardointityö (tervetuloa jäseneksi!)– XML 1.0/1.1 vs. XML-perhe– useissa sovelluksissa XML on "vain" tekstiformaatti– standardoitujen XML-tekstiformaattien merkitys: yhteisö, XML-

yhteensopivuus, saatavilla olevat työkalut– uusi teknologia jonka kehitystä kannattaa seurata: XQuery– Semanttinen Web = Web + kuvailutieto– Semanttinen Web on kehys joka hyödyntää RDF-sanastojen

kehitystyötä

Page 46: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

46

Kiitos!

• Jäikö joku W3C-asia mietityttämään? Allekirjoittaneentavoittaa helposti:– http://www.w3c.tut.fi– [email protected]

“The bane of my existence is doing thingsthat I know the computer could do forme."

-- Dan Connolly, The XML Revolution

Page 47: W3C, XML ja sovellukset · 2004-04-14 · 2 Esitelmä • Hyvin lyhyt versio: – ”XML” on W3C:n suosittama perhe tekstiformaatteja ja tietojenkäsittelyyn liittyviä teknologioita

47

Liite 1: lisätietoja ja osoitteita eteenpäin

• W3C– http://www.w3.org/ (kotisivu)– http://www.w3c.tut.fi/ (W3C Suomen toimiston kotisivu)

• W3C-aktiviteetit– http://www.w3.org/Consortium/Activities (yleiskuva)

• W3C:n suositukset ja raportit sekä teknistä tietoa– http://www.w3c.org/TR/ (kaikki spesifikaatiot)– http://www.w3c.tut.fi/report-archive.html (yleisesityksiä suomeksi)

• Jäseneksi!– http://www.w3.org/Consortium/Prospectus– http://www.w3c.tut.fi/joining.html