CSc 8711, Databases and the Web (Spring 2023)
Class time: Friday 12.30 PM to 3.55 PMLocation: Classroom South 428
Instructional Staff
Instructor: Raj Sunderraman (1 PP, Room 629); Email: raj@gsu.edu; Office hours: Wednesday 3.00 pm to 5:00 pmTA: Mr. Han Jinkun (25 PP, 7th Floor Conference Room)
Email: hjinkun1@student.gsu.edu; Office Hours: Monday 2.00-3.00 pm and 4.00-5.00 pm
Course Details
SyllabusCourse Discussion on Piazza (Self sign-in)
Homework Submission Guidelines
Class recordings
Liyang Yu Semantic Web Book
Practice Problems for Exam2
Course Materials
V. Graph Database (neo4j)
neo4j Slides
neo4j
Download neo4j Community Server
neo4j Get Started
neo4j cypher query language
py2neo (Sample Code)
Project 6 (Due: April 26, 2023 - Wednesday)
(Handin under assignment 6 - counts towards final exam)
IV. Semantic Web
Slides/Notes:Motivating Example, RDF-1, RDF-2, RDFS, OWL-1, Semantic Web Chapter from Textbook
Python API for RDF Example
SPARQL Tutorial
SPARQL Examples
DL: Interpretation Example, DL: Tableau Example, Harry Potter solution, Penguin Problem solution
Readings
Scientific American Article
Ontology Tutorial
Metcalfe's Law, Web 2.0 and Semantic Web
Software
GraphDB
Apache Jena Project
Protege (RDF/OWL Editor...)
Python API for RDF (rdflib 5.0.0)
Project 5 (Due: April 19, 2023 - Wednesday)
III. JSON
Slides/Notes/Code:JSON Parsing in Python
JSON Schema (derived from Understanding JSON Schema), Linked List: Instance, Schema
JSONiq Part I, JSONiq Part II (derived from JSONiq Book), JSONiq Query Examples
MongoDB, Python access to MongoDB (pymongo), Classroom App using MongoDB
Software:
Python package for JSON Schema Validation
rumbledb.org (powered by
Apache Spark)
MongoDB Community Server,
PyMongo
Useful Links:
Online JSON Schema Validator
https://www.jsoniq.org/
MongoDB Documentation
PyMongo Tutorial
Project 3 (Due: March 8, 2023 - Wednesday)
Project 4 (Due: March 22, 2023 - Wednesday for first 3 problems. STRICT deadline)
II. XML
Slides:XML Basics, DTD, XML Schema XPath, XQuery, XSL, XSL-with-parameters
Software:
BaseX,
XML Formatter,
Python lxml,lxml sample code,
EditX Community Edition
Useful Links:
XPath and XQuery Functions and Operators,
XQuery FunctX Library,
Lab Manual XML Chapter
Project 2 (Due: February 15, 2023 - Wednesday)
I. Modern Web Application Development (GraphQL/REST Web Services, HTML5/Javascript/Ajax, MySQL)
Modern Web Application Development using APIs (REST vs GraphQL)swagger.io (OpenAPI)
Python Flask Tutorial
GraphQL in Python
MySQL Tutorial, Another MySQL Tutorial, Python-MySQL Connector
GSU Classroom Search Using REST API, Using GraphQL
Project 1 (Due: February 1, 2023 - Wednesday) (Handin under assignment 1)