1 / 53

DBLP Ontology

SAPIENZA Università di Roma Facoltà di Ingegneria. Tesina per il corso di Seminari di ingegneria del software. Anno accademico 2006/2007. Autore: Germano Rocco. DBLP Ontology. Indice. Studio della bibliografia DBLP Conversione dei dati Ontologia Il linguaggio DL-Lite A Data source

Download Presentation

DBLP Ontology

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. SAPIENZA Università di RomaFacoltà di Ingegneria Tesina per il corso di Seminari di ingegneria del software Anno accademico 2006/2007 Autore: Germano Rocco DBLP Ontology

  2. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Query evaluation • Cenni sulla complessità • Demo

  3. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo

  4. Studio della bibliografia DBLP A cura del prof. Michael Ley, docente presso il dipartimento di Computer Science dell‘università di Trier, Germania. Contenente1048576 pubblicazioni Stessi attributi del formato

  5. Studio della bibliografia DBLP DBLP: Numero dei record bibliografici

  6. Studio della bibliografia DBLP DBLP: Tipi di record (Gennaio 2006)

  7. Studio della bibliografia DBLP Elementi della bibliografia: article: articolo contenuto in una rivista scientifica inproceedings: articolo presentato in una conferenza proceedings: gli atti di una conferenza book : libro incollection:la parte di un libro phdthesis: tesi di dottorato masterthesis: tesi di laurea www : indirizzo web

  8. Studio della bibliografia DBLP Attributi della bibliografia: auhor editor title booktitle pages month year address journal volume number url ee cdrom cite publisher note crossref isbn series school chapter

  9. Studio della bibliografia DBLP Sintassi XML: <incollection mdate="2002-01-03"key="books/el/RV01/CalvaneseGLN01"> <author>Diego Calvanese</author> <author>Giuseppe De Giacomo</author> <author>Maurizio Lenzerini</author> <author>Daniele Nardi</author> <title>Reasoning in Expressive Description Logics.</title> <pages>1581-1634</pages> <year>2001</year> <crossref>books/el/RobinsonV01</crossref> <booktitle>Handbook of Automated Reasoning</booktitle> <url>db/books/collections/RobinsonV01.html#CalvaneseGLN01</url><\incollection>

  10. Studio della bibliografia DBLP Sintassi XML: <article mdate="2004-01-14"key="journals/amai/HaDVH98"> <author>Vu A. Ha</author> <author>AnHai Doan</author> <author>Van H. Vu</author> <author>Peter Haddawy</author> <title>Geometric Foundations for Interval-Based Probabilities.</title> <pages>1-21</pages> <year>1998</year> <volume>24</volume> <journal>Ann. Math. Artif. Intell.</journal> <number>1-4</number> <url>db/journals/amai/amai24.html#HaDVH98</url> <\article>

  11. Indice • Studio della bibliografia DBLP • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Cenni sulla complessità • Demo

  12. Conversione dei dati • Requisiti: • input: file xml bibliografia • output: • file SQL • connessione dbms • gestione dbms (creazione, cancellazione, …) • possibilità di scegliere i tipi di elementi da aggiungere • stato avanzamento processo

  13. Conversione dei dati L’applicazione DBLPConverter

  14. Conversione dei dati L’applicazione DBLPConverter

  15. Conversione dei dati La base di dati

  16. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo

  17. Ontologia Def: specifica formale di una concettualizzazione su un determinato dominio Espressa mediante: • Concetti • Proprietà • Relazioni • Assiomi

  18. Ontologia Def: specifica formale di una concettualizzazione su un determinato dominio • Livello intensionale - TBOX Author  Person Publication created Author • Livello estensionale - ABOX Author(Giuseppe De Giacomo) Publication(2341) created(2341, Giuseppe De Giacomo)

  19. Ontologia

  20. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo

  21. Il linguaggio DL-LiteA Distinzione tra: • Concetti • Ruoli • Attributi

  22. Il linguaggio DL-LiteA Attributi:

  23. Il linguaggio DL-LiteA Associazioni

  24. Il linguaggio DL-LiteA Relazioni Is-A: Disgiunzione tra classi:

  25. Il linguaggio DL-LiteA

  26. Il linguaggio DL-LiteA

  27. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo

  28. Data source

  29. Data source

  30. Data source • DBMS: • Scelto inizialmente MySQL 5.0.45 • Impossibilità di eseguire il carico di lavoro richiesto Passaggio ad Oracle 10g

  31. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo

  32. I mappings Due sottoinsiemi di mapping assertion: • Typing-mappings • Data-to-object mappings

  33. I mappings Regole: Instanze di concetto: Classe(funct(VAR)) Attributo: Attr(funct(VAR),VAR_ATT) Associazione: Assoc(funct(VAR),funct2(VAR2))

  34. I mappings Esempio di Typing mapping:

  35. I mappings Esempio di Data-to-object mapping:

  36. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo

  37. Architettura del sistema Protégé

  38. Architettura del sistema Protégé + Plugin OBDA

  39. Architettura del sistema Protégé + Plugin OBDA + DIG-MASTRO

  40. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo

  41. Esempio di query sull’ontologia Query n.1

  42. Esempio di query sull’ontologia Query n.1

  43. Esempio di query sull’ontologia Query n.2

  44. Esempio di query sull’ontologia Query n.2

  45. Esempio di query sull’ontologia Query n.3

  46. Esempio di query sull’ontologia Query n.3

  47. Indice • Studio della bibliografia DBLP • Conversione dei dati • Ontologia • Il linguaggio DL-LiteA • Data source • I mappings • Architettura del sistema • Esempio di query sull’ontologia • Queryevaluation • Cenni sulla complessità • Demo

  48. Query evaluation Processo di valutazione suddiviso in 3 step: 1. PerfectReformulation 2. Unfolding 3. Evaluation

  49. Query evaluation Esempio: SELECT$xWHERE {$xrdf:type ‘Person’} 1. PerfectReformulation q(x) :- Author(x). q(x) :- created(_,x). q(x) :- has(x,_). q(x) :- Person(x). q(x) :- pers_name(x,_). q(x) :- edited(_,x). q(x) :- Editor(x). SELECT DISTINCT alias_0.term FROM (SELECT DISTINCT CONCAT('pers(',CONCAT(author,')')) AS term FROM (SELECT author, id aspublication FROM dblp_author_ref_new WHERE editor = '0') DummyTable) alias_0 UNION SELECT DISTINCT alias_0.term2 FROM (SELECT DISTINCT CONCAT('pub(',CONCAT(publication,')')) ASterm1, CONCAT('pers(',CONCAT(author,')')) AS term2 FROM (SELECT author, id as publication FROM dblp_author_ref_newWHEREeditor = '1') DummyTable) alias_0 UNION SELECT DISTINCT alias_0.term FROM (SELECT DISTINCT CONCAT('pers(',CONCAT(author,')')) AS term FROM (SELECT author, id as publication FROM dblp_author_ref_new WHERE editor = '1') DummyTable) alias_0 UNION SELECT DISTINCT alias_0.term2 FROM (SELECT DISTINCT CONCAT('pub(',CONCAT(publication,')')) AS term1, CONCAT('pers(',CONCAT(author,')')) AS term2 FROM (SELECT author, id as publication FROM dblp_author_ref_new WHERE editor = '0') DummyTable) alias_0 UNION SELECT DISTINCT alias_0.term1 FROM (SELECT DISTINCT CONCAT('pers(',CONCAT(person,')')) AS term1, CONCAT('ww(',CONCAT(www,')')) AS term2 FROM (SELECT a.author as person, p.id as www, p.title, p.ee as url FROM dblp_author_ref_new a, dblp_pub_new p WHERE p.type = 'www' and a.id = p.id) DummyTable) alias_0 UNION SELECT DISTINCT alias_0.term1 FROM ((SELECT DISTINCT CONCAT('pers(',CONCAT(author,')')) AS term1,author AS term2 FROM (SELECT author, id as publication FROM dblp_author_ref_new WHERE editor = '1') DummyTable) UNION (SELECT DISTINCT CONCAT('pers(',CONCAT(author,')')) AS term1,author AS term2 FROM (SELECT author, id as publication FROM dblp_author_ref_new WHERE editor = '0') DummyTable)) 2. Unfolding 3. Evaluation

  50. Query evaluation Unfolded query - esempio 3 SELECT DISTINCT alias_0.term2, alias_2.term2, alias_6.term2, alias_7.term2, alias_4.term2 FROM ((SELECT DISTINCT CONCAT('pub(',CONCAT(book,')')) AS term1,titleAS term2 FROM(SELECT id as book, title FROM dblp_pub_new WHERE type = 'book') DummyTable) UNION (SELECT DISTINCT CONCAT('pub(', CONCAT(proceedings,')')) AS term1,title AS term2 FROM (SELECT id as proceedings, title FROM dblp_pub_newWHEREtype = 'proceedings') DummyTable) UNION (SELECT DISTINCT CONCAT('pub(',CONCAT(article,')')) AS term1,title AS term2 FROM (SELECT id as article, title, source asjournalFROMdblp_pub_new WHERE type = 'article') DummyTable) UNION (SELECT DISTINCT CONCAT('pub(',CONCAT(m_thesis,')')) AS term1,title ASterm2 FROM (SELECT idas m_thesis, title FROM dblp_pub_new WHERE type = 'masterthesis')DummyTable) UNION (SELECT DISTINCT CONCAT('pub(',CONCAT(p_thesis,')'))AS term1,title AS term2 FROM (SELECT id as p_thesis, titleFROMdblp_pub_new WHERE type = 'phdthesis') DummyTable) UNION (SELECT DISTINCT CONCAT('pub(',CONCAT(incollection,')')) AS term1,titleAS term2 FROM (SELECT a.id as incollection, a.title, b.id as book FROMdblp_pub_new a, dblp_pub_new b WHERE a.type = 'incollection' and a.crossref =b.dblp_key) DummyTable) UNION (SELECT DISTINCT CONCAT('pub(',CONCAT(inproceedings,')')) AS term1,title AS term2 FROM (SELECT a.id as inproceedings, a.title, b.id as proceedings FROM dblp_pub_new a, dblp_pub_new b WHERE a.type = 'inproceedings‘ and a.crossref = b.dblp_key) DummyTable)) alias_0 , ((SELECT DISTINCT CONCAT('pers(',CONCAT(author,')')) AS term1,author AS term2 FROM (SELECT author, id as publication FROM dblp_author_ref_new WHERE editor = '1') DummyTable) UNION (SELECT DISTINCT CONCAT('pers(',CONCAT(author,')')) AS term1,author AS term2 FROM (SELECT author, id as publication FROM dblp_author_ref_new WHERE editor = '0') DummyTable)) alias_1 , (SELECT DISTINCT CONCAT('pub(',CONCAT(article,')')) AS term1,pages AS term2 FROM (SELECT id as article, pages FROM dblp_pub_new WHERE type = 'article‘ and pages is not null) DummyTable) alias_2 , (SELECT DISTINCT CONCAT('pub(',CONCAT(publication,')')) AS term1,CONCAT('pers(', CONCAT(author,')')) AS term2 FROM (SELECT author, id as publication FROM dblp_author_ref_new WHERE editor = '0') DummyTable) alias_3 , (SELECT DISTINCT CONCAT('jnl(',CONCAT(journal,')')) AS term1,journal AS term2 FROM (SELECT id as article, title, source as journal FROM dblp_pub_new WHERE type = 'article') DummyTable) alias_4 , (SELECT DISTINCT CONCAT('pub(',CONCAT(article,')')) AS term1, CONCAT('jnl(',CONCAT(journal,')')) AS term2 FROM (SELECT id as article, title, source as journal FROM dblp_pub_new WHERE type = 'article') DummyTable) alias_5 , (SELECT DISTINCT CONCAT('pub(',CONCAT(article,')')) AS term1,num AS term2 FROM (SELECT id as article, number_ as num FROM dblp_pub_new WHERE type = 'article' and number_ is not null) DummyTable) alias_6 , (SELECT DISTINCT CONCAT('pub(',CONCAT(article,')')) AS term1, volume AS term2 FROM (SELECT id as article, volume FROM dblp_pub_new WHERE type = 'article' and volume is not null) DummyTable) alias_7 WHERE alias_1.term2='GiuseppeDeGiacomo' AND alias_0.term1= alias_2.term1 AND alias_2.term1=alias_3.term1 AND alias_1.term1= alias_3.term2 AND alias_3.term1=alias_5.term1 AND alias_4.term1= alias_5.term2 AND alias_5.term1=alias_6.term1 AND alias_6.term1= alias_7.term1

More Related