330 likes | 503 Views
Ontoloogiate rakendamine infovarade semantilisel kirjeldamisel Peep Küngase Semantika koolitusprogrammi 5. moodul i kohandus. Tallinnas, 04. 11 .2010 Hele-Mai Haav.
E N D
Ontoloogiate rakendamine infovaradesemantilisel kirjeldamiselPeep KüngaseSemantika koolitusprogrammi 5. mooduli kohandus Tallinnas, 04.11.2010 Hele-Mai Haav Koolitus toimubEuroopa Liidu struktuurifondide programmi “Infoühiskonna teadlikkuse tõstmine” raames, mida rahastab Euroopa Regionaalarengu Fond
Miks IS semantiliselt rikastada? Korduvkasutus andmekvaliteet (andmete vastuolulisus dubleerimisest tulenevalt) investeeringud andmete tootmises Andmeintegratsioon eri allikatest vääritimõistmine investeeringud IS integratsioonile 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
Veebiteenusekirjelduskeel WSDL • Web Services Description Language (WSDL) v2.0 • seni on valdavalt kasutusel v1.1 • W3C soovitus 26. juuni 2007 • WSDL on XML formaat veebiteenuste , shkasutatavatesõnumite,kirjeldamiseks
Semantilisedveebiteenused • Semantic Web Services (SWS) • Teenused, mille kirjeldus sisaldab teenuse semantikat • Eesmärgiks automatiseerida teenuste otsingut, analüüsi, kombineerimist, käivitamist, monitooringut jne
Execution, Adaptation and Mediation Development / Description / Annotation Teenuse semantika komponendid WSDL, WSDL-S, SAWSDL, WSMO, OWL-S METEOR-S (MWSAF) BPWS4J, activeBPEL, WSMX METEOR-S Semantics Required for Web Processes Execution Semantics Data / Information Semantics QoS Semantics Functional Semantics BPEL, WS-Agreement, WS-PolicyMETEOR-S (MWSCF) (Semantic) UDDI METEOR-S (MWSDI) Composition, Configuration and Negotiation Publication / Discovery
Näide – milleks SWS? Olgu (EMTA, ajakirjandus, ..) vaja leida pankrotistunud ettevõtte omanikele kuuluva kinnisvara väärtus Loome ettevõtte omanike nimekirja (äriregistri päring) Loome igale omanikule kuuluvate kinnistute nimekirja (kinnisturaamatu päring) Määrame iga kinnistu väärtuse (mõne kinnisvarafirma või Maa-ameti hindamiste andmebaas vm infoallikas)
<complexType name="getCompanyDetails"> <sequence> <element name="registryCode" type="string"/> </sequence> </complexType> ariregister::getCompanyDetails() … <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>
getCompanyDetails registryCode estonianIdCode Olemasolevad “klotsid”… getRegisteredImmovables nationalIdCode newRegisterPartNumber getImmovableDetails registerPartNumber cadastralRegistryNumber objektiHind registrikood summa
getCompanyDetails registryCode estonianIdCode ..vajavad seostamist getRegisteredImmovables nationalIdCode newRegisterPartNumber getImmovableDetails registerPartNumber cadastralRegistryNumber objektiHind registrikood summa
Land Registry Number National Identification Code Swedish Identification Code Old Land Registry Number registryCode estonianIdCode ..vajavad kontseptuaalset korrastamist New Land Registry Number Estonian Identification Code nationalIdCode newRegisterPartNumber Business Registry Code Cadastral Registry Number registerPartNumber cadastralRegistryNumber registrikood summa Value
Business Registry Code getCompanyDetails Tulemiks kompleksteenus getRegisteredImmovables getImmovableDetails Value objektiHind
Käivita WSMO Studio • Impordiloodudontoloogia WSMOStudiosse • kontrolliüleontoloogiaelemendid, seosed • Impordi WSDL (faili laiendiks peab olema .wsdl) • veendu, et WSDLi struktuur tuli kenasti sisse WSMO Studio
SA-WSDL Semantic Annotations for WSDL and XML Schema W3C soovitus (recommendation) 28. august 2007 http://www.w3.org/TR/2007/REC-sawsdl-20070828/ 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 “omad”: RDFS, OWL OMG: UML (OUP) korraga võib kasutada mitmeid ontoloogiaid >> WSDL toetab süntaktilist koosvõimet >> SA-WSDL toetab semantilist koosvõimet
SA-WSDL terminoloogia semantiline mudel (semantic model) masin-loetav maailma osa peegeldus nt ontoloogia, taksonoomia, sõnastik, ... kontsept (concept) semantilise mudeli element, nt mõiste, klassifikaatori element, seos, omaduse väärtus, instants, aksioom, reegel, .. peab olema URI abil identifitseeritav semantiline annotatsioon (semantic annotation) infokogumis (dokumendis) olev täiendav info mis viitab mõistele semantilises mudelis selleks, et kirjeldada infokogumis osa SA-WSDLis on semantiline annotatsioon XML parameetritena (attribute)
SA-WSDL = 3 märgendit modelReference seose spetsifitseerimiseks WSDL või XML Schema komponendi ja mõne semantilise mudeli kontsepti vahel liftingSchemaMapping transformatsiooni spetsifitseerimiseks XML-põhisest andmekogumist > semantilise mudeli kujule loweringSchemaMapping transformatsiooni spetsifitseerimiseks vastupidisel suunal
SA-WSDL skoop modelReference schemaMapping SA-WSDL eikäsitlerakenduslikke WSDL komponente 63 63
SA-WSDL - modelReference Seose spetsifitseerimiseks WSDL või XML Schema komponendi ja mõne semantilise mudeli kontsepti vahel Komponendiks võivad olla WSDL komponent liides - wsdl:interface teenus - wsdl:operation erind - wsdl:fault 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 elementi dokument võib olla WSDL väline või samas WSDLis 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) katastriüksus WSDL lihttüüp kinnisvara ontoloogia (OWL) <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 annotatsioonmitmeleontoloogia/mõistelesuurendabtõenäosustteenustotsingugaleida
XSD kompleksandmetüüp Võivad sisaldada parameetreid ja elemente Defineeritakse kasutades olemasolevaid andmetüüpe (sh kasutaja defineeritud) ning sequence – kohustuslike elementide hulk, järjekord on tähtis all – kohustuslike elementide hulk, järjekord ei ole tähtis 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”/>
modelReferencekomplekstüüpidebottom-levelannoteerimiseks <wsdl:types> ... <complexType name=“aadress1"> <sequence> <element name=“maakond“ type="xsd:string"/> <element name=“tänav" type="xsd:string"/> ... </sequence> </complexType> ... </wsdl:types> aadress maakond koosneb … koosneb tänav WSDL komplekstüüp maakorralduse ontoloogia (OWL) <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>
modelReferencekomplekstüüpidetop-levelannoteerimiseks <wsdl:types> ... <complexType name=“aadress1"> <sequence> <element name=“maakond“ type="xsd:string"/> <element name=“tänav" type="xsd:string"/> ... </sequence> </complexType> ... </wsdl:types> aadress maakond koosneb … koosneb tänav WSDL komplekstüüp maakorralduse ontoloogia (OWL) <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>
schemaMappingkomplekstüüpideannoteerimisel <wsdl:types> ... <complexType name=“aadress1"> <sequence> <element name=“maakond“ type="xsd:string"/> <element name=“tänav" type="xsd:string"/> ... </sequence> </complexType> ... </wsdl:types> aadress maakond koosneb … koosneb tänav WSDL komplekstüüp maakorralduse ontoloogia (OWL) <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> …
schemaMappingtehnoloogiad • lifting • SPARQL • XSLT • XQuery • vm aadress maakond koosneb … koosneb tänav maakorralduse ontoloogia (OWL) <wsdl:types> ... <complexType name=“aadress1"> <sequence> <element name=“maakond“ type="xsd:string"/> <element name=“tänav" type="xsd:string"/> ... </sequence> </complexType> ... </wsdl:types> • lowering • XSLT • XQuery • vm WSDL komplekstüüp
schemaMapping kasutamine vastavusse viiakse andmete tasandil, mitte skeemide tasandil mappingud on kasutatavad andmeteisendusel kui on vaja käivitada teenust ja algandmed on RDFis mediaatorina, kui on vaja ühe teenuse väljund suunata teise teenuse sisendiks
liftingSchemaMappingnä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 http://www.wsmostudio.org/ 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 toimusEuroopa Liidu struktuurifondide programmi “Infoühiskonna teadlikkuse tõstmine” raames, mida rahastab Euroopa Regionaalarengu Fond