Tallinnas, 04. 11 .2010 Hele-Mai Haav

Preview:

DESCRIPTION

Ontoloogiate rakendamine infovarade semantilisel kirjeldamisel Peep Küngase Semantika koolitusprogrammi 5. moodul i kohandus. Tallinnas, 04. 11 .2010 Hele-Mai Haav. - PowerPoint PPT Presentation

Citation preview

Ontoloogiate rakendamine infovaradesemantilisel kirjeldamisel

Peep Küngase Semantika koolitusprogrammi 5. mooduli kohandus

Tallinnas, 04.11.2010Hele-Mai Haav

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

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

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

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

Semantilised veebiteenused

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

semantikat• Eesmärgiks automatiseerida teenuste

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

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)

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)

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>

Olemasolevad “klotsid”…

objektiHind

getImmovableDetails

getRegisteredImmovables

getCompanyDetails

registryCode

estonianIdCode

nationalIdCode

newRegisterPartNumber

registerPartNumber

cadastralRegistryNumber

registrikood summa

..vajavad seostamist

objektiHind

getImmovableDetails

getRegisteredImmovables

getCompanyDetails

registryCode

estonianIdCode

nationalIdCode

newRegisterPartNumber

registerPartNumber

cadastralRegistryNumber

registrikood summa

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

Tulemiks kompleksteenus

objektiHind

getImmovableDetails

getRegisteredImmovables

getCompanyDetails

Business

Registry

Code

Value

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

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

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)

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

63

SA-WSDL skoop

63

SA-WSDL ei käsitle rakenduslikke WSDL komponente

modelReference

schemaMapping

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

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, ...

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)

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

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”/>

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>

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>

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> …

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

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

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>

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

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

Täname!

Lektoriga saab ühendust:1. Hele-Mai Haav mailto://helemai@cs.ioc.ee

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

Recommended