1 / 65

7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása. Dr. Bilicki Vilmos Szegedi Tudományegyetem Informatikai Tanszékcsoport Szoftverfejlesztés Tanszék. Tartalom. RUP – absztrakciós szintek Adatábrázolás Relációs OO Szemantikus Web. RUP – absztrakciós szintek. RUP.

bisa
Download Presentation

7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása

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. 7. Nyelvi paradigmák trendek - adatábrázolás megvalósítása Dr. Bilicki Vilmos Szegedi Tudományegyetem Informatikai Tanszékcsoport Szoftverfejlesztés Tanszék

  2. Programrendszerek fejlesztése Tartalom • RUP – absztrakciós szintek • Adatábrázolás • Relációs • OO • Szemantikus Web

  3. Programrendszerek fejlesztése RUP – absztrakciós szintek • RUP

  4. Programrendszerek fejlesztése Nyelvek fejlődése

  5. Programrendszerek fejlesztése Programozási nyelvek - adatkezelés • Logikai adatmodell • Fizikai adatmodell • Relációs • OO • Szemantikus Web

  6. Programrendszerek fejlesztése A Web fejlődése • Web 1.0 • Web 2.0 • Web 3.0

  7. Programrendszerek fejlesztése Web 1.0 • Az 1.0-ás web sikerénke hátterében az alábbi három technológia állt: • Egyszerű és egységes címzési séma az infomráció darabkák címzésére: Uniform Resource Identifiers (URIs) • Egyszerű és egységes reprezentációs formalizmus az információ darabkák struktúrálására annak érdekében, hogy a böngészők meg tudják jeleníteni Hyper Text Markup Language (HTML) • Egyszerű és egységes protokoll az információ darabkák eléréséreHyper Text Transfer Protocol (HTTP)

  8. Programrendszerek fejlesztése Web 2.0 fontosabb eredményei • Négy fontosabb terület: • A tartalom fogyasztók és a tartalom gyártók közötti megkülönböztetés elmosása • Az egyedek számára készített médiától elmozdult a közösségek számára készített média felé • A szolgáltatás gyártók és a szolgáltatás fogyasztók közötti különbség elmosása • A humán és a gépi számítástechnika újszerű integrálása

  9. Programrendszerek fejlesztése 1. A tartalom fogyasztók és a tartalom gyártók közötti megkülönböztetés elmosása Wiki, Blog-ok, és a Twiter a szöveges publikálást tömeges jelenséggé tették a flickr és a youtube hasonló eredményt ért el a multimédia területén

  10. Programrendszerek fejlesztése 2. Az egyedek számára készített médiától elmozdult a közösségek számára készített média felé A szociális web oldalak: del.icio.us, facebook, FOAF, linkedin, myspace és Xing lehetővé teszik a közösségeknek, hogy gördülékenyen információt cseréljenek és együttműködjenek

  11. Programrendszerek fejlesztése 3. A szolgáltatás gyártók és a szolgáltatás fogyasztók közötti különbség elmosása Mashups-ok segítségével a felhasználók mások által készített szolgáltatásokat integrálhatnak weboldalaikba

  12. Programrendszerek fejlesztése 4. A humán és a gépi számítástechnika újszerű integrálása Amazon Mechanikus Török (Mechanical Turk)- lehetővé teszi humán szolgáltatások igénybevételét webszolgáltatás interfészen keresztül programok számárára elmosva ezzel a humán és a gépi szolgáltatás határát

  13. A mostani Web korlátai • A mai Web technológia az alábbi területeken gyengén teljesít: • Megfelelő információ fellelése • Megfelelő információ kinyerése • Az infomráció összefűzése és újrafelhasználása Programrendszerek fejlesztése

  14. A megfelelő információ fellelése • A mai webes keresés kulcs alapú keresésen alapul • Korlátozott pontosság: • Szinonímák: • Autókra keresve nem kapjuk meg a gépjárművekkel kapcsolatos oldalakat is • Homonímák: • Jaguárra keresve megkapjuk az autót és a vadon éllő állatot is. Egyikre lettünk volna kíváncsiak Programrendszerek fejlesztése

  15. Megfelelő információk kinyerése • A weboldalból történő információ kinyerésre nincs általánosan használható megoldás • Sok különböző formátum, nyelv, kódolás, …. Melyik könyv szól a webről? Mennyibe kerül a könyv? Programrendszerek fejlesztése

  16. Az XSLT nem megoldás • Weboldalanként lehetnének burkolók WEB HTML oldal Layout Struktúrált adat, Adatbázisok, XML Struktúra Burkoló kinyer annotál struktúrál Programrendszerek fejlesztése

  17. Meg kell növelni az automatikus összeköttetések mennyiségét/képességét az adatok között Meg kell növelni a pontosságot Meg kell növelni az adat integrálás automatizáltságát A megoldás: szemantikát kell adni az adatokhoz, szolgáltatásokhoz! Hogyan léphetünk ezeken túl? Programrendszerek fejlesztése

  18. „A szemantikus web a mai web egy kiegészítése amely segítségével az információnak jól definiált jelentése van, ezzel segíti elő a számítógépek és az emberek együttműködését” “The Semantic Web is an extension of the current web in which information is given well-defined meaning, better enabling computers and people to work in cooperation.”T. Berners-Lee, J. Hendler, O. Lassila, “The Semantic Web”, Scientific American, May 2001 Összefoglalva: A WWW következő generációja Az információnak van egy gépek által feldolgozható, megérthető szemantikája Nem különül el a mostani webtől, hanem kiegészíti azt A szemantikus web alapjait az ontológiák jelentik Mi a szemantikus web? Programrendszerek fejlesztése

  19. Ontológia A tartomány konceptuális modellje (ontológiaelmélet) egy közös koncepció formális, egyértelmű specifikálása Egyértelmű terminológia definíciók Közösen elfogadott jelentés Gépek számára érthető Programrendszerek fejlesztése

  20. Példa Koncepció A tartomány egy koncepcionális entitása Tulajdonság A koncepció egy leíró tulajdonsága Viszony A koncepció és a tulajdonságai közötti viszony Axióma Koherencia leírás a Koncepció/Tulajdonság/Viszony között logikai kifejezések formájában name email Person matr.-nr. research field isA – hierarchy (rendszertan) Student Professor attends holds Lecture lecture nr. topic holds(Professor, Lecture) => Lecture.topic = Professor.researchField Programrendszerek fejlesztése

  21. Ontológia típusok Felső szintűO., Általános O. Alap O., Mag O., Magas szintű O, Felső O. Nagyon általános koncepciókat ír le, ezek nem függnek az adott probléma tartománytól. Idő, esemény, tér, … Általános feladattal, tevékenységgel kapcsolatos szótár a felső szintű ontológiában definiált koncepció specializálása Terület Ontológia Feladat & Probléma megoldásontológia Egy adott területtől függő szótárat ír le a magasabb szintű ontológiában található koncepciók specializációjával A legspecifikusabb. A koncepciók gyakran az adott terület konkrét szerepköreihez és az általuk végzett tevékenységekhez köthetőek Alkalmazás Ontológia Programrendszerek fejlesztése

  22. Szemantikus web verem Rules: RIF Adapted from http://en.wikipedia.org/wiki/Semantic_Web_Stack Programrendszerek fejlesztése

  23. RDF, RDF séma • RDF • Resource Description Framework • Adat modell • Szintaxis (XML) • Terület független • A szótárat az RDF séma határozza meg • RDF Séma • RDF Szótár Leíró Nyelv • Az adott terület szemantikus modelljét írja le Programrendszerek fejlesztése

  24. Programrendszerek fejlesztése RDF alapok • RDF segítségével állításokat tudunk megfogalmazni az erőforrásokra vonatkozóan: • Jóska apja Balázs • Hármas adat modell <subject,predicate,object > • Alany: erőforrás vagy üres csomópont • Állítmány: tulajdonság • Tárgy: erőforrás, vagy erőforrás csoport, literális vagy üres csomópont • Csak bináris állítmányok

  25. Erőforrások • Az erőforrás lehet • Web oldal (pl.:http://www.w3.org) • Egy személy (pl.:http://www.fensel.com) • Egy könyv (pl.:. urn:isbn:0-345-33971-1) • Minden URI-val jelölhető entitás! • Az URI egy azonosító és nem egy hely a weben • Az RDF segítségével állításokat írhatunk le az erőforrásokról • http://www.w3.orga formátuma text/html • http://www.fensel.coma keresztneve Dieter • urn:isbn:0-345-33971-1a szerzője Tolkien Programrendszerek fejlesztése

  26. URI, URN, URL • A Uniform Resource Identifier (URI) egy karakterlánc amely egy név vagy egy erőforrás azonosítására szolgáll az interneten • A URI lehet URL vagy URN • A Uniform Resource Name (URN) egy entitás identitását definiálja • A URN urn:isbn:0-395-36341-1egy URI mely megadja az azonosító rendszert pl.: International Standard Book Number (ISBN), és az egyedi azonosítót ezen rendszeren belül • Az Uniform Resource Locator (URL) egy metódust ad e fellelésére • a URL http://www.inf.u-szeged.hu/~bilickiv/ azonosítja az erőforrást hozzáférhető, elérhető formában Programrendszerek fejlesztése

  27. Szavak • Egyszerű szavak • Pl.:”BÁRMILYEN SZÖVEG” • A nyelv címke opcionális, pl.:”Hello, how are you?”@en-GB • Típusos szavak • Pl.:"hello"^^xsd:string, "1"^^xsd:integer • Ajánlott adattípusok: • XML séma adattípusok <http://example.org/#john>, <http://example.org/#hasName>, ”John Smith”ˆˆxsd:string Programrendszerek fejlesztése

  28. Üres csomópontok • URI nélküli csomópontok • Névtelen erőforrások • Komplex konstrukciók • Az üres csomópontok reprezentálásá szintaxis függő • Üres csomópont azonosító • Például: <#john>, <#hasName>, _:johnsname _:johnsname, <#firstName>, ”John”ˆˆxsd:string _:johnsname, <#lastName>, ”Smith”ˆˆxsd:string Programrendszerek fejlesztése

  29. RDF tárolók • A tulajdonság értékek csoportosítására: Programrendszerek fejlesztése

  30. RDF gráf reprezntáció • Az AI területen az ilyen gráfokat szemantikus gráfoknak hívják (hármas) • Címkézett, irányított gráf • Csomópontok: erőforrások, szavak • Címkék: tulajdonságok • Élek: állítások Programrendszerek fejlesztése

  31. RDF: közvetlenül csatol irányított gráf Programrendszerek fejlesztése

  32. RDF Tárolók gráf ábrázolás: Bag “The lecture is attended by John, Mary and Chris” Programrendszerek fejlesztése

  33. RDF Tárolók gráf ábrázolás : Seq “[RDF-Concepts] is edited by Graham and Jeremy (in that order)” Programrendszerek fejlesztése

  34. RDF Tárolók gráf ábrázolás: Alt “The source code for the application may be found at ftp1.example.org, ftp2.example.org, ftp3.example.org” Programrendszerek fejlesztése

  35. Szemantikus Web Verem Adapted from http://en.wikipedia.org/wiki/Semantic_Web_Stack Programrendszerek fejlesztése

  36. Ontológia nyelvel szemben támasztott követelmények • Jól definiált szintaxis • Jó kifejezőképesség • Formális szemantika • Amire szükség van a következtetésnél, pl.: • Class membership • Equivalence of classes • Consistency • Classification • Hatékony követekzetetés támogatás Programrendszerek fejlesztése

  37. OWL • Az ontólógiák objektumok a weben, saját verziózással, meta adatokkal, …. • Az ontológiák bővíthetőek • Tartalmaznak osztályokat, tulajdonságokat, adattípusokat, tartományokat, egyedeket • Egyenlőséget (osztály, egyed) • Osztályokat int példányokat • Számossági kényszereket • XML szintaxist Programrendszerek fejlesztése

  38. Lite A tanulási idő rövidítése érdekében korlátolt DL • DL = Description LogicDescription Logics a First Order Logic (FOL) része, lehet következtetni lite Full unrestricted use of OWL constructs, but cannot reason DL Full OWL dialektusok Programrendszerek fejlesztése

  39. OWL dialektusok • OWL Lite • (sub)classes, individuals • (sub)properties, domain, range • conjunction • (in)equality • cardinality 0/1 • datatypes • inverse, transitive, symmetric properties • someValuesFrom • allValuesFrom • OWL DL • Negation • Disjunction • Full cardinality • Enumerated types • hasValue • OWL Full • Meta-classes • Modify language Programrendszerek fejlesztése

  40. OWL Syntax: Abstract Syntax • One of the clearer human-readable syntaxes Class(SpicyPizza complete annotation(rdfs:label "PizzaTemperada"@pt) annotation(rdfs:comment "Any pizza that has a spicy topping is a SpicyPizza"@en) Pizza restriction(hasToppingsomeValuesFrom(SpicyTopping)) ) Programrendszerek fejlesztése

  41. OWL Syntax: N3 • Recommended for human-readable fragments default:SpicyPizza a owl:Class ; rdfs:comment "Any pizza that has a spicy topping is a SpicyPizza"@en ; rdfs:label "PizzaTemperada"@pt ; owl:equivalentClass [ a owl:Class ; owl:intersectionOf (default:Pizza [ a owl:Restriction ; owl:onPropertydefault:hasTopping ; owl:someValuesFromdefault:SpicyTopping ]) ] . Programrendszerek fejlesztése

  42. OWL Syntax: RDF/XML • Recommended for serialisation <owl:Classrdf:ID="SpicyPizza"> <rdfs:labelxml:lang="pt">PizzaTemperada</rdfs:label> <rdfs:commentxml:lang="en">Any pizza that has a spicy topping is a SpicyPizza</rdfs:comment> <owl:equivalentClass> <owl:Class> <owl:intersectionOfrdf:parseType="Collection"> <owl:Classrdf:about="#Pizza"/> <owl:Restriction> <owl:onProperty> <owl:ObjectPropertyrdf:about="#hasTopping"/> </owl:onProperty> <owl:someValuesFromrdf:resource="#SpicyTopping"/> </owl:Restriction> </owl:intersectionOf> </owl:Class> </owl:equivalentClass> </owl:Class> Programrendszerek fejlesztése

  43. Programrendszerek fejlesztése Osztályok/Példányok

  44. Programrendszerek fejlesztése Osztály hierarchia

  45. Programrendszerek fejlesztése Egyébb viszonyok

  46. Programrendszerek fejlesztése Egyébb viszonyok

  47. Programrendszerek fejlesztése Egyébb viszonyok (halmaz)

  48. Programrendszerek fejlesztése Szűrések

  49. Programrendszerek fejlesztése Szűkítések

  50. Programrendszerek fejlesztése Felsorolások/inverz

More Related