Towards Extending and using SPARQL for Modular Document Generation Faisal Alkhateeb and S´ ebastien Laborie DocEng’08 1 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
Introduction The context World Wide Web 2 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
Introduction The context World Wide Web 2 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
Introduction The context World Wide Web Document generation Template 2 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
Introduction The problem The gap between XML and RDF technologies Document generation XSLT Template XPath SPARQL 3 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
Our contribution Our contribution Bridge the gap between XML and RDF technologies Document generation SPARQL Template 4 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
Our contribution Our contribution Contribution: A SPARQL extension which supports the generation of XML documents based on templates Definition of a template language based on our SPARQL extension Advantages: Templates modularity Templates reusability Templates readability 4 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
Our contribution Outline The SPARQL language 1 A SPARQL extension for document generation 2 Embed queries into templates 3 Conclusion 4 5 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language Outline The SPARQL language 1 A SPARQL extension for document generation 2 Embed queries into templates 3 Conclusion 4 6 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language Query: Look for flights from Paris which cost a certain price RDF Graph “Paris.jpg” “Paris” ex:name foaf:depiction ex:Paris ex:from ex:from ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ex:to rdf:type rdf:type ex:to ex:Flight ex:Amsterdam ex:Roma ex:name ex:name rdfs:subClassOf ex:Trip “Amsterdam” “Roma” 7 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language Query: Look for flights from Paris which cost a certain price RDF Graph SPARQL Query “Paris.jpg” “Paris” ex:name foaf:depiction SELECT * ex:Paris FROM RDF Graph ex:from ex:from WHERE { ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ?Flight rdf:type ex:Flight . ex:to rdf:type rdf:type ex:to ?Flight ex:from ex:Paris . ?Flight ex:to ?CityArrival . ex:Flight ex:Amsterdam ex:Roma ?Flight ex:price ?Price . ex:name ex:name rdfs:subClassOf } ex:Trip “Amsterdam” “Roma” 7 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language Query: Look for flights from Paris which cost a certain price RDF Graph “Paris.jpg” “Paris” SPARQL Query ex:name foaf:depiction ex:Paris ex:from ex:from ?Price ex:Paris ex:price ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ex:from ?Flight ex:to rdf:type rdf:type ex:to ex:to rdf:type ex:Flight ex:Amsterdam ex:Roma ?CityArrival ex:Flight ex:name ex:name rdfs:subClassOf ex:Trip “Amsterdam” “Roma” 7 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language Query: Look for flights from Paris which cost a certain price RDF Graph “Paris” “Paris.jpg” SPARQL Query ex:name foaf:depiction ex:Paris ex:from ex:from ?Price ex:Paris ex:price ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ex:from ?Flight rdf:type rdf:type ex:to ex:to rdf:type ex:to ex:Flight ex:Amsterdam ex:Roma ?CityArrival ex:Flight ex:name ex:name rdfs:subClassOf ex:Trip “Amsterdam” “Roma” Solutions ? Flight ? CityArrival ? Price 1 ex : Iberia123 ex : Amsterdam “325” 7 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language Query: Look for flights from Paris which cost a certain price RDF Graph “Paris.jpg” “Paris” SPARQL Query ex:name foaf:depiction ex:Paris ex:from ex:from ?Price ex:Paris ex:price ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ex:from ?Flight ex:to rdf:type rdf:type ex:to ex:to rdf:type ex:Flight ex:Amsterdam ex:Roma ?CityArrival ex:Flight ex:name ex:name rdfs:subClassOf ex:Trip “Amsterdam” “Roma” Solutions ? Flight ? CityArrival ? Price 1 ex : Iberia123 ex : Amsterdam “325” 2 ex : Alitalia712 ex : Roma “400” 7 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language with RDFS Query: Look for trips from Paris which cost a certain price RDF Graph SPARQL Query “Paris.jpg” “Paris” ex:name foaf:depiction SELECT * ex:Paris FROM RDF Graph ex:from ex:from WHERE { ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ?Trip rdf:type ex:Trip . ex:to rdf:type rdf:type ex:to ?Trip ex:from ex:Paris . ?Trip ex:to ?CityArrival . ex:Flight ex:Amsterdam ex:Roma ?Trip ex:price ?Price . ex:name ex:name rdfs:subClassOf } ex:Trip “Amsterdam” “Roma” 8 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language with RDFS Query: Look for trips from Paris which cost a certain price RDF Graph SPARQL Query “Paris.jpg” “Paris” ex:name foaf:depiction SELECT * ex:Paris FROM RDF Graph ex:from ex:from WHERE { ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ?Trip rdf:type ex:Trip . ex:to rdf:type rdf:type ex:to ?Trip ex:from ex:Paris . ?Trip ex:to ?CityArrival . ex:Flight ex:Amsterdam ex:Roma ?Trip ex:price ?Price . ex:name ex:name rdfs:subClassOf } ex:Trip “Amsterdam” “Roma” 8 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language with RDFS Query: Look for trips from Paris which cost a certain price RDF Graph SPARQL Query “Paris.jpg” “Paris” ex:name foaf:depiction SELECT * ex:Paris FROM RDF Graph ex:from ex:from WHERE { ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ?Trip rdf:type ex:Trip . ex:to rdf:type rdf:type ex:to ?Trip ex:from ex:Paris . ?Trip ex:to ?CityArrival . ex:Flight ex:Amsterdam ex:Roma ?Trip ex:price ?Price . ex:name ex:name rdfs:subClassOf } ex:Trip “Amsterdam” “Roma” Solutions ? Trip ? CityArrival ? Price 1 ex : Iberia123 ex : Amsterdam “325” 2 ex : Alitalia712 ex : Roma “400” 8 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language with a CONSTRUCT clause Query: Look for trips from Paris which cost a certain price RDF Graph SPARQL Query “Paris.jpg” “Paris” CONSTRUCT ex:name foaf:depiction { ex:Paris ex:reachable ?CityArrival . } ex:Paris FROM RDF Graph ex:from ex:from WHERE { ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ?Trip rdf:type ex:Trip . rdf:type rdf:type ?Trip ex:from ex:Paris . ex:to ex:to ?Trip ex:to ?CityArrival . ex:Amsterdam ex:Flight ex:Roma ?Trip ex:price ?Price . ex:name rdfs:subClassOf ex:name } ex:Trip “Amsterdam” “Roma” 9 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
The SPARQL language The SPARQL Language with a CONSTRUCT clause Query: Look for trips from Paris which cost a certain price RDF Graph SPARQL Query “Paris” “Paris.jpg” CONSTRUCT ex:name foaf:depiction { ex:Paris ex:reachable ?CityArrival . } ex:Paris FROM RDF Graph ex:from ex:from WHERE { ex:price ex:price “325” ex:Iberia123 ex:Alitalia712 “400” ?Trip rdf:type ex:Trip . rdf:type rdf:type ?Trip ex:from ex:Paris . ex:to ex:to ?Trip ex:to ?CityArrival . ex:Flight ex:Amsterdam ex:Roma ?Trip ex:price ?Price . ex:name ex:name rdfs:subClassOf } ex:Trip “Amsterdam” “Roma” Query answer ex:reachable ex:reachable ex:Amsterdam ex:Paris ex:Paris ex:Roma 9 Faisal Alkhateeb and S´ ebastien Laborie Towards Extending and using SPARQL for Modular Document Generation
Recommend
More recommend