SlideShare a Scribd company logo
1 of 131
Realizing a Semantic Web Application Emanuele Della Valle Dario Cerizza Irene Celino http://www.cefriel.it    http://swa.cefriel.it     [email_address]   http://emanueledellavalle.org 7 th  Int. Semantic Web Conference  ISWC 2008 Karlsruhe, Germany, October 26, 2008 C enter of  E xcellence  F or  R esearch,  I nnovation,  E ducation and industrial  L ab partnership - Politecnico di Milano
Goal ,[object Object],[object Object],[object Object],[object Object],[object Object]
Ingredients ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Approach ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Towards a Semantic Web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],*  http://www.w3.org/People/Ivan/CorePresentations/IntroThroughExample/
Towards a Semantic Web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Towards a Semantic Web ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A user need for meex ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A manual solution ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
A manual solution ,[object Object]
A manual solution ,[object Object]
A manual solution ,[object Object]
A manual solution ,[object Object]
Music Event Explorer ,[object Object]
What is needed? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],*  http://www.w3.org/People/Ivan/CorePresentations/IntroThroughExample/
The rough structure of data integration ,[object Object],[object Object],[object Object],[object Object],[object Object]
The rough structure of data integration
So where is the Semantic Web? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
So where is the Semantic Web?
A Semantic Web application is still an application! ,[object Object],[object Object],[object Object]
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4  Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1   Testing
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4  Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1   Testing
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4  Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1   Testing
Content requirements analysis ,[object Object],[object Object],[object Object],[object Object]
EVDB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MusicBrainz ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
MusicMoz ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
meex needs to merge this data ,[object Object],[object Object],[object Object],[object Object]
Data Licences ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Application requirements analysis (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Application requirements analysis (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
D.1  Model the application ontology D.2  Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1  Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1  Testing
Motivations for RDF ,[object Object],[object Object],[object Object],[object Object],*  http://www.w3.org/2008/Talks/1027-ISWC/HCLS
What does RDF provide? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
How do we write RDF? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Turtle Introduction ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Convience Syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Convience Syntax ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Artist data in RDF ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
RDF Resources ,[object Object],[object Object],[object Object]
RDFS/OWL in a nutshell: class and instance ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Artist Painter Sculptor Rodin
RDFS/OWL in a nutshell: properties ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],creates paints
RDFS/OWL in a nutshell: range & domain ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
The resulting ontology
Some Inference Rules ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Inference at work ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Inference at work ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Model the Application Ontology ,[object Object],[object Object],[object Object],[object Object],[object Object]
Modeling  Performer  in OWL ,[object Object],[object Object],[object Object],[object Object],[object Object],Meex.n3
Modeling  Style  in OWL ,[object Object],[object Object],[object Object],[object Object],Meex.n3
Modeling  Event  in OWL ,[object Object],[object Object],[object Object],[object Object],[object Object],Meex.n3 ,[object Object]
Modeling  When  in OWL ,[object Object],[object Object],[object Object],[object Object],[object Object],GoogleSchema.n3
Modeling  Where  in OWL ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],GoogleSchema.n3
Model the content ontology ,[object Object],[object Object],[object Object]
D.1  Model the application ontology D.2  Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1  Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1  Testing
Modeling MusicBrainz schema in OWL @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl:  <http://www.w3.org/2002/07/owl#> . @prefix mb:  <http://musicbrainz.org/> . mb:Artist  a  owl:Class ;   rdfs:label  &quot;MusicBrainz Artist and Band&quot; . mb:artist_relation  a  owl:ObjectProperty ;   rdfs:domain  mb:Artist ;   rdfs:range  mb:Artist . MusicBrainz.n3 artist artist_relation id gid artist ref
Sample data for MusicBrainz in OWL ,[object Object],[object Object],[object Object],SampleInstance-MusicBrainz.n3 ,[object Object]
MusicMoz schema category from * resource style 1 * name link name string type
Modeling MusicMoz schema in OWL @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl:  <http://www.w3.org/2002/07/owl#> . @prefix mm:  <http://musicmoz.org/> . @prefix mb:  <http://musicbrainz.org/> . mm:from  a  owl:DatatypeProperty ;   rdfs:domain  mb:Artist ;   rdfs:range <http://www.w3.org/2001/XMLSchema#string>. mm:Style  a owl:Class ;   rdfs:label  &quot;MusicMoz Music Style&quot; . mm:hasStyle  a  owl:ObjectProperty ;   rdfs:domain  mb:Artist ;   rdfs:range  mm:Style . MusicMoz.n3
Sample data for MusicMoz in OWL ,[object Object],[object Object],SampleInstance-MusicMoz.n3 ,[object Object]
Modeling EVDB schema in OWL @prefix rdfs:  <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl:  <http://www.w3.org/2002/07/owl#> . @prefix evdb:  <http://eventful.com/> . @prefix gd:  <http://schemas.google.com/g/2005> . evdb:Event  a  owl:Class ;   rdfs:label  &quot;Eventful Event&quot; . evdb:hasWhen  a  owl:ObjectProperty ;   rdfs:domain  evdb:Event ;   rdfs:range  gd:When . evdb:hasWhere  a  owl:ObjectProperty ;   rdfs:domain  evdb:Event ;   rdfs:range  gd:Where . EVDB.n3 ,[object Object]
Sample data for EVDB in OWL ,[object Object],[object Object],[object Object],[object Object],SampleInstance-EVDB.n3
“ Application Connected by Concepts ” artists Music styles events time places Meex ontology MusicBrainz EVDB  MusicMoz Meex
Why SPARQL? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],*  http://www.w3.org/2008/Talks/1027-ISWC/HCLS
SELECTing variables ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Triple patterns ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Simple query pattern ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Result forms ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Protocol Mechanics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
SPARQL Resources ,[object Object],[object Object],[object Object],[object Object]
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4 Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1  Testing
Summary ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
meex interfaces MusicBrainz database Adapter Database    RDF SPARQL Server EVDB REST service MusicMoz File XML meex XML Browser Web 3) HTML and RDF 2) RDF GRDDL processor EVDB     RDF MusicMoz    RDF XML 2) RDF 1 )  Music style User
How we access the data ,[object Object],[object Object],[object Object],[object Object]
User Interface ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Designing how meex works inside Ajax Web Framework  GRDDL Processor For each Artist SPARQL Client MusicBrainz SPARQL Endpoint HTTP REST Client EVDB  HTTP REST service GRDDL Processor EVDB     RDF MusicMoz    RDF Linking Artists to Events RDF Merge Extraction and Transformation Ajax Web Framework  Music style Set of artist in RDF Artist SPARQL Query Events in XML Events in RDF Artists and events in RDF Artist data in RDF HTTP Query Dati RDF Artists and events in RDF
Execution Semantics (1) ,[object Object],[object Object],[object Object]
Execution Semantics (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Execution Semantics (3) ,[object Object],[object Object],[object Object],[object Object]
Two important internal components ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4 Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1  Testing
Implement the initial Knowledge Base  (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implement the initial Knowledge Base  (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuring the RDF storage ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuring the OWL reasoner ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4 Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1  Testing
Implement the integrated model  (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implement the integrated model  (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Implement the integrated model  (3) ,[object Object],[object Object],[object Object],[object Object],[object Object]
Implement the integrated model  (4) ,[object Object],SampleInstance-MusicBrainz.n3 mb:artist/b10bbbfc-cf9e-42e0-be17-e2c3e1d2600d.html a meex:Performer ; rdfs:label  &quot;The Beatles&quot; ; meex:relatedPerformer   mb:artist/ebfc1398-8d96-47e3-82c3-f782abcdb13d.html ,   mb:artist/618b6900-0618-4f1e-b835-bccb17f84294.html . Data-in-MusicBrainz-inferred-using-the-bridge-ontology.n3
Implement the integrated model  (5) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4 Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1  Testing
Testing the integrated model  ,[object Object],[object Object],[object Object]
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4 Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1  Testing
Choose content annotation methods ,[object Object],[object Object],[object Object]
meex interfaces (1) MusicBrainz database Adapter Database    RDF SPARQL Server EVDB REST service MusicMoz File XML meex XML Browser Web 3) HTML and RDF 2) RDF GRDDL processor EVDB     RDF MusicMoz    RDF XML 2) RDF 1 )  Music style User
Importing annotations from MusicBrainz ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Configuring D2RQ for MusicBrainz (1) ,[object Object],[object Object],[object Object],D2RQ-MusicBrainzDB.n3 artist artist_relation id gid artist ref
Configuring D2RQ for MusicBrainz (1) ,[object Object],[object Object],[object Object],[object Object],D2RQ-MusicBrainzDB.n3 NOTE  due to a limitation of D2RQ we need to create a view of the Artist table create view Artist2 select * from Artist artist artist_relation id gid artist ref
Configuring Joseky for MusicBrainz ,[object Object],[object Object],[object Object],joseki-config.ttl ,[object Object],[object Object]
Testing the SPARQL endpoint ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
meex interfaces (2) MusicBrainz database Adapter Database    RDF SPARQL Server EVDB REST service MusicMoz File XML meex XML Browser Web 3) HTML and RDF 2) RDF GRDDL processor EVDB     RDF MusicMoz    RDF XML 2) RDF 1 )  Music style User
Importing annotations from  MusicMoz and EVDB ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Importing annotations from  MusicMoz (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Excerpts from the files musicmoz.bandsandartists.xml and musicmoz.lists.styles.xml
Importing annotations from  MusicMoz (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Excerpts from the file musicmoz-to-rdf.xsl
Importing annotations from  MusicMoz (3) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
So far so good! (1) MusicBrainz database Adapter Database    RDF SPARQL Server EVDB REST service MusicMoz File XML meex XML Browser Web 3) HTML and RDF 2) RDF GRDDL processor EVDB     RDF MusicMoz    RDF XML 2) RDF 1 )  Music style User
So far so good! (2) Ajax Web Framework  GRDDL Processor For each Artist SPARQL Client MusicBrainz SPARQL Endpoint HTTP REST Client EVDB  HTTP REST service GRDDL Processor EVDB     RDF MusicMoz    RDF Linking Artists to events RDF Merge Estrazione e trasformazione Ajax Web Framework  Music style Set of artist in RDF Artist SPARQL Query Events in XML Events in RDF Artists and events in RDF Artist data in RDF HTTP Query Dati RDF Artists and events in RDF
D.1  Model the application ontology D.2  Model the content ontology R.1  Users’ needs analysis R.3  Software requirements analysis R.4 Content requirements analysis D.3  Model sample contents Reuse Merge Extend I.1  Implement the initial Knowledge Base V.1   Validation I.3  Choose content annotation methods I.2  Implement the integrated model Reuse Merge Extend I.4  Implement the application R.2  Risk analysis D.4  Design Application T.1  Testing
What’s left? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What’s left? Ajax Web Framework  GRDDL Processor For each Artist SPARQL Client MusicBrainz SPARQL Endpoint HTTP REST Client EVDB  HTTP REST service GRDDL Processor EVDB     RDF MusicMoz    RDF Linking Artists to events RDF Merge Estrazione e trasformazione Ajax Web Framework  Music style Set of artist in RDF Artist SPARQL Query Events in XML Events in RDF Artists and events in RDF Artist data in RDF HTTP Query Dati RDF Artists and events in RDF
MEMO:  Execution Semantics (1) ,[object Object],[object Object],[object Object]
Step 2 :  from the music style to the artists ,[object Object],[object Object],String sparqlQueryString = &quot;PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>&quot; + &quot;PREFIX meex: <http://swa.cefriel.it/meex#>&quot; + &quot;SELECT DISTINCT ?performer &quot; + &quot;WHERE { ?performer meex:performsStyle ?style.&quot; + &quot;  ?style rdfs:label amp;quot;&quot; + style + &quot;amp;quot;.}&quot;;
MEMO:  Execution Semantics (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Step 3.a: querying MusicBrainz  ,[object Object],String sparqlQueryString =    &quot;PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>”   + &quot;PREFIX mb: <http://musicbrainz.org/>”   + &quot;DESCRIBE <&quot;+ artist + &quot;>&quot;; SPARQLClient sparqlClient = new SPARQLClient(null); try { return sparqlClient.executeDescribeQuery(sparqlQueryString,   Config.MusicBrainzSPARQLEndpoint); } finally { sparqlClient.closeQuery(); } Excerpts from the file MusicBrainz.java
Step 3.b: querying EVDB ,[object Object],invokeHttpEndpoint(performerLabel, eventsFilename); prepareForGRDDL(eventsFilename); Model m = GRDDLProcessor.ApplyGRDDLTransformation(eventsFilename); private static void invokeHttpEndpoint(String keywords, String outputFilename) throws IOException { URL url = new URL(   &quot;http://api.evdb.com/rest/events/atom?sort_order=relevance&&quot;   + &quot;keywords=&quot; + URLEncoder.encode(keywords, &quot;UTF-8&quot;)   + &quot;&category=music&app_key=&quot;+Config.EVDBKey); URLConnection conn = url.openConnection(); conn.setDoOutput(true); BufferedReader in = new BufferedReader(new InputStreamReader(   conn.getInputStream())); […]  while ((inLine = in.readLine()) != null)  writer.write(inLine + &quot;&quot;); } Excerpts from the file EVDB.java
Step 3.c: linking artists to events ,[object Object],[object Object],String sparqlQueryString = &quot;PREFIX meex: <http://swa.cefriel.it/meex#>&quot; + &quot;CONSTRUCT {<&quot; + performer + &quot;> meex:performsEvent ?event.}“ + &quot;WHERE {?event a meex:Event.}&quot;;
MEMO:  Execution Semantics (3) ,[object Object],[object Object],[object Object],[object Object]
Step 4: preparing the data for the GUI  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Step 4: configuring Exhibit  ,[object Object],[object Object],[object Object],[object Object],[object Object]
Step 4: a sample JSON file ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Step 4: serializing RDF in JSON ,[object Object],[object Object],[object Object],[object Object]
Step 4: extracting the data  ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Step 5 and 6
Step 5 and 6
Tools employed (1) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Tools employed (2) ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thank you for paying attention Any Question?
Realizing a Semantic Web Application Emanuele Della Valle Dario Cerizza Irene Celino http://www.cefriel.it    http://swa.cefriel.it    emanuele.dellavalle@cefriel.it http://emanueledellavalle.org 7 th  Int. Semantic Web Conference  ISWC 2008 Karlsruhe, Germany, October 26, 2008 C enter of  E xcellence  F or  R esearch,  I nnovation,  E ducation and industrial  L ab partnership - Politecnico di Milano
Credits and Links ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Advertisement: if you speak Italian …

More Related Content

What's hot

Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
Tomek Pluskiewicz
 
Open belgium 2015 - open tourism
Open belgium 2015 - open tourismOpen belgium 2015 - open tourism
Open belgium 2015 - open tourism
Raf Buyle
 
Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011
Juan Sequeda
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked Data
Gabriela Agustini
 
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
eswcsummerschool
 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
Juan Sequeda
 

What's hot (20)

Linked Data Tutorial
Linked Data TutorialLinked Data Tutorial
Linked Data Tutorial
 
Introduction to the Semantic Web
Introduction to the Semantic WebIntroduction to the Semantic Web
Introduction to the Semantic Web
 
Open belgium 2015 - open tourism
Open belgium 2015 - open tourismOpen belgium 2015 - open tourism
Open belgium 2015 - open tourism
 
Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011Consuming Linked Data 4/5 Semtech2011
Consuming Linked Data 4/5 Semtech2011
 
Semantic web
Semantic web Semantic web
Semantic web
 
From the Semantic Web to the Web of Data: ten years of linking up
From the Semantic Web to the Web of Data: ten years of linking upFrom the Semantic Web to the Web of Data: ten years of linking up
From the Semantic Web to the Web of Data: ten years of linking up
 
An introduction to Semantic Web and Linked Data
An introduction to Semantic  Web and Linked DataAn introduction to Semantic  Web and Linked Data
An introduction to Semantic Web and Linked Data
 
Introduction to Linked Data
Introduction to Linked DataIntroduction to Linked Data
Introduction to Linked Data
 
Resource description framework
Resource description frameworkResource description framework
Resource description framework
 
Semantic web technology
Semantic web technologySemantic web technology
Semantic web technology
 
Semantic web Document
Semantic web DocumentSemantic web Document
Semantic web Document
 
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
ESWC SS 2012 - Wednesday Tutorial Barry Norton: Building (Production) Semanti...
 
Paul houle resume
Paul houle resumePaul houle resume
Paul houle resume
 
Introduction to Linked Data 1/5
Introduction to Linked Data 1/5Introduction to Linked Data 1/5
Introduction to Linked Data 1/5
 
Metadata is back!
Metadata is back!Metadata is back!
Metadata is back!
 
Linkator: enriching web pages by automatically adding dereferenceable semanti...
Linkator: enriching web pages by automatically adding dereferenceable semanti...Linkator: enriching web pages by automatically adding dereferenceable semanti...
Linkator: enriching web pages by automatically adding dereferenceable semanti...
 
An Introduction to Semantic Web Technology
An Introduction to Semantic Web TechnologyAn Introduction to Semantic Web Technology
An Introduction to Semantic Web Technology
 
IIIF Foundational Specifications
IIIF Foundational SpecificationsIIIF Foundational Specifications
IIIF Foundational Specifications
 
Linked Open Data in Romania
Linked Open Data in RomaniaLinked Open Data in Romania
Linked Open Data in Romania
 
Webofdata
WebofdataWebofdata
Webofdata
 

Similar to Developing A Semantic Web Application - ISWC 2008 tutorial

Introduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS PractitionersIntroduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS Practitioners
Emanuele Della Valle
 
Semantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientistsSemantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientists
Emanuele Della Valle
 
Aplicații Web Semantice - Descriere Proiect
Aplicații Web Semantice - Descriere ProiectAplicații Web Semantice - Descriere Proiect
Aplicații Web Semantice - Descriere Proiect
Vlad Posea
 

Similar to Developing A Semantic Web Application - ISWC 2008 tutorial (20)

Introduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS PractitionersIntroduction to Semantic Web for GIS Practitioners
Introduction to Semantic Web for GIS Practitioners
 
A Semantic Multimedia Web (Part 3)
A Semantic Multimedia Web (Part 3)A Semantic Multimedia Web (Part 3)
A Semantic Multimedia Web (Part 3)
 
Building Linked Data Applications
Building Linked Data ApplicationsBuilding Linked Data Applications
Building Linked Data Applications
 
Semantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientistsSemantic Web, an introduction for bioscientists
Semantic Web, an introduction for bioscientists
 
State of the Semantic Web
State of the Semantic WebState of the Semantic Web
State of the Semantic Web
 
Semweb at the BBC
Semweb at the BBCSemweb at the BBC
Semweb at the BBC
 
Lodlam presentation v1.0 final al20151104
Lodlam presentation v1.0 final al20151104Lodlam presentation v1.0 final al20151104
Lodlam presentation v1.0 final al20151104
 
DataPortability and Me: Introducing SIOC, FOAF and the Semantic Web
DataPortability and Me: Introducing SIOC, FOAF and the Semantic WebDataPortability and Me: Introducing SIOC, FOAF and the Semantic Web
DataPortability and Me: Introducing SIOC, FOAF and the Semantic Web
 
Pundit @ Den Haag
Pundit @ Den HaagPundit @ Den Haag
Pundit @ Den Haag
 
Semantic web
Semantic webSemantic web
Semantic web
 
Linked Data Workshop at I-Semantics 2010
Linked Data Workshop at I-Semantics 2010Linked Data Workshop at I-Semantics 2010
Linked Data Workshop at I-Semantics 2010
 
Linked Data Generation for the University Data From Legacy Database
Linked Data Generation for the University Data From Legacy Database  Linked Data Generation for the University Data From Legacy Database
Linked Data Generation for the University Data From Legacy Database
 
lodlam summit session browsable linked data
lodlam summit session browsable linked datalodlam summit session browsable linked data
lodlam summit session browsable linked data
 
Aplicații Web Semantice - Descriere Proiect
Aplicații Web Semantice - Descriere ProiectAplicații Web Semantice - Descriere Proiect
Aplicații Web Semantice - Descriere Proiect
 
Unit 5 World_Wide_Web.pptx
Unit 5 World_Wide_Web.pptxUnit 5 World_Wide_Web.pptx
Unit 5 World_Wide_Web.pptx
 
Semantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart EnvironmentsSemantic Metadata to Support Device Interaction in Smart Environments
Semantic Metadata to Support Device Interaction in Smart Environments
 
Doing Clever Things with the Semantic Web
Doing Clever Things with the Semantic WebDoing Clever Things with the Semantic Web
Doing Clever Things with the Semantic Web
 
#opentourism - Linked Open Data Publishing and Discovery Workshop
#opentourism - Linked Open Data Publishing and Discovery Workshop#opentourism - Linked Open Data Publishing and Discovery Workshop
#opentourism - Linked Open Data Publishing and Discovery Workshop
 
Linked Data: so what?
Linked Data: so what?Linked Data: so what?
Linked Data: so what?
 
Future of Web 2.0 & The Semantic Web
Future of Web 2.0 & The Semantic WebFuture of Web 2.0 & The Semantic Web
Future of Web 2.0 & The Semantic Web
 

More from Emanuele Della Valle

More from Emanuele Della Valle (20)

Taming velocity - a tale of four streams
Taming velocity - a tale of four streamsTaming velocity - a tale of four streams
Taming velocity - a tale of four streams
 
Stream reasoning
Stream reasoningStream reasoning
Stream reasoning
 
Work in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream ReasoningWork in progress on Inductive Stream Reasoning
Work in progress on Inductive Stream Reasoning
 
Big Data and Data Science W's
Big Data and Data Science W'sBig Data and Data Science W's
Big Data and Data Science W's
 
Knowledge graphs in search engines
Knowledge graphs in search enginesKnowledge graphs in search engines
Knowledge graphs in search engines
 
La città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - FluxedoLa città dei balocchi 2017 in numeri - Fluxedo
La città dei balocchi 2017 in numeri - Fluxedo
 
Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...Stream Reasoning: a summary of ten years of research and a vision for the nex...
Stream Reasoning: a summary of ten years of research and a vision for the nex...
 
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
ACQUA: Approximate Continuous Query Answering over Streams and Dynamic Linked...
 
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...Stream reasoning: an approach to tame the velocity and variety dimensions of ...
Stream reasoning: an approach to tame the velocity and variety dimensions of ...
 
Big Data: how to use it to create value
Big Data: how to use it to create valueBig Data: how to use it to create value
Big Data: how to use it to create value
 
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...Listening to the pulse of our cities with Stream Reasoning (and few more tech...
Listening to the pulse of our cities with Stream Reasoning (and few more tech...
 
Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF Ist16-04 An introduction to RDF
Ist16-04 An introduction to RDF
 
Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web Ist16-03 An Introduction to the Semantic Web
Ist16-03 An Introduction to the Semantic Web
 
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
Ist16-02 HL7 from v2 (syntax) to v3 (semantics)
 
IST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic TechnologiesIST16-01 - Introduction to Interoperability and Semantic Technologies
IST16-01 - Introduction to Interoperability and Semantic Technologies
 
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
Stream reasoning: mastering the velocity and the variety dimensions of Big Da...
 
On Stream Reasoning
On Stream ReasoningOn Stream Reasoning
On Stream Reasoning
 
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
Listening to the pulse of our cities fusing Social Media Streams and Call Dat...
 
Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03Social listener-brera-design-district-2015-03
Social listener-brera-design-district-2015-03
 
City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)City Data Fusion for Event Management (in Italiano)
City Data Fusion for Event Management (in Italiano)
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 

Recently uploaded (20)

Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 

Developing A Semantic Web Application - ISWC 2008 tutorial

  • 1. Realizing a Semantic Web Application Emanuele Della Valle Dario Cerizza Irene Celino http://www.cefriel.it http://swa.cefriel.it [email_address] http://emanueledellavalle.org 7 th Int. Semantic Web Conference ISWC 2008 Karlsruhe, Germany, October 26, 2008 C enter of E xcellence F or R esearch, I nnovation, E ducation and industrial L ab partnership - Politecnico di Milano
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17. The rough structure of data integration
  • 18.
  • 19. So where is the Semantic Web?
  • 20.
  • 21. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 22. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 23. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 56. Modeling MusicBrainz schema in OWL @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix mb: <http://musicbrainz.org/> . mb:Artist a owl:Class ; rdfs:label &quot;MusicBrainz Artist and Band&quot; . mb:artist_relation a owl:ObjectProperty ; rdfs:domain mb:Artist ; rdfs:range mb:Artist . MusicBrainz.n3 artist artist_relation id gid artist ref
  • 57.
  • 58. MusicMoz schema category from * resource style 1 * name link name string type
  • 59. Modeling MusicMoz schema in OWL @prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> . @prefix owl: <http://www.w3.org/2002/07/owl#> . @prefix mm: <http://musicmoz.org/> . @prefix mb: <http://musicbrainz.org/> . mm:from a owl:DatatypeProperty ; rdfs:domain mb:Artist ; rdfs:range <http://www.w3.org/2001/XMLSchema#string>. mm:Style a owl:Class ; rdfs:label &quot;MusicMoz Music Style&quot; . mm:hasStyle a owl:ObjectProperty ; rdfs:domain mb:Artist ; rdfs:range mm:Style . MusicMoz.n3
  • 60.
  • 61.
  • 62.
  • 63. “ Application Connected by Concepts ” artists Music styles events time places Meex ontology MusicBrainz EVDB MusicMoz Meex
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 72.
  • 73. meex interfaces MusicBrainz database Adapter Database  RDF SPARQL Server EVDB REST service MusicMoz File XML meex XML Browser Web 3) HTML and RDF 2) RDF GRDDL processor EVDB  RDF MusicMoz  RDF XML 2) RDF 1 ) Music style User
  • 74.
  • 75.
  • 76. Designing how meex works inside Ajax Web Framework GRDDL Processor For each Artist SPARQL Client MusicBrainz SPARQL Endpoint HTTP REST Client EVDB HTTP REST service GRDDL Processor EVDB  RDF MusicMoz  RDF Linking Artists to Events RDF Merge Extraction and Transformation Ajax Web Framework Music style Set of artist in RDF Artist SPARQL Query Events in XML Events in RDF Artists and events in RDF Artist data in RDF HTTP Query Dati RDF Artists and events in RDF
  • 77.
  • 78.
  • 79.
  • 80.
  • 81. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 82.
  • 83.
  • 84.
  • 85.
  • 86. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 93.
  • 94. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 95.
  • 96. meex interfaces (1) MusicBrainz database Adapter Database  RDF SPARQL Server EVDB REST service MusicMoz File XML meex XML Browser Web 3) HTML and RDF 2) RDF GRDDL processor EVDB  RDF MusicMoz  RDF XML 2) RDF 1 ) Music style User
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102. meex interfaces (2) MusicBrainz database Adapter Database  RDF SPARQL Server EVDB REST service MusicMoz File XML meex XML Browser Web 3) HTML and RDF 2) RDF GRDDL processor EVDB  RDF MusicMoz  RDF XML 2) RDF 1 ) Music style User
  • 103.
  • 104.
  • 105.
  • 106.
  • 107. So far so good! (1) MusicBrainz database Adapter Database  RDF SPARQL Server EVDB REST service MusicMoz File XML meex XML Browser Web 3) HTML and RDF 2) RDF GRDDL processor EVDB  RDF MusicMoz  RDF XML 2) RDF 1 ) Music style User
  • 108. So far so good! (2) Ajax Web Framework GRDDL Processor For each Artist SPARQL Client MusicBrainz SPARQL Endpoint HTTP REST Client EVDB HTTP REST service GRDDL Processor EVDB  RDF MusicMoz  RDF Linking Artists to events RDF Merge Estrazione e trasformazione Ajax Web Framework Music style Set of artist in RDF Artist SPARQL Query Events in XML Events in RDF Artists and events in RDF Artist data in RDF HTTP Query Dati RDF Artists and events in RDF
  • 109. D.1 Model the application ontology D.2 Model the content ontology R.1 Users’ needs analysis R.3 Software requirements analysis R.4 Content requirements analysis D.3 Model sample contents Reuse Merge Extend I.1 Implement the initial Knowledge Base V.1 Validation I.3 Choose content annotation methods I.2 Implement the integrated model Reuse Merge Extend I.4 Implement the application R.2 Risk analysis D.4 Design Application T.1 Testing
  • 110.
  • 111. What’s left? Ajax Web Framework GRDDL Processor For each Artist SPARQL Client MusicBrainz SPARQL Endpoint HTTP REST Client EVDB HTTP REST service GRDDL Processor EVDB  RDF MusicMoz  RDF Linking Artists to events RDF Merge Estrazione e trasformazione Ajax Web Framework Music style Set of artist in RDF Artist SPARQL Query Events in XML Events in RDF Artists and events in RDF Artist data in RDF HTTP Query Dati RDF Artists and events in RDF
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 126.
  • 127.
  • 128. Thank you for paying attention Any Question?
  • 129. Realizing a Semantic Web Application Emanuele Della Valle Dario Cerizza Irene Celino http://www.cefriel.it http://swa.cefriel.it emanuele.dellavalle@cefriel.it http://emanueledellavalle.org 7 th Int. Semantic Web Conference ISWC 2008 Karlsruhe, Germany, October 26, 2008 C enter of E xcellence F or R esearch, I nnovation, E ducation and industrial L ab partnership - Politecnico di Milano
  • 130.
  • 131. Advertisement: if you speak Italian …