CSc 8711, Databases and the Web (Spring 2021)

Class time: 12.30 PM to 3.55 PM, Friday (Online - Mostly Synchronous)

Instructional Staff

Instructor: Raj Sunderraman; Email: raj@gsu.edu; Office hours: Monday 3.00 pm to 5:00 pm
TA: Mr. Hai Le; Email: hle49@student.gsu.edu; Office Hours: Wednesday 3.00 pm to 5.00 pm

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: May 3, 2021 - Monday) (Handin under assignment 6 - counts towards final exam)

IV. Semantic Web

Slides/Notes:
Semantic Web Chapter from Textbook
Python API for RDF Example
SPARQL Tutorial
SPARQL Examples
DL: Interpretation Example, DL: Tableau Example

Readings
Scientific American Article
Ontology Tutorial
Metcalfe's Law, Web 2.0 and Semantic Web

Software
Apache Jena Project
Protege (RDF/OWL Editor...)
Python API for RDF (rdflib 5.0.0)

Project 5 (Due: April 20, 2021 - Tuesday) (Handin under assignment 5)

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 Validator
https://www.jsoniq.org/
MongoDB Documentation
PyMongo Tutorial

Project 3 (Due: March 21, 2021 - Sunday) (Handin under assignment 3) P3 Rubric
Project 4 (Due: April 4, 2021 - Sunday) (Handin under assignment 4) Solutions

II. XML

Slides:
XML Basics, DTD, XML Schema, XPath, XQuery, XSL, XSL-with-parameters

Software:
BaseX, libxml2, Python lxml, EditX Community Edition

Useful Links:
XPath and XQuery Functions and Operators, XQuery FunctX Library, Lab Manual XML Chapter

Project 2 (Due: February 28, 2021 - Sunday) (Handin under assignment 2) P2 Rubric and Solutions

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: January 31, 2021 - Sunday) (Handin under assignment 1) P1 Rubric