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 [2019/03/13 16:27] gdejaege [Practical Sessions] |
teaching:infoh509 [2019/05/15 11:28] gdejaege |
||
---|---|---|---|
Line 79: | Line 79: | ||
<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 contains the source code, should you be interested.</note> | <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 contains the source code, should you be interested.</note> | ||
- | ===== Practical Sessions ===== | + | ==== Lecture 5: Transforming XML documents with XSLT === |
- | {{:teaching:infoh509:infoh509_01_1617.zip|Practical session 1}} | + | 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 [[https://davinci.ulb.ac.be/index.php/s/LRC7JqZrJPkpQKP|course notes]] (password protected). | ||
+ | |||
+ | **Recommended (but optional) 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 on owl}} and these [[https://davinci.ulb.ac.be/index.php/s/FpfYNZNzPLp8rF6|course notes]] (password protected). | ||
+ | |||
+ | ==== Lecture 9: SPARQL and RESTfull Web Services ==== | ||
+ | |||
+ | In Lecture 9 we have introduced and illustrated the main constructs of SPARQL, a query language for RDF. | ||
+ | |||
+ | In addition we have (1) discussed the history of (Web) Services; (2) discussed the 3 main API styles of Web Services; and (3) illustrated RESTful Web Services by means of an example. | ||
+ | |||
+ | |||
+ | |||
+ | **Required reading:** | ||
+ | The {{:teaching:infoh509:9-sparql.pdf|lecture slides on sparql}} and these [[https://davinci.ulb.ac.be/index.php/s/wKREcCmtmn6xx9x|course notes]] (password protected) [section 7.1.9 and further is not required reading]. | ||
+ | |||
+ | The {{:teaching:infoh509:10-restws.pdf|lecture slides}} and these [[https://davinci.ulb.ac.be/index.php/s/9NL7w2ZBXmcWFi3|handouts]] (password protected). | ||
+ | |||
+ | ==== Lecture 10: Big Web Services (WS-*) ==== | ||
+ | |||
+ | In this lecture ({{:teaching:infoh509:11-bigws.pdf|slides}}) we have introduced the Big-WS* technology stack. In particular, we have studied SOAP version 1.2, WSDL version 2.0, and highlighted the differences with WSDL version 1.1. | ||
+ | |||
+ | **Required reading:** | ||
+ | |||
+ | These [[https://davinci.ulb.ac.be/index.php/s/nKXTyrEBnFaZr2m|handouts on SOAP and WSDL]] (password-protected). | ||
+ | The [[http://www.w3.org/TR/soap12-part0/|W3C SOAP version 1.2 Primer]] | ||
+ | The [[http://www.w3.org/TR/soap12-part0/|W3C WSDL version 2.0 Primer]] (it suffices to read only section 2). | ||
+ | ===== Practical Sessions ===== | ||
+ | |||
+ | * {{:teaching:infoh509:infoh509_01_1617.zip|Practical session 1}} | ||
You can test your Xpath query in the folder containing saxon9he.jar with the following command: | You can test your Xpath query in the folder containing saxon9he.jar with the following command: | ||
java -cp "saxon9he.jar" net.sf.saxon.Query -s:"<sourcefile>" -qs:'<query>' -o:"<outputfile>" | java -cp "saxon9he.jar" net.sf.saxon.Query -s:"<sourcefile>" -qs:'<query>' -o:"<outputfile>" | ||
+ | * {{:teaching:infoh509_tp2_1819.zip|Practical session 2}} | ||
+ | * {{:teaching:infoh509:tp03.zip|Practical session 3}} | ||
+ | * {{:infoh509:tp04.zip|Practical session 4}} | ||
+ | * {{:teaching:infoh509:tp05.zip|Practical session 5}} | ||
+ | * {{:teaching:infoh509:tp_06.zip|Practical session 6}} | ||
+ | * {{:infoh509:tp07.zip| Practical session 7}} | ||
+ | |||
+ | |||
+ | |||
+ | |||
===== 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 |