730 likes | 862 Views
Parte V: conclusione. 1. Semantic Web Modellare e Condividere per Innovare. Sommario. Un modello per studiare l’innovazione Il Semantic Web Esempi di applicazione. Innovazione. Innovazione. creare. problemi. idea. innovare. analizzare. macro fenomeno. micro fenomeno.
E N D
Parte V: conclusione 1. Semantic WebModellare e Condividere per Innovare
Sommario • Un modello per studiare l’innovazione • Il Semantic Web • Esempi di applicazione
Innovazione creare problemi idea innovare analizzare macro fenomeno micro fenomeno complessità = 6.000.000.000 persone
Innovazione creare problemi idea innovare analizzare macro fenomeno micro fenomeno complessità = magia
Innovazione creare problemi idea ingegneria scienza innovare analizzare macro fenomeno micro fenomeno complessità = magia
Innovare … creare idea innovare micro fenomeno complessità
… non è mai solo una questione di tecnologia creare idea soluzione sociale soluzione tecnica innovare micro fenomeno complessità
Un modello per studiare l’innovazione creare problemi idea soluzione sociale soluzione tecnica innovare analizzare macro fenomeno micro fenomeno complessità
Analizziamo il Web delle origini Non riesco ad accedere all’informazione Ipertesti + Internet creare problemi idea Come trovole pagine? URI HTTP HTML Come posso scrivere? soluzione sociale soluzione tecnica innovare analizzare Condividere info Link a cose interessanti macro fenomeno micro fenomeno WWW Esplosione del fenomeno Web complessità
Analizziamo google Come trovole pagine? Indici + SVM creare problemi idea Google spoofing PageRank soluzione sociale soluzione tecnica innovare analizzare Condividere info Link a cose interessanti macro fenomeno micro fenomeno Google Il fenomeno Google complessità
Analizziamo il Web 2.0 Come posso scrivere? wiki-wiki e diari Web creare problemi idea wiki blog Come gestire tutta questa info? soluzione sociale soluzione tecnica innovare analizzare Condividere info Link a cose interessanti macro fenomeno micro fenomeno I fenomeni Wikipedia, blogosphere, … Web 2.0 complessità
Analizziamo il Semantic Web KR + Web Come gestire i dati sul Web? creare problemi idea ? Modellare RDF OWL SPARQL RIF soluzione sociale soluzione tecnica innovare analizzare Condividere info Link a cose interessanti macro fenomeno micro fenomeno ? Semantic Web complessità
Semantic Web • Un mododispecificaredati e relazionitraidati • Permettedicondividere e riusaredatitraapplicazioni, imprese e gruppidiinteresse • Unacollezioneditecnologie • RDF • RDF-S • OWL • GRDDL • SPARQL • … • La prossimaonda del Web dasurfare …
The “corporate” landscape is moving • Major companiesoffer (or willoffer) Semantic Web tools or systemsusingSemantic Web: • Adobe, Oracle, IBM, HP, Software AG, GE, NorthropGruman, Altova, Microsoft, Dow Jones, … • Others are using it (or consider using it) as part of their own operations: • Novartis, Boeing, Pfizer, Telefónica, … • Some of the namesofactiveparticipants in W3C SW relatedgroups: • ILOG, HP, Agfa, SRI International, Fair Isaac Corp., Oracle, Boeing, IBM, Chevron, Siemens, Nokia, Pfizer, Sun, EliLilly, …
The 2007 Gartner predictions • During the next 10 years, Web-based technologies will improve the ability to embed semantic structures [… it] will occur in multiple evolutionary steps… • By 2017, we expect the vision of the Semantic Web […] to coalesce […] and the majority of Web pages are decorated with some form of semantic hypertext. • By 2012, 80% of public Web sites will use some level of semantic hypertext to create SW documents […] 15% of public Web sites will use more extensive Semantic Web-based ontologies to create semantic databases Source: “Finding and Exploiting Value in Semantic Web Technologies on the Web”, Gartner Research Report, May 2007
The Web Today Search & Mash-up Engine 10100 10 0010 01 101 101 01 110 1 10 1 10 0 1 1 0 1 0 1 0 0 1 1 0 1 1 1 10 0 1 101 0 1 0 1101 010 0 1 1 0 Too much information to browse, need for searching and mashing up automatically Large number of integrations - ad hoc - pair-wise Millions of Applications ? Each site is “understandable” for us Computers don’t “understand” much
What does “understand” mean? • What we say to Web agents • " For more information visit <a href=“http://www.ex.org”> my company </a> Web site. . .” • What they “hear” • " blah blah blah blah blah <a href=“http://www.ex.org”> blah blah blah </a> blah blah. . .” • Jet this is enought to train them to achive tasks for us [ source http://www.thefarside.com/ ]
What does Google “understand”? • Understanding that • [page1] links [page2] page2 is interesting • Google is able to rank results! • “The heart of our software is PageRank™, a system for ranking web pages […] (that) relies on the uniquely democratic nature of the web by using its vast link structure as an indicator of an individual page's value.” http://www.google.com/technology/
Two ways for computer to “understand” 1/2 • Smarter machines • Smarter data
Two ways for computer to “understand” 2/2 • Smarter machines • Such as • Natural Langue processing (NLP) • Audio Processing • Image Processing (IP) • Video Processing • … many many more • They all work fine alone, the problem is combinig them • E.g., NLP meets IP • NLP: What does your eye see? • IP: I see a sea • NLP: You see a “c”? • IP: Yes, what else could it be? • Not the Semantic Web approach • Smarter Data • Make data easier for machines to publish, share, find and understand • E.g. wornet2.1:sea/noun/1 vs. wordnet2.1:c/noun/10 • The Semantic Web approach Some NLP Related Entertainment http://www.cl.cam.ac.uk/Research/ NL/amusement.html
The Semantic Web 1/4 • “The Semantic Web is not a separate Web, but an extension of the current one, in which information is given well-defined meaning, better enabling computers and people to work in cooperation.” “The Semantic Web”, Scientific American Magazine, Maggio 2001 http://www.sciam.com/article.cfm?articleID=00048144-10D2-1C70-84A9809EC588EF21 • Key concepts • an extension of the current Web • in which information is given well-defined meaning • better enabling computers and people to work in cooperation. • Both for computers and people
The Semantic Web 2/4 • “The Semantic Web is not a separate Web, but an extension of the current one […] ” Web 1.0 The Web Today
The Semantic Web 3/4 • “The Semantic Web […] , in which information is given well-defined meaning […]” Semantic Web Web 1.0 ? Humanunderstandablebut “only” machine-readable Human and machine “understandable”
The Semantic Web 4/4 […] better enabling computers and people to work in cooperation. Fewer Integration - standard - multi-lateral Even More Applications Semantic Web Semantic Mash-ups & Search Easier to understand for people More “understandable” for computers
Semantic Web “layer cake” Already Possible UnderInvestigation Standardized [ source http://www.w3.org/2007/03/layerCake.png ]
RDF: Resource Description Framework • RDF is a general method for conceptual description or modeling of information that is implemented in web resources • Basically speaking, the RDF data model is based upon the idea of making statements about Web resources, in the form of subject-predicate-object expressions.These expressions are known as triples in RDF terminology. • The subject denotes the resource, and the predicate denotes traits or aspects of the resource and expresses a relationship between the subject and the object.
RDF: Resource Description Framework • For example, one way to represent the notion "The sky has the color blue" in RDF is as the triple: • a subject denoting "the sky" • wordnet:synset-sky-noun-1 • a predicate denoting "has the color" • wordnet:wordsense-color-verb-6 • an object denoting "blue“ • wordnet:synset-blue-noun-1 • In FOL we could write • predicate(subject, object) • wn:wordsense-color-verb-6(wn:synset-sky-noun-1, wn:synset-blue-noun-1) Click & read!
Serialization of RDF • Serialization (N3 notation) • subjectpredicateobject . @prefix wn: <http://www.w3.org/2006/03/wn/wn20/schema/>. wn:synset-sky-noun-1wn:wordsense-color-verb-6wn:synset-blue-noun-1 . • Serialization (N3 notation) • <rdf:Description about="subject"> <predicate rdf:resource="object“/> </rdf:Description> <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:wn="http://www.w3.org/2006/03/wn/wn20/schema/" > <rdf:Description about="wn:synset-sky-noun-1"> <wn:wordsense-color-verb-6 rdf:resource="wn:synset-blue-noun-1"/> </rdf:Description> </rdf:RDF>
Example: BBC’s Artist as Linked Data <?xml version="1.0" encoding="utf-8"?> <rdf:RDF xmlns:rdf = "http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:rdfs = "http://www.w3.org/2000/01/rdf-schema#" xmlns:owl = "http://www.w3.org/2002/07/owl#" xmlns:dc = "http://purl.org/dc/elements/1.1/" xmlns:foaf = "http://xmlns.com/foaf/0.1/" xmlns:rel = "http://www.perceive.net/schemas/relationship/" xmlns:mo = "http://purl.org/ontology/mo/" xmlns:rev = "http://purl.org/stuff/rev#" > <rdf:Descriptionrdf:about="/music/artists/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432.rdf"> <rdfs:label>Descriptionof the artist U2</rdfs:label> <foaf:primaryTopicrdf:resource="/music/artists/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432#artist"/> </rdf:Description> <mo:MusicGrouprdf:about="/music/artists/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432#artist"> <foaf:name>U2</foaf:name> <owl:sameAsrdf:resource="http://dbpedia.org/resource/U2" /> <foaf:pagerdf:resource="/music/artists/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432.html" /> <mo:musicbrainzrdf:resource="http://musicbrainz.org/artist/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432.html" /> <mo:homepage rdf:resource="http://www.u2.com/" /> <mo:fanpagerdf:resource="http://www.atu2.com/" /> <mo:wikipediardf:resource="http://en.wikipedia.org/wiki/U2" /> <mo:imdbrdf:resource="http://www.imdb.com/name/nm1277752/" /> <mo:myspacerdf:resource="http://www.myspace.com/u2" /> <mo:memberrdf:resource="/music/artists/7f347782-eb14-40c3-98e2-17b6e1bfe56c#artist" /> <mo:memberrdf:resource="/music/artists/1f52af22-0207-40ac-9a15-e5052bb670c2#artist" /> HTML: http://www.bbc.co.uk/music/artists/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432 RDF : http://www.bbc.co.uk/music/artists/a3cb23fc-acd3-4ce0-8f36-1e5aa6a18432.rdf
If you want to see the triples • RDF is not always serialized in N3 notation, so if you want to see the triples you can use W3C RDF Validation Service • http://www.w3.org/RDF/Validator/ • To see the triples in the RDF version of the page about U2 on BCC • http://www.w3.org/RDF/Validator/ARPServlet?URI=http%3A%2F%2Fwww.bbc.co.uk%2Fmusic%2Fartists%2Fa3cb23fc-acd3-4ce0-8f36-1e5aa6a18432.rdf+&PARSE=Parse+URI%3A+&TRIPLES_AND_GRAPH=PRINT_TRIPLES&FORMAT=PNG_EMBED
What is SPARQL? • SPARQL • is the query language of the Semantic Web • stays for SPARQL Protocol and RDF Query Language • A Query Language ...:Find names and websites of contributors to PlanetRDF: PREFIX foaf: <http://xmlns.com/foaf/0.1/> SELECT ?name ?website FROM <http://planetrdf.com/bloggers.rdf> WHERE { ?person foaf:weblog ?website ; ?person foaf:name ?name . ?website a foaf:Document } • ... and a Protocol.http://.../qps? query-lang=http://www.w3.org/TR/rdf-sparql-query/ &graph-id=http://planetrdf.com/bloggers.rdf &query=PREFIX foaf: <http://xmlns.com/foaf/0.1/...
What does it mean? Machinereadable It makesdomainassumptionexplicit A conceptual model of someaspects of thereality Several peopleagrees that suchconceptual modelis adequate to describe such aspects of thereality Formal, explicit specification of a shared conceptualization
How much explicit shall the specification be? “A little semantics, goes a long way” [James Hendler, 2001]
A simple ontology creates Artist Piece Painter Paint paints Sculptor Sculpt sculpts
Specifying classes, sub-classes and instances • Creating a class • RDFS: Artist rdf:type rdfs:Class . • FOL: x Artist(x) • Creating a subclass • RDFS: Painter rdfs:subClassOf Artist . • RDFS: Sculptor rdfs:subClassOf Artist . • FOL: x [Painter(x) Sculptor(x) Artist(x)] • Creating an instance • RDFS: Rodin rdf:type Sculptor . • FOL: Sculptor(Rodin) Artist Painter Sculptor Rodin
Specifying properties and sub-properties • Creating a property • RDFS: creates rdf:type rdf:Property . • FOL: x y Creates(x,y) • Using a property • RDFS: Rodin creates TheKiss . • FOL: Creates(Rodin, TheKiss) • Creating subproperties • RDFS: paints rdfs:subPropertyOf creates . • FOL: x y [Paints(x,y) Creates(x,y)] • RDFS: sculpts rdfs:subPropertyOf creates . • FOL: x y [Sculpts(x,y) Creates(x,y)] creates paints - 42 -
Specifying domain/range constrains • Checking which classes and properties can be use together • RDFS: creates rdfs:domain Artist . creates rdfs:range Piece . paints rdfs:domain Painter . paints rdfs:range Paint . sculpts rdfs:domain Sculptor . sculpts rdfs:range Sculpt . • FOL: x y [Creates(x,y) Artist(x) Piece(y)] x y [Paints(x,y) Painter(x) Paint(y)] x y [Sculpts(x,y) Sculptor(x) Sculpt(y)]
The ontology we specified creates Artist Piece Painter Paint paints Sculptor Sculpt sculpts
RDF semantics (a part of it) hypothesis conclusion x rdfs:subClassOf y .a rdf:type y .a rdf:type x . x rdfs:subClassOf y .x rdfs:subClassOf z .y rdfs:subClassOf z . x a y .x b y . a rdfs:subPropertyOf b . a rdfs:subPropertyOf b . a rdfs:subPropertyOf c .b rdfs:subPropertyOf c . x a y . x rdf:type z .a rdfs:domain z . x a u . u rdf:type z .a rdfs:range z . Read out more in RDF Semantics http://www.w3.org/TR/rdf-mt/
First Order Calculus and RDF semantics • RDFS inference rules are valid deduction hypothesis Conclusion p rdfs:subClassOf q . a rdf:type q . a rdf:type p . • In FOL x [ P(x) Q(x)], P(A) Q(A) • We can demonstate that it is a valid deduction using First Order Calculus 1. x [P(x) Q(x)] hypothesis 2. P(A) hypothesis 3. P(A) Q(A) E(1) 4. Q(A) E(3,2)
Without Inference • A recipient, that only understands XML syntax, • receiving <RDF> <Description about="Rodin"> <sculpts resource="TheKiss"/> </Description> </RDF> • can answer the following queries • WhatdoesRodinsculpt? RDF/Description[@about='Rodin']/sculpts/@resource • WhodoessculptTheKiss? RDF/Description[sculpts/@resource='TheKiss']/@about • Try out your self at http://www.mizar.dk/XPath/ • butitcannotanswer • WhoisRodin? • WhatisTheKiss? • IsthereanySculptor/Scupts? • IsthereanyArtist/Piece?
Knowing the ontology and RDF semantics … creates Artist Piece Painter Paint paints Sculptor Sculpt sculpts • A recipient, that knows the ontology and “understands” RDF semantics, • Receiving Rodin sculpts TheKiss . Rodin TheKiss
… a reasoner can answer 1/2 • the previous queries • What does Rodin sculpt? PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> PREFIX ex: <http://www.ex.org/schema#> SELECT ?x WHERE { ex:Rodin ex:sculpts ?x } ?x = ex:TheKiss • Who does sculpt TheKiss? WHERE { ex:Rodin ex:sculpts ?x } ?x = ex:Rodin • and it can also answer • Who is Rodin? WHERE { ex:Rodin a ?x } ?x = ex:Artist, ex:Sculptor, rdfs:Resource • What is TheKiss? WHERE { ex:TheKiss a ?x } ?x = ex:Sclupt, ex:Piece, rdfs:Resource