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 pmTA: Mr. Hai Le; Email: hle49@student.gsu.edu; Office Hours: Wednesday 3.00 pm to 5.00 pm
Course Details
SyllabusCourse Discussion on Piazza (Self sign-in)
Homework Submission Guidelines
Class Lecture Recordings
Final Exam Prep
Practice Problems for Final Exam (Scheduled for Saturday 10-Noon, May 1st)
WebEx Recording 4/30 Office Hours
Scribblings from OH, 4/30/2021
Harry Potter solution
Penguin Problem solution
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