This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision Next revision Both sides next revision | ||
teaching:infoh509 [2015/04/23 13:39] svsummer |
teaching:infoh509 [2016/02/12 16:25] svsummer |
||
---|---|---|---|
Line 1: | Line 1: | ||
====== INFO-H-509 : XML and Web Technologies ====== | ====== INFO-H-509 : XML and Web Technologies ====== | ||
- | <note important>If you are following this course, please fill out [[https://docs.google.com/forms/d/17JUkVrTJ_Lx1fKNCa4YZjbLNTddstEVcQXSa0PrvKwQ/viewform|this form]] **by friday 27 february at the latest**. It allows the course responsibles to get an overview of the students participating in the course, and contact you should this be necessary.</note> | + | <note important>If you are following this course, please complete this form so that the course responsibles can get in touch with you if necessary. https://docs.google.com/forms/d/17JUkVrTJ_Lx1fKNCa4YZjbLNTddstEVcQXSa0PrvKwQ/viewform</note> |
===== GENERAL INFORMATION ===== | ===== GENERAL INFORMATION ===== | ||
Line 28: | Line 28: | ||
==== Schedule ===== | ==== Schedule ===== | ||
- | * The course schedule is available [[infoh509:horaire|on-line]]. | + | * The course schedule is available [[infoh509:horaire|on-line]]. Please be sure to check regularly for updates. |
- | Please be sure to check regularly for updates. | + | |
===== COURSE PLAN ===== | ===== COURSE PLAN ===== | ||
Line 43: | Line 42: | ||
* [[http://www.jmarshall.com/easy/http/|HTTP made really easy]] (Note that this document uses an outdated interpretation of the term "resource") | * [[http://www.jmarshall.com/easy/http/|HTTP made really easy]] (Note that this document uses an outdated interpretation of the term "resource") | ||
* The book chapter 1 (pages 3-31) and chapter 8 (pages 343-361). | * The book chapter 1 (pages 3-31) and chapter 8 (pages 343-361). | ||
- | * The {{:teaching:infoh509:1-intro-webarch.pdf|slides}}. | + | * The {{:teaching:infoh509:1-intro-webarch.pdf|slides}} |
- | + | ||
- | + | ||
- | ==== Lecture 2: XML and XPath === | + | |
- | + | ||
- | Lecture 2 has introduced XML and XPath in depth. | + | |
- | + | ||
- | **Required reading:** | + | |
- | + | ||
- | * Chapter 2 and chapter 3 (except section 3.6) in the book | + | |
- | * The {{:teaching:infoh509:2-xml-xpath.pdf|corresponding slides}}. | + | |
- | + | ||
- | ==== Lecture 3: XML Schema Languages: DTDs === | + | |
- | + | ||
- | Lecture 3 has introduced | + | |
- | (1) the motivation behind XML Schema Languages, (2) syntax and | + | |
- | semantics of DTDs, and (3) regular expressions. | + | |
- | + | ||
- | See pages 92-113 in the book as well as the | + | |
- | {{:teaching:infoh509:3-xml_schemas.pdf|corresponding slides}}. | + | |
- | + | ||
- | ==== Lecture 4: XML Schema Languages: XSDs === | + | |
- | + | ||
- | In Lecture 3, we have discussed the limitations of DTDs. Some of these | + | |
- | limitations are lifted by XML Schema, whose syntax and semantics were studied during lecture 4. | + | |
- | + | ||
- | See pages 113-158 in the book as well as the | + | |
- | {{:teaching:infoh509:4-xml_schemas_part_2.pdf|corresponding slides}}. | + | |
- | + | ||
- | ==== Project Assignment 1: XML Schema Definition ==== | + | |
- | + | ||
- | Construct an XML Schema Definition for the information recorded by a | + | |
- | bookshop ({{:teaching:infoh509:un_en.pdf|full assignment}}). | + | |
- | + | ||
- | This assignment is to be made in groups of | + | |
- | two persons and contributes 2/20 to the overall grade (there are two | + | |
- | more assignments to follow, each contributing 2/20). The written exam | + | |
- | contributes the remaining 14/20 points. | + | |
- | + | ||
- | See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). | + | |
- | + | ||
- | <note tip>You can use these simple {{:teaching:infoh509:validationtools.zip|validation tools}} (written in Java) to help check if your example documents conform toyour XSD. Unzip the file, and then use either ''java -jar DTDValidator.jar <xmldoc>'' or ''java -jar XSDValidator.jar <schemadoc> <xmldoc>'' to validate. The third jar file contais the source code, should you be interested.</note> | + | |
- | + | ||
- | ==== Lecture 5: Transforming XML documents with XSLT === | + | |
- | + | ||
- | In Lecture 5 we have discussed how XML documents can be transformed | + | |
- | into other formats (be it XML or not) using XSLT. See pages 188-239 in | + | |
- | the book (**except sections 5.8.5, 5.8.7, 5.8.9, 5.8.10 and 5.11**) and | + | |
- | the {{:teaching:infoh509:5-xslt.pdf|corresponding slides}}. | + | |
- | + | ||
- | ==== Project Assignment 2: XSLT ==== | + | |
- | + | ||
- | Write a single XSLT 2.0 stylesheet that generates, starting from the | + | |
- | dblp-excerpt.xml file, a number of HTML files that together | + | |
- | collectively emulates part of the DBLP website. Read the | + | |
- | {{:teaching:infoh509:deux_en.pdf|full assignment}}, and download the | + | |
- | corresponding {{:teaching:infoh509:deux_xslt_data.zip|support files}}. | + | |
- | + | ||
- | This assignment is to be made in groups of | + | |
- | two persons and contributes 2/20 to the overall grade (there are two | + | |
- | more assignments to follow, each contributing 2/20). The written exam | + | |
- | contributes the remaining 14/20 points. | + | |
- | + | ||
- | See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). | + | |
- | + | ||
- | <note tip>The zip file above contains a XSLT transformation tool. You can use ''java -jar xslt-tool.jar <xslt-file> <inputfile> <outputfile>'' to run it. </note> | + | |
- | + | ||
- | + | ||
- | ==== Lecture 6: Querying XML documents with XQuery === | + | |
- | + | ||
- | In Lecture 6 we have discussed how XML documents can be queried and transformed into other formats (be it XML or not) using XQuery. See pages 240-2840 in the book (**except sections 6.7.5, 6.8, 6.9**) and | + | |
- | the {{:teaching:infoh509:6-xquery.pdf|corresponding slides}}. | + | |
- | + | ||
- | ==== Project Assignment 3: XQuery ==== | + | |
- | + | ||
- | You are requested to write XQuery programs for several queries against | + | |
- | the DBLP bibliographical database introduced in Project Assignment | + | |
- | 2. Read the | + | |
- | {{:teaching:infoh509:trois_en.pdf|full assignment}}, and download the | + | |
- | corresponding {{:teaching:infoh509:trois_xquery_data.zip|support files}}. | + | |
- | + | ||
- | This assignment is to be made in groups of | + | |
- | two persons and contributes 2/20 to the overall grade (there are two | + | |
- | more assignments to follow, each contributing 2/20). The written exam | + | |
- | contributes the remaining 14/20 points. | + | |
- | + | ||
- | See the full assignment for related dealine(s), what the solution should entail, and to whom it should be submitted). | + | |
- | + | ||
- | ==== Lecture 7: RDF and RDF schema==== | + | |
- | + | ||
- | In lecture 7 we have introduced the RDF data model, its serialization formats, and basics of RDF Schema. | + | |
- | + | ||
- | **Required reading:** | + | |
- | The {{:teaching:infoh509:7-rdf.pdf|lecture slides}}, the [[http://www.w3.org/TR/rdf11-primer/|RDF 1.1 Primer]], and these [[http://cs.ulb.ac.be/owncloud/public.php?service=files&t=08191ea41e23c45f9e9f2d411a65d544|course notes]] (password protected). | + | |
- | + | ||
- | **Recommended reading:** | + | |
- | In addition, it is recommended to read the [[http://www.w3.org/TR/turtle/|RDF 1.1. Turtle Syntax]] specification (sections 1-3) and the [[http://www.w3.org/TR/2014/REC-rdf-syntax-grammar-20140225/|RDF 1.1. XML Syntax]]specification (only section 2) to get the best overview of the RDF serialization formats. In addition, the {{:teaching:infoh509:semantic-web.pdf|original semantic web article}} is a good read to get an insight into the original motivation for the semantic web. | + | |
- | + | ||
- | + | ||
- | ==== Lecture 8: OWL==== | + | |
- | + | ||
- | In lecture 8 we introduce the Web Ontology Language (OWL), which adds advanced inferencing capabilities to RDF. | + | |
- | + | ||
- | **Required reading:** | + | |
- | The {{:teaching:infoh509:8-owl.pdf|lecture slides}} and these [[http://cs.ulb.ac.be/owncloud/public.php?service=files&t=2c13abb273376242ba831a285aa6b623|course notes]] (password protected). | + | |
- | + | ||
- | ==== Lecture 9: SPARQL ==== | + | |
- | + | ||
- | In lecture 9 we have introduced and illustrated the main constructs of SPARQL, a query language for RDF. (We have also discussed a large part of lecture 10 below.) | + | |
- | + | ||
- | **Required reading:** | + | |
- | The {{:teaching:infoh509:9-sparql.pdf|lecture slides}} and these [[http://cs.ulb.ac.be/owncloud/public.php?service=files&t=51782ffdf61c877290b4f16983eda957|course notes]] (password protected) [section 7.1.9 and further is not required reading]. | + | |
===== References ===== | ===== References ===== | ||
* A. Moller and M. Schwartzbach. //[[http://www.brics.dk/ixwt/|An Introduction to XML and Web Technologies]]//. Addison-Wesley, 2006. ISBN-13: 978-0-321-26966-9 | * A. Moller and M. Schwartzbach. //[[http://www.brics.dk/ixwt/|An Introduction to XML and Web Technologies]]//. Addison-Wesley, 2006. ISBN-13: 978-0-321-26966-9 | ||
Line 166: | Line 53: | ||
* F. Malona and E. Miller. //[[http://www.w3.org/TR/rdf-primer/|RDF Primer]]//. W3C, 2004. | * F. Malona and E. Miller. //[[http://www.w3.org/TR/rdf-primer/|RDF Primer]]//. W3C, 2004. | ||
- | ===== Practical Sessions ====== | ||
- | [[teaching:infoh509/practical|Practical sessions]] |