UMBC CMSC 491/691 Fall 2022
Knowledge Graphs

Old Syllabus: will be revised

The Web has made us all smarter, providing ready access to vast amounts of knowledge, facts, options and trends. Most of this is in forms that are easy for people to process -- text, speech, images, video, maps -- but difficult for machines to fully understand. New Internet technologies are being developed and deployed that will also make our interconnected computers and devices smarter through access to a Web of data in forms that facilitate machine understanding.

This special topics course for advanced undergraduates and graduate students will introduce the notion of the Semantic Web, provide an overview of the underlying theory and technology, cover existing tools and practices, and highlight current and potential applications. The course will be approximately half lecture and half seminar. Students will be expected to read, discuss and present current research papers, complete a number of short assignments and engage in a longer project, either individually or as part of a group.

The course will cover knowledge modeling concepts such as metadata, ontologies, description logics, rules and provenance; important Web standards for representing data and knowledge including XML and the Semantic Web languages RDF and OWL; current best practices and standards for publishing data on the Web; technologies for extracting information from text and databases; and example applications. We will also study new industry-based approaches and applications to sharing data on the Web being developed and used by major companies including Google, Microsoft, IBM and Facebook.

Recommended prerequisites: Artificial Intelligence (e.g., CMSC 471 or 671), Database Management Systems (e.g., CMSC 461 or 661), or permission of the instructor

Instructor: Tim Finin, 329 ITE, 410-455-3522, finin@umbc.edu, office hours: TBD

TA: TBD

Where and when: Tuesday and Thursday, 5:30pm-6:45pm, ENGR 022

Readings: Papers and other material to read will be available online.

Structure: Class time will be spent with about 70% lecture and 30% student-led presentation and discussion of readings. We will use Discord for announcments, questions and discussion. Engaging in discussions on this site will be a required part of the course and the quality and level of your participation in them will play a small part in determining your grade. We'll invite registered students to enroll in this shortly before the first class. If you register late, send email to finin@umbc.edu asking to be added.

Assignments: Students may be required to prepare and present material to the class, complete a number of short assignments and engage in a longer project, either individually or as part of a group. I believe that the material in this course is best learned by use it, so the short assignments will be designed to give you opportunities to use the concepts and technologies we cover. Presentations should be done in HTML, Google Docs, Powerpoint, etc. and will be added to a collection for the course and posted to the web.

Software: We will use a number of software packages that are on our class github site or available for downloading.

Academic Honesty: Please read this statement on academic honesty.