UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tartalom RUP – absztrakciós szintek Adatábrázolás ■Relációs ■OO ■Szemantikus Web Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS RUP – absztrakciós szintek RUP Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Nyelvek fejlődése Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozási nyelvek - adatkezelés Logikai adatmodell Fizikai adatmodell Relációs OO Szemantikus Web Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A Web fejlődése 1.Web Web Web 3.0 Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Web 1.0 Az 1.0-ás web sikerénke hátterében az alábbi három technológia állt: 1.Egyszerű és egységes címzési séma az infomráció darabkák címzésére: Uniform Resource Identifiers (URIs) 2.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) 3.Egyszerű és egységes protokoll az információ darabkák elérésére Hyper Text Transfer Protocol (HTTP) Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Web 2.0 fontosabb eredményei Négy fontosabb terület: 1.A tartalom fogyasztók és a tartalom gyártók közötti megkülönböztetés elmosása 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é 3.A szolgáltatás gyártók és a szolgáltatás fogyasztók közötti különbség elmosása 4.A humán és a gépi számítástechnika újszerű integrálása Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 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é Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS A mai Web technológia az alábbi területeken gyengén teljesít: 1.Megfelelő információ fellelése 2.Megfelelő információ kinyerése 3.Az infomráció összefűzése és újrafelhasználása A mostani Web korlátai Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 A megfelelő információ fellelése Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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, …. Megfelelő információk kinyerése Melyik könyv szól a webről? Mennyibe kerül a könyv? Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Weboldalanként lehetnének burkolók Az XSLT nem megoldás WEB HTML oldal Layout Struktúrált adat, Adatbázisok, XML Struktúra Burkoló kinyer annotál struktúrál Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Hogyan léphetünk ezeken túl? 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! Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Mi a szemantikus web? „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 Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS egy közös koncepció formális, egyértelmű specifikálása Közösen elfogadott jelentés A tartomány konceptuális modellje (ontológia elmélet) Egyértelmű terminológia definíciók Gépek számára érthető Programrendszerek fejlesztése Ontológia
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 Person Student Professor Lecture isA – hierarchy (rendszertan) name matr.-nr. research field topic lecture nr. attends holds holds(Professor, Lecture) => Lecture.topic = Professor.researchField Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Felső szintű O., Általános O. Alap O., Mag O., Magas szintű O, Felső O. Feladat & Probléma megoldás ontológia Alkalmazás Ontológia Terület Ontológia Nagyon általános koncepciókat ír le, ezek nem függnek az adott probléma tartománytól. Idő, esemény, tér, … 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 Általános feladattal, tevékenységgel kapcsolatos szótár a felső szintű ontológiában definiált koncepció specializálása 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 Ontológia típusok Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szemantikus web verem Adapted from Rules: RIF Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 ■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 Programrendszerek fejlesztése24
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Erőforrások Az erőforrás lehet ■Web oldal (pl.: ) ■Egy személy (pl.: ) ■Egy könyv (pl.:. urn:isbn: ) ■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 ■ a formátuma text/html ■ a keresztneve Dieter ■ urn:isbn: a szerzője Tolkien Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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: egy 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 azonosítja az erőforrást hozzáférhető, elérhető formábanhttp:// Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szavak Egyszerű szavak ■Pl.: ”BÁRMILYEN SZÖVEG” ■A nyelv címke opcionális, pl.: ”Hello, how are Típusos szavak ■Pl.: "hello"^^xsd:string, "1"^^xsd:integer ■Ajánlott adattípusok: –XML séma adattípusok ,, ”John Smith”ˆˆxsd:string Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Ü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: ,, _:johnsname _:johnsname,, ”John”ˆˆxsd:string _:johnsname,, ”Smith”ˆˆxsd:string Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS RDF tárolók “The lecture is attended by John, Mary and Chris” Bag “[RDF-Concepts] is edited by Graham and Jeremy (in that order)” Seq “The source code for the application may be found at ftp1.example.org, ftp2.example.org, ftp3.example.org” Alt A tulajdonság értékek csoportosítására: Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS RDF: közvetlenül csatol irányított gráf Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS RDF Tárolók gráf ábrázolás: Bag “The lecture is attended by John, Mary and Chris” Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS RDF Tárolók gráf ábrázolás : Seq “[RDF-Concepts] is edited by Graham and Jeremy (in that order)” Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szemantikus Web Verem Adapted from Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Lite A tanulási idő rövidítése érdekében korlátolt DL lite DL = Description Logic Description Logics a First Order Logic (FOL) része, lehet következtetni DL Full unrestricted use of OWL constructs, but cannot reason Full OWL dialektusok Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS OWL Syntax: Abstract Syntax One of the clearer human-readable syntaxes Class(SpicyPizza complete annotation(rdfs:label annotation(rdfs:comment "Any pizza that has a spicy topping is a Pizza restriction(hasTopping someValuesFrom(SpicyTopping)) ) Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS OWL Syntax: N3 Recommended for human-readable fragments default:SpicyPizza a owl:Class ; rdfs:comment "Any pizza that has a spicy topping is a ; rdfs:label ; owl:equivalentClass [ a owl:Class ; owl:intersectionOf (default:Pizza [ a owl:Restriction ; owl:onProperty default:hasTopping ; owl:someValuesFrom default:SpicyTopping ]) ]. Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS OWL Syntax: RDF/XML Recommended for serialisation PizzaTemperada Any pizza that has a spicy topping is a SpicyPizza Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Osztályok/Példányok Programrendszerek fejlesztése43
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Osztály hierarchia Programrendszerek fejlesztése44
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Egyébb viszonyok Programrendszerek fejlesztése45
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Egyébb viszonyok Programrendszerek fejlesztése46
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Egyébb viszonyok (halmaz) Programrendszerek fejlesztése47
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szűrések Programrendszerek fejlesztése48
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Szűkítések Programrendszerek fejlesztése49
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Felsorolások/inverz Programrendszerek fejlesztése50
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tulajdonságok módosítói Programrendszerek fejlesztése51
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Tulajdonság módosítók/klucsok Programrendszerek fejlesztése52
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Adattípusok Programrendszerek fejlesztése53
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS RDF lekérdezése SPARQL ■RDF lekérdező nyelv ■A RDQL-en alapul ■SQL szerű szintaxis Példa: PREFIX uni: SELECT ?name FROM WHERE { ?s uni:name ?name. ?s rdf:type uni:lecturer } Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL lekérdések PREFIX uni: SELECT ?name FROM WHERE { ?s uni:name ?name. ?s rdf:type uni:lecturer } PREFIX ■Az URI rövidítésére alkalmazott megoldás SELECT ■A válaszban visszaadandó változókat azonosítja ■SELECT DISTINCT ■SELECT REDUCED FROM ■Az adatforrás gráf neve ■FROM NAMED WHERE ■A lekérdezés illesztés mintája hármas mintákban LIMIT OFFSET ORDER BY Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Példa RDF gráf "John Smith“ :_X1 _:X1 "John" _:X1 "Smith“ "32“ "Mary Smith“ :_X2 _:X2 "Mary" _:X2 "Smith" "29" Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL lekérdezések: Az összes teljes név “Return the full names of all people in the graph” PREFIX vCard: SELECT ?fullName WHERE {?x vCard:FN ?fullName} result: fullName ================= "John Smith" "Mary vcard:. ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary. ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29. Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL lekérdezések : Tulajdonságok “Return the relation between John and Mary” PREFIX ex: SELECT ?p WHERE {ex:john ?p ex:mary} result: p vcard:. ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary. ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29. Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL lekérdezések : Komplex minták “Return the spouse of a person by the name of John Smith” PREFIX vCard: PREFIX ex: SELECT ?y WHERE {?x vCard:FN "John Smith". ?x ex:marriedTo ?y} result: y vcard:. ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary. ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29. Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL lekérdezések : Üres csomópontok “Return the first name of all people in the KB” PREFIX vCard: SELECT ?name, ?firstName WHERE {?x vCard:N ?name. ?name vCard:Given ?firstName} result: name firstName ================= _:a "John" _:b "Mary vcard:. ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary. ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29. Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL lekérdezések : RDF gráf készítés “Rewrite the naming information in original graph by using the foaf:name ” PREFIX vCard: PREFIX foaf: CONSTRUCT { ?x foaf:name ?name } WHERE { ?x vCard:FN ?name } result: #john foaf:name “John Smith" #marry foaf:name “Marry vcard:. ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary. ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29. <rdf:RDF xmlns:rdf=" xmlns:foaf=" xmlns:ex=" John Smith Marry Smith Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL lekérdezések: Létezik-e szűrés “Are there any married persons in the KB?” PREFIX ex: ASK { ?person ex:marriedTo ?spouse } result: yes vcard:. ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary. ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29. Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL Lekérdezés: Szűrők “Return all people over 30 in the KB” PREFIX ex: SELECT ?x WHERE {?x hasAge ?age. FILTER(?age > 30)} result: x vcard:. ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary. ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29. Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS SPARQL Lekérdezések: Opcionális minták “Return all people and (optionally) their spouse” PREFIX ex: SELECT ?person, ?spouse WHERE {?person ex:hasAge ?age. OPTIONAL { ?person ex:marriedTo ?spouse } } result: ?person ?spouse vcard:. ex:john vcard:FN "John Smith" ; vcard:N [ vcard:Given "John" ; vcard:Family "Smith" ] ; ex:hasAge 32 ; ex:marriedTo :mary. ex:mary vcard:FN "Mary Smith" ; vcard:N [ vcard:Given "Mary" ; vcard:Family "Smith" ] ; ex:hasAge 29. Programrendszerek fejlesztése
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Összefoglaló RUP – absztrakciós szintek Nyelvek generációi Adatábrázolás ■Relációs ■OO ■Szemantikus Web Programrendszerek fejlesztése