tallinnas, 04.06.2010 peep küngas, peep@soatrader
DESCRIPTION
Ontoloogiate rakendamine infovarade semantilisel kirjeldamisel Semantika koolitusprogrammi 5. moodul i kohandus. Tallinnas, 04.06.2010 Peep Küngas, [email protected]. - PowerPoint PPT PresentationTRANSCRIPT
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
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>
Semantilise koosvõime arhitektuur
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>
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
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
KOKKUVÕTEKuidas edasi?
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
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!
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
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