1 / 95

Martin Luts, CISA martin.luts@eesti.ee

Ontoloogiate rakendamine infovarade semantilisel kirjeldamisel Semantika koolitusprogrammi 5. moodul. Martin Luts, CISA martin.luts@eesti.ee. Tellija: Euroopa Liidu struktuurifondide programm “Infoühiskonna teadlikkuse tõstmine”. agendum. kordamine infovarade kirjeldamise rationale

lilka
Download Presentation

Martin Luts, CISA martin.luts@eesti.ee

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ontoloogiate rakendamine infovaradesemantilisel kirjeldamiselSemantika koolitusprogrammi 5. moodul Martin Luts, CISA martin.luts@eesti.ee Tellija: Euroopa Liidu struktuurifondide programm “Infoühiskonna teadlikkuse tõstmine”

  2. agendum kordamine infovarade kirjeldamise rationale semantilise kirjeldamise standard SA-WSDL kirjeldame infovarasid: veebiteenused, sh x-tee teenused (WSDL) andmekogude andmekoosseisud, andmekirjeldused (XMI, XSD) dokumendihaldus menetlusprotsessid (BPMN) finantstaksonoomiad (XBRL) semantilised wikid, blogid jt praktika töövahendite tutvustus, demo rühmatöö soovitusi elluviimiseks

  3. oskus luua semantiliselt annoteeritud infovarade kirjeldusi • teadmised, kuidas semantiliselt annoteeritud infovarade kirjeldusi luuakse, delegeerida loomist päeva eesmärk

  4. agendum kordamine infovarade kirjeldamise rationale semantilise kirjeldamise standard SA-WSDL kirjeldame infovarasid: veebiteenused, sh x-tee teenused (WSDL) andmekogude andmekoosseisud, andmekirjeldused (XMI, XSD) dokumendihaldus menetlusprotsessid (BPMN) finantstaksonoomiad (XBRL) semantilised wikid, blogid jt praktika töövahendite tutvustus, demo rühmatöö soovitusi elluviimiseks

  5. mis on ontoloogia? (vt defineerimise viisid) • miks luuakse ontoloogiaid? • mis teeb ontoloogiast masinloetava, masininterpreteeritava? • mille poolest erineb ontoloogia: • andmebaasi skeemist (DDL) • valdkonnamudelist (UML klassiskeem)? • ... (millega veel ontoloogia sarnaneb?) rühmatöö - koolituse eelnevad moodulid

  6. ontoloogia vrs andmebaas (ja andmebaasiskeem) UML mudel ..

  7. agendum kordamine infovarade kirjeldamise rationale semantilise kirjeldamise standard SA-WSDL kirjeldame infovarasid: veebiteenused, sh x-tee teenused (WSDL) andmekogude andmekoosseisud, andmekirjeldused (XMI, XSD) dokumendihaldus menetlusprotsessid (BPMN) finantstaksonoomiad (XBRL) semantilised wikid, blogid jt praktika töövahendite tutvustus, demo rühmatöö soovitusi elluviimiseks

  8. business case –milleks SWS? olgu (EMTA, ajakirjandus, ..) vaja leida pankrotistunud ettevõtte omanikele kuuluva kinnisvara väärtus request WSDL: input – mida teame, output – mida soovime WSMO goal 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)‏

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

  10. getCompanyDetails registryCode estonianIdCode olemasolevad “klotsid”… getRegisteredImmovables nationalIdCode newRegisterPartNumber getImmovableDetails registerPartNumber cadastralRegistryNumber objektiHind registrikood summa

  11. getCompanyDetails registryCode estonianIdCode ..vajavad integraatori seostamist (inimkätt ja –mõistust:) getRegisteredImmovables nationalIdCode newRegisterPartNumber getImmovableDetails registerPartNumber cadastralRegistryNumber objektiHind registrikood summa

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

  13. Business Registry Code getCompanyDetails tulemiks kompleksteenus getRegisteredImmovables getImmovableDetails Value objektiHind

  14. <complexType name=”Immovable"> <sequence> <element name=”registryCode”type="string"/> <element name=”registrationDate" type=”datetime"/> </sequence> </complexType> näide –“tavaline” XSD

  15. <complexType name=”Immovable"> <sequence> <element name=”registryCode” type="string“ sawsdl:modelReference="http://riik.ee/onto/maakorraldus/katastritunnus" /> <element name=”registrationDate" type=”datetime"/> </sequence> </complexType> näide –semantiliselt rikastatud XSD

  16. eeldasime “jagatud ontoloogia” kasutamist eri osapoolte vahel: • teenuse kasutaja (requester) ja teenuse pakkuja (provider) • kompleksteenuse elementides • kui eeldus ei kehti, on vaja ontoloogiaid (kuigi sama valdkonna omad) mäppida • Org2Ont:toodekood rdfs:subClassOf Org1Ont:ID • Org2Ont:hulk owl:equivalentClass Org1Ont:kogus mitmekesisuse eskalatsioon..

  17. WS automaatkompositsioon

  18. installeerida WSMO Studio • importida koolituse 1. päeval loodud ontoloogia WSMO-sse • kontrollida üle ontoloogia elemendid, seosed • lisada ontoloogiasse elemente, instantse • visualiseerida ontoogia (WSMO Visualizer) • * WSMO ülesanne

  19. agendum kordamine infovarade kirjeldamise rationale semantilise kirjeldamise standard SA-WSDL kirjeldame infovarasid: veebiteenused, sh x-tee teenused (WSDL) andmekogude andmekoosseisud, andmekirjeldused (XMI, XSD) dokumendihaldus menetlusprotsessid (BPMN) finantstaksonoomiad (XBRL) semantilised wikid, blogid jt praktika töövahendite tutvustus, demo rühmatöö soovitusi elluviimiseks

  20. teenus teenusorienteeritud paradigma (ka: arhitektuur)‏ eelnevad paradigmad: objekt-orienteeritus komponent-põhine lähenemine ODP (open disributed processing)‏ teenus ei tea kasutajaid ette, kasutajad ei tea teenuse sisemist toimimist, kokku lepitakse vaid liides üks kolmest SOA ehituskivist teenus, kui liidese kokkulepe komponent/agent, milline realiseerib teenuse voog (flow), teenuste komponeerimine

  21. teenusorienteerituse printsiibid korduvkasutus (multiple-use)‏ kasutussituatsioonist sõltumatus (non-context-specific)‏ liidese taga oleva varjatus (encapsulated)‏ teenus kui elementaarühik (arendus, versioniseerimine jms)‏ koosvõime (interoperability)‏ platvormist sõltumatus (heterogeneity)‏ agora e. turukäitumine (trading/broking)‏ 10x jämedakoelisem kui OO klassi meetod (coarse-grained) >> millised neist vajavad teenuste semantilist kirjeldamist?? ‏

  22. veebiteenus üks võimalikke viise teenusorienteeritud arhitektuur implementeerida – kasutades Veebi ja internetitehnoloogiaid VeebiTeenus – tarkvarasüsteem, mis on loodud masin2masin suhtluseks võrgus [W3C] W3C > Architecture Domain > Web Services Activity http://www.w3.org/2002/ws/ Web Services Choreography Working Group Web Services Policy WG Semantic Web Services Interest Group Semantic Annotations for Web Services Description Language WG Web Services Architecture WG Web Services Description WG, ..

  23. veebiteenuse kirjelduskeel WSDL • Web Services Description Language (WSDL) v2.0 • W3C soovitus 26. juuni 2007 • WSDL on XML formaat võrguteenuste kirjeldamiseks, sh kasutatavate sõnumite

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

  25. veebiteenuste arhitektuur

  26. veebiteenuste kirjeldamine süntaktiline kirjeldus semantiline kirjeldus nt pangateenuste “raha arvele kandmine” ja “raha arvelt võtmine” süntaktiline kirjeldus võivad kattuda

  27. semantilised veebiteenused • Semantic Web Services (SWS)‏ • teenused, mille kirjeldus sisaldab teenuse semantikat • eesmärgiks automatiseerida teenuste otsingut, kompositsiooni, väljakutset, monitooringut jne • The WSDL 2.0 W3C Recommendation does not include semantics in the description of Web services. Therefore, two services can have similar descriptions while meaning totally different things, or they can have very different descriptions yet similar meaning. Resolving such ambiguities in Web services descriptions is an important step toward automating the discovery and composition of Web services — a key productivity enabler in many domains including business application integration.

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

  29. teenuste semantika –andmete komponent kasutamise eelne ja kõikehõlmav andmeväljade kirjeldamine paindumatu raske lisada uusi teenuspakkujaid ja teenuseid kasutada “standardsõnastikke”, nt Rosetta Net standard võib kitsaks jääda ei ole “ellu läinud” kasutada ontoloogiaid uus, kõrgendatud ootustega

  30. Semantiline koosvõime – organisatsioonide võime mõistaandmete tähendust ühte moodi <operation name="kylogi"> <documentation> <xtee:title>KÜ logi</xtee:title> </documentation> <inputmessage="s:kylogiIn" /> <outputmessage="s:kylogiResponseOut" /> </operation>

  31. Semantilise koosvõime arhitektuur

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

  33. Mida IS omanik peab tegema? teenuste semantiline kirjeldus tsentraalse sõnaraamatu koostamine teenuste sisend- ja väljundandmete jaoks juhis http://www.riso.ee/et/koosvoime/semantika/ töövahendid: RIHA, SEHKE jt

  34. <!--andmeteenuste kirjeldus (vt [T-R4]--> <wsdl:interface name="MIS_andmeteenused"> <wsdl:operation name="katastriyksuse_kitsendused" <documentation> <xtee:title>katastriüksuse kehtivate kitsenduste päring katastriüksuse tunnuse järgi</xtee:title> <xtee:notes>teenuse abil saab pärida suvalise Eesti territoorimil asuva ja Maakatastris registreeritud katastriüksuse kehtivaid kitsendusi </xtee:notes> <xtee:technotes>Eeltingimused: teenust osutatakse kõigile soovijatele piiranguteta. Sisend-väljund seos: päringuteenus annab katastriüksuse kehtivad kitsendused. Tulem: andmeid ei muudeta, lisata, kustutata. Muu: teenusega saadud andmetele ei ole õiguslikku tähendust.</xtee:technotes> </documentation> ... </wsdl:operation> </wsdl:interface>

  35. x-tee teenuste kirjelduste otsing (RIHAst) • tekstiredaktoriga modifitseerides jätta alles 2-3 operatsiooni, importida vajalikud XSD-d • WSDL import WSMO-sse • tutvuda teenustega ja teenustega seotud sisendite ning väljunditega (NB! kasutada WSMO Text Editori) • täiendada ontoloogiat teenustega seotud sisendite ja väljundite ulatuses • tekitada juurde ühe teenuse kirjeldus WSDL ülesanne

  36. agendum kordamine infovarade kirjeldamise rationale semantilise kirjeldamise standard SA-WSDL kirjeldame infovarasid: veebiteenused, sh x-tee teenused (WSDL) andmekogude andmekoosseisud, andmekirjeldused (XMI, XSD) dokumendihaldus menetlusprotsessid (BPMN) finantstaksonoomiad (XBRL) semantilised wikid, blogid jt praktika töövahendite tutvustus, demo rühmatöö soovitusi elluviimiseks

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

  38. 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 kontseptilesemantilises mudelis selleks, et kirjeldada infokogumis osa SA-WSDLis on semantiline annotatsioon XML parameetritena (attribute)

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

  40. SA-WSDL skoop modelReference schemaMapping SA-WSDL ei käsitle rakenduslikke WSDL komponente 63 63

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

  42. modelReference teenuste annoteerimiseks <wsdl:operation name=“jaga_KY"> <wsdl:input element=“JKY_Request"/> <wsdl:output element=“JKY_Response"/> </wsdl:operation> KY toimingud isA isA jaga_katastriüksus WSDL teenus liida_KY maakorralduse ontoloogia (OWL)‏ <wsdl:operation name=“jaga_KY“ sawsdl:modelReference = “http://www.riik.ee/ontoloogiad/maakorraldus/ jaga_katastriüksus"> <wsdl:input element=“JKY_Request"/> <wsdl:output element=“JKY_Response"/> </wsdl:operation> SA-WSDL teenus 65

  43. modelReference teenuste (WSDL 1.1) annoteerimiseks <wsdl:operation name=“jaga_KY"> <wsdl:input element=“JKY_Request"/> <wsdl:output element=“JKY_Response"/> </wsdl:operation> KY toimingud isA isA jaga_katastriüksus WSDL teenus liida_KY maakorralduse ontoloogia (OWL)‏ <wsdl:operation name=“jaga_KY“> <sawsdl:attrExtensions sawsdl:modelReference = “…” > <wsdl:input element=“JKY_Request"/> <wsdl:output element=“JKY_Response"/> </wsdl:operation> SA-WSDL teenus 66

  44. 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 kontseptile – 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, ...

  45. kordamineXML Schema – andmetüübid XSD võimaldab lisaks dokumendi struktuurile kontrollida andmete sisu - piirata andmetüüpe (aga mitte terviklust, õigsust, jt kvaliteedinäitajaid)‏ sisseehitatud andmetüübid 44 tk numbrilised: integer, short, byte, long, float, decimal tekstilised: string, ID, IDREF, CDATA, language aeg: time, date, month, year kasutaja defineeritud andmetüüpid simple data types complex data types

  46. XSD lihtandmetüüp olemasolevale andmetüübile seatakse piirang <simpleType name=“KY”> <restriction base=“integer”> <minInclusive value=“1”/> <maxInclusive value=“999999999”/> </restriction> </simpleType> .. ja kasutamine elemendis <element name=“jagatav_KY”type=“KY”/> või parameetris <attribute name=“piiranguga_KY”type=“KY”/>

More Related