tallinnas, 04.06.2010 peep küngas, peep@soatrader

39
Ontoloogiate rakendamine infovarade semantilisel kirjeldamisel Semantika koolitusprogrammi 5. mooduli kohandus Tallinnas, 04.06.2010 Peep Küngas, [email protected] Koolitus toimub Euroopa Liidu struktuurifondide programmi “Infoühiskonna teadlikkuse tõstmine” raames, mida rahastab Euroopa Regionaalarengu Fond

Upload: okalani-brayden

Post on 04-Jan-2016

57 views

Category:

Documents


0 download

DESCRIPTION

Ontoloogiate rakendamine infovarade semantilisel kirjeldamisel Semantika koolitusprogrammi 5. moodul i kohandus. Tallinnas, 04.06.2010 Peep Küngas, [email protected]. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Ontoloogiate rakendamine infovaradesemantilisel kirjeldamiselSemantika koolitusprogrammi 5. mooduli kohandus

Tallinnas, 04.06.2010Peep Küngas, [email protected]

Koolitus toimub Euroopa Liidu struktuurifondide programmi “Infoühiskonna teadlikkuse tõstmine” raames, mida rahastab Euroopa Regionaalarengu Fond

Page 2: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Semantiline koosvõime – organisatsioonide võime mõista andmete tähendust ühte moodi

<operation name="kylogi"><documentation><xtee:title>KÜ logi</xtee:title></documentation><input message="s:kylogiIn" /><output message="s:kylogiResponseOut" /></operation>

Page 3: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Semantilise koosvõime arhitektuur

Page 4: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Miks IS semantiliselt rikastada?

1. Korduvkasutuso andmekvaliteet (andmete vastuolulisus dubleerimisest tulenevalt)o investeeringud andmete tootmises

2. Andmeintegratsioon eri allikatesto vääritimõistmineo investeeringud IS integratsioonile

3. IS jätkusuutlikus

IS ja teeenuste semantiline kirjeldus ei ole arendajale lisakoormus/-kulu – muutub lihtsalt dokumenteerimise vorm, nt sõnastiku vormiks on XML-il põhinev keel OWL, mitte tabel analüüsispetsifikatsioonis

Page 5: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Veebiteenuse kirjelduskeel WSDL

• Web Services Description Language (WSDL) v2.0• seni on valdavalt kasutusel v1.1

• W3C soovitus 26. juuni 2007• WSDL on XML formaat veebiteenuste , sh

kasutatavate sõnumite, kirjeldamiseks

Page 6: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

http://www.w3.org/TR/wsdl20-primer/

Page 7: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Semantilised veebiteenused

• Semantic Web Services (SWS)• Teenused, mille kirjeldus sisaldab teenuse

semantikat• Eesmärgiks automatiseerida teenuste

otsingut, analüüsi, kombineerimist, käivitamist, monitooringut jne

Page 8: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Semantics Required for Web Processes

ExecutionSemantics

QoS Semantics

FunctionalSemantics

Data/

InformationSemantics

Development/ Description/ Annotation

Teenuse semantika komponendid

Execution, Adaptation

and MediationBPWS4J,

activeBPEL,WSMX

METEOR-S

Composition, Configuration

and Negotiation

BPEL, WS-Agreement, WS-

PolicyMETEOR-S (MWSCF)

Publication/ Discovery

(Semantic) UDDIMETEOR-S

(MWSDI)

WSDL, WSDL-S, SAWSDL, WSMO,

OWL-SMETEOR-S (MWSAF)

Page 9: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader
Page 10: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Näide – milleks SWS?

• Olgu (EMTA, ajakirjandus, ..) vaja leida pankrotistunud ettevõtte omanikele kuuluva kinnisvara väärtus

1. Loome ettevõtte omanike nimekirja (äriregistri päring)2. Loome igale omanikule kuuluvate kinnistute nimekirja

(kinnisturaamatu päring)3. Määrame iga kinnistu väärtuse (mõne kinnisvarafirma või

Maa-ameti hindamiste andmebaas vm infoallikas)

Page 11: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

ariregister::getCompanyDetails()<complexType name="getCompanyDetails"><sequence><element name="registryCode" type="string"/></sequence></complexType>

…<complexType name=”BoardMember"><sequence><element name="idCode" type="tns:PersonIdCode"/><element name="isValid" type="boolean"/><element name="name" type="tns:PersonName"/></sequence></complexType>…<complexType name="PersonIdCode">

<sequence><element name="estonianIdCode” type="string"/><element name="foreignIdCode" type="string"/></sequence></complexType>

Page 12: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Olemasolevad “klotsid”…

objektiHind

getImmovableDetails

getRegisteredImmovables

getCompanyDetails

registryCode

estonianIdCode

nationalIdCode

newRegisterPartNumber

registerPartNumber

cadastralRegistryNumber

registrikood summa

Page 13: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

..vajavad seostamist

objektiHind

getImmovableDetails

getRegisteredImmovables

getCompanyDetails

registryCode

estonianIdCode

nationalIdCode

newRegisterPartNumber

registerPartNumber

cadastralRegistryNumber

registrikood summa

Page 14: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

registryCode

estonianIdCode

nationalIdCode

newRegisterPartNumber

registerPartNumber

cadastralRegistryNumber

registrikood summa

EstonianIdentifica

tionCode

New LandRegistryNumber

CadastralRegistryNumber

Value

BusinessRegistry

Code

NationalIdentifica

tionCode

SwedishIdentifica

tionCode

LandRegistryNumber

Old LandRegistryNumber

..vajavad kontseptuaalset korrastamist

Page 15: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Tulemiks kompleksteenus

objektiHind

getImmovableDetails

getRegisteredImmovables

getCompanyDetails

Business

Registry

Code

Value

Page 16: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

WSMO Studio

• Käivita WSMO Studio• Impordi loodud ontoloogia WSMO Studiosse

• kontrolli üle ontoloogia elemendid, seosed• Impordi WSDL (faili laiendiks peab

olema .wsdl)• veendu, et WSDLi struktuur tuli kenasti sisse

Page 17: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

SA-WSDL

• Semantic Annotations for WSDL and XML Schema• W3C soovitus (recommendation) 28. august 2007

o http://www.w3.org/TR/2007/REC-sawsdl-20070828/o http://www.w3.org/TR/2007/NOTE-sawsdl-guide-20070828/ <<

usage guide• Evolutsiooniline lähenemine - toetub ja laiendab

olemasolevaid standardeid• Sõltumatu valdkonna mudeli semantika vormingust

o “omad”: RDFS, OWL o OMG: UML (OUP)o korraga võib kasutada mitmeid ontoloogiaid

>> WSDL toetab süntaktilist koosvõimet>> SA-WSDL toetab semantilist koosvõimet

Page 18: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader
Page 19: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

SA-WSDL terminoloogia

1. semantiline mudel (semantic model)o masin-loetav maailma osa peegelduso nt ontoloogia, taksonoomia, sõnastik, ...

2. kontsept (concept)o semantilise mudeli element, nt mõiste, klassifikaatori element,

seos, omaduse väärtus, instants, aksioom, reegel, ..o peab olema URI abil identifitseeritav

3. semantiline annotatsioon (semantic annotation)o infokogumis (dokumendis) olev täiendav info mis viitab mõistele

semantilises mudelis selleks, et kirjeldada infokogumis osao SA-WSDLis on semantiline annotatsioon XML parameetritena

(attribute)

Page 20: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

SA-WSDL = 3 märgendit

1.modelReferenceo seose spetsifitseerimiseks WSDL või XML Schema

komponendi ja mõne semantilise mudeli kontsepti vahel2.liftingSchemaMapping

o transformatsiooni spetsifitseerimiseks XML-põhisest andmekogumist > semantilise mudeli kujule

3.loweringSchemaMappingo transformatsiooni spetsifitseerimiseks vastupidisel

suunal

Page 21: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

63

SA-WSDL skoop

63

SA-WSDL ei käsitle rakenduslikke WSDL komponente

modelReference

schemaMapping

Page 22: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

SA-WSDL - modelReference

• Seose spetsifitseerimiseks WSDL või XML Schema komponendi ja mõne semantilise mudeli kontsepti vahel

• Komponendiks võivad ollao WSDL komponent

liides - wsdl:interface teenus - wsdl:operation erind - wsdl:fault

o WSDL Type Definitions / XML Schema lihttüübi defineering - xs:simpleType komplekstüübi defineering - xs:complexType elemendi deklareering - xs:element parameetri deklareering - xs:attribute

Page 23: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

modelReference teoorias

http://www.w3.org/ns/sawsdl:<xs:attribute name="modelReference" type="listOfAnyURI"/>

<xs:simpleType name="listOfAnyURI"><xs:list itemType="xs:anyURI"/></xs:simpleType>

• Võib viidata mitmele mõistele – kõik kehtivad• Soovitavalt viitab dokumendile mis määratleb semantiliselt

kirjeldatavat elementio dokument võib olla WSDL väline või samas WSDLiso Best Practice Recipes for Publishing RDF Vocabularies,

CoolURIs, ...

Page 24: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

modelReference [0..*]

<wsdl:types> ...<xs:simpleType name=“KY“>...</xs:simpleType></wsdl:types>

katastriüksus

maakorralduse ontoloogia (OWL)

WSDL lihttüüp

<wsdl:types> ...<xs:simpleType name=“KY“sawsdl:modelReference="http://riik.ee/ontoloogiad/maakorraldus/katastriyksus /space/ http://city24.ee/ont/katastriyksus "></xs:simpleType></wsdl:types> SA-WSDL annotatsioon mitmele ontoloogia/mõistele

suurendab tõenäosust teenust otsinguga leida

katastriüksus

kinnisvara ontoloogia (OWL)

Page 25: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

XSD kompleksandmetüüp

• Võivad sisaldada parameetreid ja elemente• Defineeritakse kasutades olemasolevaid

andmetüüpe (sh kasutaja defineeritud) ningo sequence – kohustuslike elementide hulk, järjekord on

tähtiso all – kohustuslike elementide hulk, järjekord ei ole tähtiso choice – elementide hulk, millest üks valitakse

Page 26: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

XSD kompleksandmetüüp

N: andmetüübi defineerimine<complexType name=“fyysIsikType”> <sequence>

<element name=“eesnimi” type=“string” minOccurs=“0” maxOccurs=“unbounded”/>

<element name=“perenimi” type=“string”/> </sequence> <attribute name=“tiitel” type=“string”

use=“optional”/></complexType>

.. ja kasutamine<element name=“fyysIsik” type=“fyysIsikType”/>

Page 27: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

modelReference komplekstüüpide bottom-level annoteerimiseks

<wsdl:types> ...<complexType name=“aadress1"><sequence><element name=“maakond“ type="xsd:string"/><element name=“tänav" type="xsd:string"/>...</sequence></complexType>...</wsdl:types>

aadress

tänav

maakond

maakorralduse ontoloogia (OWL)

koosneb

koosneb

WSDL komplekstüüp

<wsdl:types> ...<complexType name=“aadress1"> <sequence><element name=“maakond“ type="xsd:string" sawsdl:modelReference =“http://www.riik.ee/ontoloogiad/maakorraldus/maakond”/><element name=“tänav" type="xsd:string“sawsdl:modelReference =…/tanav”/>...</sequence>

Page 28: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

modelReference komplekstüüpide top-level annoteerimiseks

<wsdl:types> ...<complexType name=“aadress1"><sequence><element name=“maakond“ type="xsd:string"/><element name=“tänav" type="xsd:string"/>...</sequence></complexType>...</wsdl:types>

aadress

tänav

maakond

maakorralduse ontoloogia (OWL)

koosneb

koosneb

WSDL komplekstüüp

<wsdl:types> ...<complexType name=“aadress1"sawsdl:modelReference = “http://www.riik.ee/ontoloogiad/maakorraldus/aadress"> <sequence><element name=“maakond“ type="xsd:string"/><element name=“tänav" type="xsd:string"/> ...</sequence>

Page 29: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

schemaMapping komplekstüüpide annoteerimisel

<wsdl:types> ...<complexType name=“aadress1"><sequence><element name=“maakond“ type="xsd:string"/><element name=“tänav" type="xsd:string"/>...</sequence></complexType>...</wsdl:types>

aadress

tänav

maakond

maakorralduse ontoloogia (OWL)

koosneb

koosneb

WSDL komplekstüüp

<wsdl:types> ...<complexType name=“aadress1"sawsdl:modelReference = “http://www.riik.ee/ontoloogiad/maakorraldus/aadress"sawsdl:liftingSchemaMapping = “http://.../vastavustabelid/aadress1_ontoloogia.xslt”sawsdl:loweringSchemaMapping = http://.../ontoloogia_aadress1.xslt”><sequence> …

Page 30: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

schemaMapping tehnoloogiad

<wsdl:types> ...<complexType name=“aadress1"><sequence><element name=“maakond“ type="xsd:string"/><element name=“tänav" type="xsd:string"/>...</sequence></complexType>...</wsdl:types>

aadress

tänav

maakond

maakorralduse ontoloogia (OWL)

koosneb

koosneb

WSDL komplekstüüp

lowering• XSLT• XQuery• vm

lifting• SPARQL• XSLT• XQuery• vm

Page 31: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

schemaMapping kasutamine

• vastavusse viiakse andmete tasandil, mitte skeemide tasandil

• mappingud on kasutatavad andmeteisenduselo kui on vaja käivitada teenust ja algandmed on RDFiso mediaatorina, kui on vaja ühe teenuse väljund suunata

teise teenuse sisendiks

Page 32: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

liftingSchemaMapping näide• Olgu veebiteenuse väljund järgmine

<KY_piirang xmlns="http://riik.ee/ont/maakorraldus#">

piirang_puudub </KY_piirang>

• ..ning olgu see väljund vaja anda semantilisele agendile, so teisendada agendile sobivale semantilisele kujule – RDF

• Teisenduseks kasutame XSLTd või XQuery’t• Tulemus:

<rdf:RDF xmlns:rdf=“..." <maakorraldus:katastriyksys> <piirang rdf:datatype=“...#boolean"> false </piirang> </maakorraldus:katastriyksys> </rdf:RDF>

Page 33: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Semantilise annoteerimise ülesanne

• Iga tiim (1-2 inimest) saab ülesande kirjeldada, sh semantiliselt, paari infovarao järgida semantika juhisto täiendada töö käigus ontoloogiat

• Luua üks kompleksteenuso teenuste kirjelduste alusel otsida vajalikud “klotsid”

teistelt rühmadelto kirjeldada kompleksteenus

Page 34: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Annoteerimise skeemid

• Eesnimi suvalises kontekstis– http://riha.eesti.ee/onto/isikuontoloogia/eesnimi• Juristi eesnimi– http://riha.eesti.ee/onto/ametiteontoloogia/Jurist

http://riha.eesti.ee/onto/isikuontoloogia/eesnimi• Juristi eesnimi passis– http://riha.eesti.ee/onto/ametiteontoloogia/Jurist

http://riha.eesti.ee/onto/isikuontoloogia/omabPassi http://riha.eesti.ee/onto/dokumentideontoloogia/Pass http://riha.eesti.ee/onto/isikuontoloogia/eesnimi

Page 35: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

KOKKUVÕTEKuidas edasi?

Page 36: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

SA-WSDL toega töövahendid

• XMLSpy ja Semantic Works, Altova• Semantic Tools for Web Services, IBM alphaWorks • WSMO Studio, Ontotext

o http://www.wsmostudio.org/o http://sourceforge.net/news/?group_id=119791

• Radiant WSDL-S/SA-WSDL Annotation Tool, University of Georgia

• Tekstiredaktorid• http://www.w3.org/2002/ws/sawsdl/#tools

Page 37: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Koos semantilise koosvõimeni!

• Semantiline koosvõime– tagab teenuste lihtsa leidmise ja rakendamise– tagab vajadusel kiire rakenduste muutmise– võimaldab tuvastada andmete ja teenuste liiasust– lihtsustab tarkavara dokumentatsioonist arusaamist

• Semantikavarade süstemaatilise haldamiseta ei saa olla semantilist koosvõimet!

Page 38: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Semantikaalast informatsiooni

Millega on tegemist, kuidas ennast arengutega kursis hoida ja oma panus anda?

1. Riigi infosüsteemi semantilise koosvõimega seotud dokumentatsioon, semantika töörühma materjalid jms http://www.riso.ee/wiki/Semantika

2. Teavituskanalina postitusnimekiri https://lists.riik.ee/listinfo/semantika

3. Semantika foorum aadressil http://www.riso.ee/et/forum/4

Page 39: Tallinnas, 04.06.2010 Peep Küngas,  peep@soatrader

Täname!

Lektoriga saab ühendust:1. Peep Küngas mailto://[email protected] callto://peepkungas

Koolitus toimus Euroopa Liidu struktuurifondide programmi “Infoühiskonna teadlikkuse tõstmine” raames, mida rahastab Euroopa Regionaalarengu Fond