Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RDF Schema

305 Aufrufe

Veröffentlicht am

A lecture delivered for "Web Application Development" discipline (MSc studies at Faculty of Computer Science, 'Alexandru Ioan Cuza' University of Iasi, Romania): https://profs.info.uaic.ro/~busaco/teach/courses/wade/web-film.html

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

WADe 2017-2018 (8/12) Modeling Vocabularies, Taxonomies, and Thesauri with RDF Schema

  1. 1. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Dezvoltarea aplicațiilor Web ⫛ modelarea cunoștințelor via RDF(S) realizarea inferențelor simple
  2. 2. Dr.SabinBuragaprofs.info.uaic.ro/~busaco „Toate erau laolaltă – după aceea, a venit mintea și le-a pus în ordine.” Anaxagoras
  3. 3. Dr.SabinBuragaprofs.info.uaic.ro/~busaco constatare RDF oferă posibilitatea de a descrie/adnota (explicit) resursele Web
  4. 4. Dr.SabinBuragaprofs.info.uaic.ro/~busaco constatare Declaratiile RDF se situează la nivel de instanțe (indivizi)
  5. 5. Dr.SabinBuragaprofs.info.uaic.ro/~busaco constatare Lipsește un mecanism de declarare a unui vocabular
  6. 6. Dr.SabinBuragaprofs.info.uaic.ro/~busaco constatare <http://www.apple.com/ipad/> rdf:type :Produs ; foaf:name "iPad" .
  7. 7. Dr.SabinBuragaprofs.info.uaic.ro/~busaco constatare <http://www.apple.com/ipad/> rdf:type :Produs ; foaf:name "iPad" . În loc de „produs” putem folosi termenul „tablet”? Un produs e cumva echivalent cu „marfă”? Conceptul „produs” este definit în relație cu altele? Resursa descrisă poate fi modelată diferit? Ce proprietăți/meta-date sunt asociate unui produs? iPad Mini, iPad Air și iPad Pro sunt similare cu iPad?
  8. 8. Dr.SabinBuragaprofs.info.uaic.ro/~busaco necesități O manieră de specificare (formală) a unui model de cunoștințe privitor la un web
  9. 9. Dr.SabinBuragaprofs.info.uaic.ro/~busaco necesități O manieră de specificare (formală) a unui model de cunoștințe privitor la un web e.g., specificarea unei taxonomii a resurselor
  10. 10. Dr.SabinBuragaprofs.info.uaic.ro/~busaco necesități O modalitate de a declara relațiile dintre (clase de) resurse
  11. 11. Dr.SabinBuragaprofs.info.uaic.ro/~busaco necesități O modalitate de a declara relațiile dintre (clase de) resurse RDF este un model care permite definirea doar de relații între două obiecte (instanțe de clase de resurse)
  12. 12. Dr.SabinBuragaprofs.info.uaic.ro/~busaco necesități Ne-ar fi util un model ce permite definirea unei taxonomii, în termeni de clase, superclase și subclase de resurse
  13. 13. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii Taxonomia reprezintă studiul principiilor generale de clasificare științifică i.e. clasificare sistematică taxis (ordine, aranjare) + nomos (știință, lege)
  14. 14. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii Carolus Linnaeus, Philosophia botanica (1751)
  15. 15. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii Resursele pot fi clasificate sub forma unei ierarhii, conform unor relații în prealabil fixate stabilite între entitățile pe care le reprezintă în lumea reală detalii în (Daum et al., 2003)
  16. 16. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii Taxonomie  arbore: noduri concepte (clase) relații dintre noduri relații de sub-/supra-clasificare (generalizare/specializare)
  17. 17. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii Fiecare nod (entitate) posedă o proprietate specifică, proprietate caracteristică sub-clasei din care face parte
  18. 18. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: exemplu stiluri muzicale: Musicmoz Music Styles vocabularyserver.com/music/
  19. 19. Dr.SabinBuragaprofs.info.uaic.ro/~busaco depozite de date vizând produse + servicii comerciale: Warehouse Vocabularies Publishers Categories Arts & Humanities Business Health & Medicine Products & Services Products Services Science & Technology General Science & Technology Aeronautics & Astronautics … Computers Social Sciences Anthropology Economy … conform (Factiva Inc., 2009)
  20. 20. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: exemplu bioinformatică: UniProt Taxonomy www.uniprot.org
  21. 21. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: exemplu biotehnologii: www.ncbi.nlm.nih.gov/guide/taxonomy/
  22. 22. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Mike Bergman, A (Partial) Taxonomy of Machine Learning Features (2015) – www.mkbergman.com/1905/a-partial-taxonomy-of-machine-learning-features/ Statistical Articles Vectors Information-theoretic Entropy Mutual information Meta-features Correlations ... Phrases Document frequencies ... Words Document frequencies Frequencies (corpus) Ranks String similarity Vectors Cosine measures Feature vectors Model-based Decision tree Tree measures Dimensionality Feature characteristics Datatypes Max Mean Min Number Outliers Standard deviation Functions Factor graphs Functors Mappings Landmarking Learner accuracy Method measures Error rates
  23. 23. Dr.SabinBuragaprofs.info.uaic.ro/~busaco o taxonomie de specificare a regulilor de traducere (Bernstein et al., 2005)
  24. 24. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: utilizări Clasificarea resurselor model simplu de clasificare o taxonomie poate reprezenta o ontologie simplă
  25. 25. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: utilizări clasificarea resurselor utilizare în contextul motoarelor de căutare cataloage Web, directories – Curlie: curlie.org
  26. 26. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: utilizări clasificare sistematică a regnului animal și vegetal ITIS (Integrated Taxonomic Information System) www.itis.gov
  27. 27. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: utilizări Clasificări produse de WAND: accounting, banking, engineering, electric & gas utility, food & beverage, health insurance, human resources, legal, logistics, news, sensory, skills,… www.wandinc.com/taxonomies.aspx context mai larg: economia digitală Universal Standard Products and Services Classification www.eccma.org
  28. 28. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: remarcă Spre deosebire de folksonomii, taxonomiile sunt considerate vocabulare controlate (controlled vocabularies) www.controlledvocabulary.com
  29. 29. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: remarcă Spre deosebire de folksonomii, taxonomiile sunt considerate vocabulare controlate (controlled vocabularies) www.controlledvocabulary.com clasificarea este realizată de experți într-un domeniu de cunoaștere și nu de utilizatori obișnuiți classification as knowledge representation
  30. 30. Dr.SabinBuragaprofs.info.uaic.ro/~busaco taxonomii: model Modelarea poate fi realizată via scheme RDF
  31. 31. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Permite definirea de taxonomii clase, super-clase și sub-clase de resurse
  32. 32. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Recomandare a Consorțiului Web (D. Brickley & R.V. Guha, 2004, 2014) www.w3.org/TR/rdf-schema/
  33. 33. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Oferă o modalitate de specificare a unui vocabular de termeni și de relații între acești termeni
  34. 34. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Oferă o modalitate de specificare a unui vocabular de termeni și de relații între acești termeni precizează contrucțiile – conceptele – ce pot fi utilizate în cadrul unui domeniu dat poate descrie relațiile dintre elementele de vocabular aparținând unor vocabulare diferite
  35. 35. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Adaugă semantică predicatelor și resurselor RDF poate defini modul în care un termen trebuie interpretat, specificându-i proprietățile și stabilind ce tipuri de „lucruri” pot fi valorile acestor proprietăți
  36. 36. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Oferă mijloace pentru definirea de proprietăți și eventuale restricții de utilizare
  37. 37. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Pune la dispoziție maniere de specificare a claselor de resurse și proprietăților obiectelor în contextul utilizării unui vocabular
  38. 38. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: terminologie tip (type), clasă (Class), proprietate (Property) Persoana rdf:type Class areIdentitate rdf:type Property Aplicatie rdf:type Class ruleazaPe rdf:type Property
  39. 39. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: terminologie sub-clasă (subClassOf) a unei clase Autor subClassOf Persoana Student subClassOf Persoana Masterand subClassOf Student Companie subClassOf Producator
  40. 40. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: terminologie domeniu (domain) + interval (range) asociate predicatelor esteStudent domain Persoana esteStudent range xsd:Boolean areNume range xsd:String
  41. 41. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: terminologie O schemă RDF fiind exprimată prin triple RDF, pot fi efectuate interogări SPARQL: PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> SELECT ?clasa WHERE { ?clasa rdf:type rdfs:Class } ORDER BY ?clasa OFFSET 20 LIMIT 7 descoperirea tuturor claselor
  42. 42. Dr.SabinBuragaprofs.info.uaic.ro/~busaco câteva clase de resurse – aparținând unui model conceptual – oferite de DBpedia via punctul-terminal SPARQL de la http://dbpedia.org/sparql http://www.openlinksw.com/schemas/oplweb#ProductFormat http://www.openlinksw.com/schemas/oplweb#ProductFormatCategory http://www.openlinksw.com/schemas/oplweb#ProductRelease http://www.openlinksw.com/schemas/oplweb#VendorCategory http://www.openlinksw.com/schemas/oplweb#VendorCategoryFamily
  43. 43. Dr.SabinBuragaprofs.info.uaic.ro/~busaco http://cr.eionet.europa.eu/ontologies/contreg.rdf#CompiledDataset http://cr.eionet.europa.eu/ontologies/news.rdf#Announcement http://dampos.eionet.europa.eu/dams-schema.rdf#Dam http://dd.eionet.europa.eu/schema.rdf#DatasetSchema http://dd.eionet.europa.eu/tables/10753/rdf/BWQD_2006_SeasonalInfo http://dd.eionet.europa.eu/tables/10788/rdf/DisaggregatedData_Water clase de resurse – specificate de spații de nume multiple – din domeniul mediului înconjurător furnizate de serviciul SPARQL al European Environment Agency (fragment): http://cr.eionet.europa.eu/sparql
  44. 44. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Clase fundamentale rdfs:Resource clasa resurselor rdf:Property clasa proprietăților resurselor rdfs:Class clasa claselor (corespunde conceptului de tip sau categorie) rdfs:Container clasa privind containerele de date RDF (Bag, Seq, Alt) rdfs:Datatype clasa tipurilor de date
  45. 45. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: model Clasele specifica resurse – identificate de URI pagini Web tipuri de documente: publicații, prezentări etc. baze de date entități abstracte: persoane, intervale de timp etc. produse (in)tangibile …
  46. 46. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: model Resursele aparținând unei clase = instanțe clasele sunt specificate via RDF Schema instanțele sunt exprimate prin RDF
  47. 47. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Proprietăți fundamentale rdf:type indică faptul că o resursă este membră a unei clase (apartenența la un tip de date) rdfs:subClassOf specifică relația de moștenire a claselor (relație tranzitivă) rdfs:subPropertyOf desemnează relația de moștenire a proprietăților
  48. 48. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Clasa Multimedia include subclasele Audio și Video <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"> <rdf:Description rdf:ID="Multimedia"> <rdf:type rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Class" /> </rdf:Description> <rdf:Description rdf:ID="Video"> <rdf:type rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Class" /> <rdfs:subClassOf rdf:resource="#Multimedia" /> </rdf:Description>
  49. 49. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Clasa Multimedia include subclasele Audio și Video (continuare) <rdf:Description rdf:ID="Audio"> <rdf:type rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Class" /> <rdfs:subClassOf rdf:resource="#Multimedia" /> </rdf:Description> </rdf:RDF>
  50. 50. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Clasa Multimedia include subclasele Audio și Video (continuare) <rdf:Description rdf:ID="Audio"> <rdf:type rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Class" /> <rdfs:subClassOf rdf:resource="#Multimedia" /> </rdf:Description> </rdf:RDF> :Audio rdf:type rdfs:Class ; # în sintaxa Turtle rdfs:subClassOf :Multimedia .
  51. 51. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Restricții impuse asupra claselor și/sau proprietăților rdfs:range restricționează valorile unei proprietăți rdfs:domain specifică o clasă ale cărei instanțe pot avea asignate valori specifice proprietății
  52. 52. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Clasei Multimedia îi asociem proprietatea duration cu valori din mulțimea numerelor întregi <rdf:Property rdf:ID="duration"> <rdfs:domain rdf:resource="#Multimedia" /> <rdfs:range rdf:resource="#Integer" /> </rdf:Property>
  53. 53. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Clasei Multimedia îi asociem proprietatea duration cu valori din mulțimea numerelor întregi <rdf:Property rdf:ID="duration"> <rdfs:domain rdf:resource="#Multimedia" /> <rdfs:range rdf:resource="#Integer" /> </rdf:Property> duration a rdf:Property ; # varianta Turtle rdfs:domain :Multimedia ; rdfs:range :Integer .
  54. 54. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu
  55. 55. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: model Remarcă: nu e obligatoriu să definim conceptul Integer
  56. 56. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: model Remarcă: nu e obligatoriu să definim conceptul Integer ipoteza lumilor deschise (OWA – open world assumption)
  57. 57. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: model Remarcă: nu e obligatoriu să definim conceptul Integer ipoteza lumilor deschise (OWA – open world assumption) contrast cu modelul bazelor de date clasice
  58. 58. Dr.SabinBuragaprofs.info.uaic.ro/~busaco La ce pot fi utilizate schemele RDF?
  59. 59. Dr.SabinBuragaprofs.info.uaic.ro/~busaco WGS84 Geo Positioning (Tim Berners-Lee, 2009) clasa SpatialThing include sub-clasa Point se definesc proprietățile lat, long, alt, location SpatialThing a rdfs:Class . Point a rdfs:Class ; rdfs:subClassOf SpatialThing . long a rdf:Property ; rdfs:domain SpatialThing ; rdfs:label "longitude" ; rdfs:comment "The WGS84 longitude of a SpatialThing (decimal degrees)"@en . location a rdf:Property ; rdfs:label "location" ; rdfs:subPropertyOf foaf:based_near ; rdfs:range SpatialThing .
  60. 60. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu specificarea domeniului și intervalului pentru o proprietate FOAF (D. Brickley & L. Miller, 2014)
  61. 61. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Modelul conceptual al SIOC – Semantically Interconnected Online Communities (Bojārs & Breslin, 2010) http://rdfs.org/sioc/spec/
  62. 62. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu specificarea unei clase SIOC
  63. 63. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Modelarea calendarelor de evenimente inspirat de (Manjunath et al., 2008) cal:Vevent a rdfs:Class . clasa evenimentelor cal:attendee a rdf:Property ; proprietate specificând participantul rdfs:domain cal:Vevent ; rdfs:range foaf:Person . cal:location a rdf:Property . proprietate modelând locația cal:dtstart a rdf:Property . proprietăți privind intervalul de timp cal:dtend a rdf:Property . referitor la desfășurarea evenimentului cal:relatedTo a rdf:Property ; relația cu alte evenimente similare rdfs:domain cal:Vevent ; rdfs:range cal:Vevent .
  64. 64. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Modelarea calendarelor de evenimente inspirat de (Manjunath et al., 2008) cal:Vevent a rdfs:Class . cal:attendee a rdf:Property ; rdfs:domain cal:Vevent ; rdfs:range foaf:Person . cal:location a rdf:Property . cal:dtstart a rdf:Property . cal:dtend a rdf:Property . cal:relatedTo a rdf:Property ; rdfs:domain cal:Vevent ; rdfs:range cal:Vevent . :WADe2017Finals rdf:type cal:Vevent ; cal:location [ :city "Iasi" ] ; cal:dtstart "2018-01-25T09:00:00" ; cal:dtend "2018-01-25T15:00:00" ; cal:relatedTo :WADe2015, :WADe2016 ; cal:url <http://...~busaco/teach/.../wade/> . o posibilă instanță de eveniment
  65. 65. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Parte de vorbire Substantiv Verb Verb reflexivSubst. comun SubiectAldomain Nivelul ontologic Nivelul datelor SubiectAl Crocodilii se joacă type type domain range subClassOf subClassOf subClassOf specificarea părților de vorbire – part of speech adaptare după Nancy Ide (EuroLAN 2003)
  66. 66. Dr.SabinBuragaprofs.info.uaic.ro/~busaco <rdfs:Class rdf:about= "http://www.linguistics.org/schema.rdf#PartOfSpeech"> <rdfs:label>POS</rdfs:label> <rdfs:comment xml:lang="ro">Clasa desemnând categoria generală „parte de vorbire”</rdfs:comment> </rdfs:Class> <rdfs:Class rdf:about="http://www.linguistics.org/schema.rdf#Noun"> <rdfs:label>Noun</rdfs:label> <rdfs:comment xml:lang="ro"> Clasa substantivelor</rdfs:comment> <rdfs:subClassOf rdfs:resource= "http://www.linguistics.org/schema.rdf#PartOfSpeech"/> </rdfs:Class> definirea claselor
  67. 67. Dr.SabinBuragaprofs.info.uaic.ro/~busaco <rdf:Property rdf:about= "http://www.linguistics.org/schema.rdf#number"> <rdfs:domain rdf:resource= "http://www.linguistics.org/schema.rdf#PartOfSpeech" /> <rdfs:range rdf:resource= "http://www.w3.org/2000/01/rdf-schema#Literal" /> </rdf:Property> specificarea unei proprietăți
  68. 68. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Folosirea – la nivel de instanțe – a schemei RDF specificate (recurgând la sintaxa XML): <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:pos="http://www.linguistics.org/schema.rdf#"> <s:Stiri xmlns:s="http://www.news.info/stirea-zilei"> <pos:Noun rdf:ID="crocodilii"> <pos:number rdf:value="Plural" /> </pos:Noun> <pos:Verb rdf:ID="se_joaca"> <pos:number rdf:value="Plural" /> </pos:Verb> </s:Stiri> </rdf:RDF> adnotare explicită
  69. 69. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Folosirea – la nivel de instanțe – a schemei RDF specificate (recurgând la sintaxa XML): <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:pos="http://www.linguistics.org/schema.rdf#"> <s:Stiri xmlns:s="http://www.news.info/stirea-zilei"> <pos:Noun rdf:ID="crocodilii"> <pos:number rdf:value="Plural" /> </pos:Noun> <pos:Verb rdf:ID="se_joaca"> <pos:number rdf:value="Plural" /> </pos:Verb> </s:Stiri> </rdf:RDF> pe baza acestui model, un instrument software ar putea semnala unele nepotriviri gramaticale
  70. 70. Dr.SabinBuragaprofs.info.uaic.ro/~busaco graful RDF corespunzător
  71. 71. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Clasele și proprietățile sunt modelate separat
  72. 72. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Clasele și proprietățile sunt modelate separat spre deosebire de paradigma orientată-obiect, proprietățile (atributele) nu fac parte din clasă
  73. 73. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Nu se pot exprima relații complexe între clase (reuniune, disjuncție,...), nici cardinalitatea – e.g., „cel puțin una”
  74. 74. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Nu se pot exprima relații complexe între clase (reuniune, disjuncție,...), nici cardinalitatea – e.g., „cel puțin una” necesitatea unui model conceptual mai expresiv vezi cursurile viitoare
  75. 75. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Oferă suport pentru modelarea clasificărilor de resurse (i.e. taxonomii)
  76. 76. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: studiu de caz Modelarea datelor pentru o aplicație de ascultat CD-uri: cdream lucrare de licență a absolventului FII Victor Grigoriu, 2003
  77. 77. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: studiu de caz Aplicația cdream (Victor Grigoriu, 2003) clase (concepte) CD – http://cdream.ro/CD Piesă – http://cdream.ro/Piesa
  78. 78. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: studiu de caz Aplicația cdream (Victor Grigoriu, 2003) proprietăți Durata piesei (min:sec) – http://cdream.ro/lung Interpret/Compozitor – http://cdream.ro/artist Titlul (piesei/albumului) – http://cdream.ro/titlu Lista pieselor de pe album – http://cdream.ro/contine (are ca obiect un rdf:Seq) Genul muzical – http://cdream.ro/genMuzical Numele artistului – http://cdream.ro/nume
  79. 79. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: studiu de caz Aplicația cdream (Victor Grigoriu, 2003) restricții proprietatea contine se aplică numai clasei CD proprietatea lung este specifică doar clasei Piesa proprietatea nume se asociază autorilor, reprezentați ca resurse – eventual, noduri blanc
  80. 80. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: studiu de caz Aplicația cdream (Victor Grigoriu, 2003) schema RDF are următoarea structură: <http://cdream.ro/CD> rdf:type rdfs:Class . <http://cdream.ro/Piesa> rdf:type rdfs:Class . <http://cdream.ro/artist> rdf:type rdf:Property . <http://cdream.ro/artist> rdfs:domain <http://cdream.ro/CD> . <http://cdream.ro/artist> rdfs:range rdfs:Resource . <http://cdream.ro/lung> rdf:type rdf:Property . <http://cdream.ro/lung> rdfs:domain <http://cdream.ro/Piesa> . <http://cdream.ro/lung> rdfs:range rdfs:Literal .
  81. 81. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Aplicația cdream (Victor Grigoriu, 2003) schema RDF are următoarea structură – continuare: <http://cdream.ro/contine> rdf:type rdf:Property . <http://cdream.ro/contine> rdfs:domain <http://cdream.ro/CD> . <http://cdream.ro/contine> rdfs:range rdf:Seq . <http://cdream.ro/nume> rdf:type rdf:Property . <http://cdream.ro/nume> rdfs:domain rdfs:Resource . <http://cdream.ro/nume> rdfs:range rdfs:Literal . ...
  82. 82. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Aplicația cdream (Victor Grigoriu, 2003) implementare în limbajul C++, folosind biblioteca Redland (pe Linux) procesarea datelor RDF a recurs la analizorul Raptor http://librdf.org/raptor/ interfață cu utilizatorul bazată pe Qt
  83. 83. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Reprezintă un model de specificare explicită a relațiilor dintre clase de „lucruri” de interes
  84. 84. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: inferențe Pune bazele efectuării automate de inferențe e.g., „descoperirea” relațiilor dintre resurse detalii în D. Allemang, J. Hendler, Semantic Web for the Working Ontologist (2nd Ed.), Morgan Kaufmann, 2011
  85. 85. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: inferențe Pune bazele efectuării automate de inferențe e.g., „descoperirea” relațiilor dintre resurse contrast cu OOP unde relațiile de dependență sunt specificate a-priori
  86. 86. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: inferențe pentru subclase, având triple de forma: A rdfs:subClassOf B . r rdf:type A . putem deduce: r rdf:type B . triplu dedus (inferred triple)
  87. 87. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: inferențe pentru subproprietăți, având triple de forma: P rdfs:subPropertyOf R . A P B . putem deduce: A R B . triplu dedus (inferred triple)
  88. 88. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: inferențe în cazul specificării domeniului, având triple de forma: P rdfs:domain D . x P y . putem deduce: x rdf:type D . triplu dedus (inferred triple)
  89. 89. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: inferențe în cazul specificării intervalului, având triple de forma: P rdfs:range R . x P y . putem deduce: y rdf:type R . triplu dedus (inferred triple)
  90. 90. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Modelarea unui web privitor la familii de persoane :FemeieMaritata rdfs:subClassOf :Femeie . :numeDeFata rdfs:domain :FemeieMaritata . la nivel de instanțe, avem specificat :marie-curie :numeDeFata "Skłodowska" . putem deduce automat faptul :marie-curie rdf:type :Femeie .
  91. 91. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: exemplu Modelarea unui web privitor la familii de persoane
  92. 92. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: inferențe Generalizând, având disponibile triplele: P rdfs:domain D . D rdfs:subClassOf C . putem deduce: P rdfs:domain C . în acest context, moștenirea se stabilește în urma unei deducții logice – înseamnă, de fapt, inferență
  93. 93. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: șabloane Deși sintactic nu există suport pentru specificarea operațiilor cu clase (intersecție, reuniune), le putem exprima folosind regulile de inferență (Allemang & Hendler, 2011) modelling patterns
  94. 94. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: șabloane Intersecția de mulțimi (clase): C rdfs:subClassOf A . C rdfs:subClassOf B . având dat triplul r rdf:type C . se poate deduce: r rdf:type A . r rdf:type B . am realizat inferența într-o singură direcție
  95. 95. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: șabloane Intersecția de mulțimi (clase) – exemplu: :Masterand rdfs:subClassOf :Student . :Masterand rdfs:subClassOf :DesignerWeb . :andreea rdf:type :Masterand . se poate deduce: :andreea rdf:type :Student . :andreea rdf:type :DesignerWeb . însă, un individ aparținând claselor Student și DesignerWeb nu e obligatoriu să fie și membru al clasei Masterand
  96. 96. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: șabloane Similar, se poate modela intersecția de proprietăți
  97. 97. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: șabloane Reuniunea de mulțimi (clase de resurse): A rdfs:subClassOf C . B rdfs:subClassOf C . având r rdf:type A . sau r rdf:type B . se poate deduce: r rdf:type C .
  98. 98. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: șabloane Reuniunea de mulțimi (clase) – exemplu: :Sit rdfs:subClassOf :Produs . :ServiciuWeb rdfs:subClassOf :Produs . :SolutieEBanking rdf:type :ServiciuWeb . (sau :SolutieEBanking rdf:type :Sit .) se poate deduce: :SolutieEBanking rdf:type :Produs .
  99. 99. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: șabloane „Transferul” de proprietăți: P rdfs:subPropertyOf Q . având triplul X P Y . se poate deduce: X Q Y .
  100. 100. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: șabloane „Transferul” de proprietăți: are utilizări în reconcilierea terminologiilor :autor rdfs:subPropertyOf dc:creator . bib:imprumutaCarte rdfs:subPropertyOf :preiaVolum . lib:borrows rdfs:subPropertyOf :preiaVolum .
  101. 101. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: alte construcții Referințe la alte resurse rdfs:seeAlso proprietate care indică o altă resursă care conține informații suplimentare privitoare la o anumită resursă
  102. 102. Dr.SabinBuragaprofs.info.uaic.ro/~busaco PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> SELECT ?denumire ?url WHERE { ?resursa rdfs:seeAlso ?url . ?resursa rdfs:label ?denumire . FILTER (regex (str (?denumire), "Harry Potter")) } ORDER BY ?denumire obținerea denumirilor și URL-urilor unor resurse de interes
  103. 103. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: alte construcții Organizarea vocabularelor rdfs:isDefinedBy sub-proprietate a rdfs:seeAlso desemnează o legătură (via un URI) spre sursa primară de informații despre o anumită resursă
  104. 104. Dr.SabinBuragaprofs.info.uaic.ro/~busaco OGP (Open Graph Protocol) permite specificarea de meta-date asociate unei resurse Web folosite în cadrul Facebook detalii la http://ogp.me/ @prefix rdf: <http://www.w3.org/1999/02/22-rdf-syntax-ns#> . @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix og: <http://ogp.me/ns#> . og:url a rdf:Property ; rdfs:label "url"@en-US ; rdfs:comment "The canonical URL of your object that will be used as its permanent ID in the graph."@en-US ; rdfs:seeAlso dc:identifier, foaf:homepage ; rdfs:isDefinedBy og: . og:title a rdf:Property ; rdfs:label "title"@en-US ; rdfs:subPropertyOf rdfs:label . fragment din schema RDF (în format Turtle)
  105. 105. Dr.SabinBuragaprofs.info.uaic.ro/~busaco modelarea în RDF(S) + SHACL a schemelor de microdate HTML5 oferite de schema.org – aici, clasa Report și proprietatea reportNumber pentru detalii, de studiat H. Knublauch (2017) http://datashapes.org/schema schema:Report rdf:type rdfs:Class , sh:NodeShape ; rdfs:comment "A Report generated by…"^^rdf:HTML ; rdfs:label "Report" ; rdfs:subClassOf schema:Article ; sh:property [ sh:path schema:reportNumber ; sh:datatype xsd:string ; sh:description "The number or other unique designator assigned to a Report."^^rdf:HTML ; sh:name "reportNumber" ] .
  106. 106. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema: alte construcții Modelul RDF Schema specificat în RDF Schema – fragment: <rdf:Property rdf:about="http://www.w3.org/1999/02/22-rdf-syntax-ns#type"> <rdfs:isDefinedBy rdf:resource="http://www.w3.org/1999/02/22-rdf-syntax-ns#"/> <rdfs:label>type</rdfs:label> <rdfs:comment>The subject is an instance of a class.</rdfs:comment> <rdfs:range rdf:resource="http://www.w3.org/2000/01/rdf-schema#Class"/> <rdfs:domain rdf:resource="http://www.w3.org/2000/01/rdf-schema#Resource"/> </rdf:Property>
  107. 107. Dr.SabinBuragaprofs.info.uaic.ro/~busaco class name comment rdfs:Resource The class resource, everything. rdfs:Literal The class of literal values, e.g. textual strings and integers. rdf:XMLLiteral The class of XML literals values. rdfs:Class The class of classes. rdf:Property The class of RDF properties. rdfs:Datatype The class of RDF datatypes. rdf:Statement The class of RDF statements. rdf:Bag The class of unordered containers. rdf:Seq The class of ordered containers. rdf:Alt The class of containers of alternatives. rdfs:Container The class of RDF containers. rdfs:Container MembershipProperty The class of container membership properties, rdf:_1, rdf:_2, ..., all of which are sub-properties of 'member'. rdf:List The class of RDF Lists.
  108. 108. Dr.SabinBuragaprofs.info.uaic.ro/~busaco property name comment domain range rdf:type The subject is an instance of a class. rdfs:Resource rdfs:Class rdfs:subClassOf The subject is a subclass of a class. rdfs:Class rdfs:Class rdfs: subPropertyOf The subject is a sub-property of a property. rdf:Property rdf:Property rdfs:domain A domain of the subject property. rdf:Property rdfs:Class rdfs:range A range of the subject property. rdf:Property rdfs:Class rdfs:label A human-readable name for the subject. rdfs:Resource rdfs:Literal rdfs:comment A description of the subject resource. rdfs:Resource rdfs:Literal rdfs:member A member of the subject resource. rdfs:Resource rdfs:Resource
  109. 109. Dr.SabinBuragaprofs.info.uaic.ro/~busaco property name comment domain range rdf:first First item in the subject RDF list. rdf:List rdfs:Resource rdf:rest Rest of the subject RDF list after the first item. rdf:List rdf:List rdfs:seeAlso Further information about the subject resource. rdfs:Resource rdfs:Resource rdfs:isDefinedBy The definition of the subject resource. rdfs:Resource rdfs:Resource rdf:value Idiomatic property used for structured values. rdfs:Resource rdfs:Resource rdf:subject The subject of the subject RDF statement. rdf:Statement rdfs:Resource rdf:predicate The predicate of the subject RDF statement. rdf:Statement rdfs:Resource rdf:object The object of the subject RDF statement. rdf:Statement rdfs:Resource
  110. 110. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rdf schema Graful modelului RDF Schema Fabien L. Gandon et al., 2011
  111. 111. Dr.SabinBuragaprofs.info.uaic.ro/~busaco Există posibilitatea folosirii unui model conceptual mai expresiv?
  112. 112. Dr.SabinBuragaprofs.info.uaic.ro/~busaco lexicoane (tezaure) Thesaurus: a controlled vocabulary arranged in a known order and structured so that equivalence, homographic, hierarchical, and associative relationships among terms are displayed clearly & identified by standardized relationship indicators conform ANSI/NISO Monolingual Thesaurus Standard
  113. 113. Dr.SabinBuragaprofs.info.uaic.ro/~busaco lexicoane (tezaure) Relații echivalența termenul X are (aproape) același înțeles cu termenul Y „document Web” sinonim cu „pagină Web”
  114. 114. Dr.SabinBuragaprofs.info.uaic.ro/~busaco lexicoane (tezaure) Relații omonimia (omografia) termenul X se pronunță/scrie la fel ca și Y, dar are alt înțeles „Java” versus „Java” versus „Java” „bibliotecă” (literatură) versus „bibliotecă” (programare) „comet” (astronomie) versus „Comet” (Web)
  115. 115. Dr.SabinBuragaprofs.info.uaic.ro/~busaco lexicoane (tezaure) Relații ierarhie termenul X are un înțeles mai larg/restrâns decât termenul Y „patrulater” versus „dreptunghi” „aplicație Web” versus „bibliotecă Web”
  116. 116. Dr.SabinBuragaprofs.info.uaic.ro/~busaco lexicoane (tezaure) Relații asociere termenul X este asociat termenului Y (e.g., există o relație nespecificată între ei) „cui”/„Pink Floyd” asociat termenului „ciocan”
  117. 117. Dr.SabinBuragaprofs.info.uaic.ro/~busaco lexicoane (tezaure) Asigură următoarele: conceptele se descriu într-un mod consistent utilizatorii experimentați pot să-și rafineze căutările pentru localizarea informațiilor dorite utilizatorii nu trebuie să fie familiarizați cu terminologia tehnică (particulară) folosită
  118. 118. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: exemple AGROVOC indexarea multilingvă a resurselor privitoare la agricultură realizată la nivelul Națiunilor Unite aims.fao.org/standards/agrovoc/concept-scheme
  119. 119. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: alte exemple GEMET (GEneral Multilingual Environmental Thesaurus) oferă un model conceptual referitor la mediul înconjurător www.eionet.europa.eu/gemet
  120. 120. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: alte exemple UNESCO Thesaurus termeni din domeniul patrimoniului cultural, social,… (export în formatele RDF/XML, Turtle și JSON-LD) http://vocabularies.unesco.org/browser/thesaurus/en/
  121. 121. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: exempleSocial Semantic Web Thesaurus găzduit de sistemul PoolParty vocabulary.semantic-web.at/semweb
  122. 122. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: exemple Getty Vocabularies terminologii ale domeniului artistic-cultural: Art & Architecture Thesaurus, Thesaurus of Geographic Names, Union List of Artist Names vocab.getty.edu
  123. 123. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos Simple Knowledge Organizational System oferă suport pentru exprimarea cunoștințele din cadrul sistemelor organizaționale, în general, și al lexicoanelor, în special modelare conceptuală via RDF și scheme RDF
  124. 124. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos Simple Knowledge Organizational System suită de specificații ale Consorțiului Web (2009) www.w3.org/TR/skos-reference/ www.w3.org/TR/skos-primer/
  125. 125. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos – niveluri de specificare SKOS Core modelează în special lexicoane (tezaure) utilizează spațiul de nume http://www.w3.org/2004/02/skos/core SKOS Mapping extensie ce permite asocierea de concepte provenind din tezaure diferite
  126. 126. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos Un sistem de organizare a cunoștințelor este compus în principal din concepte med:MedicalImagery rdf:type skos:Concept . soft:Malware rdf:type skos:Concept . wordnet:Art rdf:type skos:Concept . voc:SemanticWeb rdf:type skos:Concept . se poate recurge la vocabulare diverse
  127. 127. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos – exemplu Definirea conceptului „instrument” <skos:Concept rdf:about="#instrument"> <skos:definition>Obiect utilizat într-un anumit scop</skos:definition> <!-- specializare a unui alt concept --> <skos:narrower rdf:resource="#obiect"/> <!-- concepte înrudite --> <skos:related rdf:resource="#unealta"/> <skos:related rdf:resource="#dispozitiv"/> <skos:related rdf:resource="#mecanism"/> <skos:scopeNote>...</skos:scopeNote> </skos:Concept>
  128. 128. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos – exemplu Specificarea lexiconului arhivelor naționale britanice UKAT – UK Archival Thesaurus (Allemang & Hendler, ‘11) UKAT:EconomicCooperation a skos:Concept ; skos:altLabel "Economic co-operation" ; skos:broader UKAT:EconomicPolicy; skos:narrower UKAT:IndustrialCooperation, UKAT:EconomicIntegration ; skos:prefLabel "Economic cooperation" ; skos:related UKAT:Interdependence ; skos:scopeNote "..." . relații dintre concepte: broader, narrower și related
  129. 129. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos Rafinează conceptul de etichetă generică rdfs:label, oferind prefLabel, altLabel și hiddenLabel s:rocks rdf:type skos:Concept ; skos:prefLabel "rocks"@en ; skos:altLabel "basalt"@en ; skos:altLabel "granite"@en ; skos:altLabel "slate"@en . skos:prefLabel a rdf:Property ; rdfs:label "eticheta preferată" ; rdfs:subPropertyOf rdfs:label .
  130. 130. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos SKOS în cadrul DBpedia
  131. 131. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos Diverse alte lexicoane exprimate via SKOS: Cadastre and Land Administration Thesaurus Drug Administration Forms International Virtual Observatory Alliance astronomy voc. STW Thesaurus for Economics Thesaurus for the Social Sciences USA Library of Congress’ vocabularies Wikipedia Article categories www.w3.org/2001/sw/wiki/SKOS/Datasets
  132. 132. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos EuroVoc a multilingual, multidisciplinary thesaurus covering EU activities eurovoc.europa.eu/drupal/
  133. 133. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos – instrumente software SKOS Play – instrument Java de redare a modelelor SKOS: labs.sparna.fr/skos-play/ TemaTres – soluție PHP open source de management on-line al cunoștințelor: www.vocabularyserver.com qSKOS – verificarea corectitudinii documentelor SKOS (implementare Java): github.com/cmader/qSKOS TopBraid Enterprise Vocabulary Net gestiune de vocabulare controlate interconectate (taxonomii, lexicoane, ontologii) la nivel organizațional www.topquadrant.com/products/topbraid-enterprise-vocabulary-net/
  134. 134. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos – instrumente software SKOS Play vizualizarea conceptelor (cunoștințelor) vizând o persoană (aici: Norman Walsh) pentru detalii, de vizitat norman.walsh.name/knows vezi arhiva aferentă acestei prelegeri
  135. 135. Dr.SabinBuragaprofs.info.uaic.ro/~busaco tezaure: skos explorarea diverselor modele conceptuale (taxonomii, lexicoane) din cadrul Wikidata – aici, regnul vegetal – via instrumentul Web Reasonator https://tools.wmflabs.org/reasonator/
  136. 136. Dr.SabinBuragaprofs.info.uaic.ro/~busaco concluzii Vocabularele (schemele) RDF pot fi publicate în vederea refolosirii conform inițiativei Linked Open Data vocab.org metadataregistry.org rdfs.org
  137. 137. Dr.SabinBuragaprofs.info.uaic.ro/~busaco vocabulare – licențiate Creative Commons – vizând diverse domenii http://metadataregistry.org/vocabulary/list.html cataloagele existente pot fi interogate
  138. 138. Dr.SabinBuragaprofs.info.uaic.ro/~busaco concluzii “Representation is the essence of programming.” Frederick P. Brooks, The Mythical Man-Month, Addison-Wesley, 1995
  139. 139. Dr.SabinBuragaprofs.info.uaic.ro/~busaco rezumat ⫛modelarea taxonomiilor + lexicoanelor prin RDF Schema și realizarea inferențelor simple
  140. 140. Dr.SabinBuragaprofs.info.uaic.ro/~busaco episodul viitor: modelarea cunoștințelor ontologii exprimate cu OWL

×