Abstract
This position paper describes the Semantic Campus project which aims to create and maintain
an RDF vocabulary for the description of campus-related resources such as universities,
departments, lecturers, and students.
Introduction
The majority of Semantic Web developers has an academic background, and although many
institutes are developing department or publication ontologies, a documented and extendable
basic campus vocabulary is still missing (or hasn't been promoted enough). Just like FOAF
may become (or already is) a common denominator and base vocabulary for person-related RDF
applications, the Semantic Campus project tries to build, maintain, and document a set of
terms from the campus domain that may help mapping specialized ontologies to each other.
The created vocabulary itself is going to be mapped to the FOAF specification for
interoperability with other FOAF-based applications.
Target audience and use cases
In order to come up with a limited but useful initial set of terms, I tried to identify
the target audience and a set of use cases for the vocabulary.
The list of potential users includes
- students
- professors
- researchers
- lecturers
- alumni
- university employees
- external organizations (e.g. companies)
Use cases could be
- annotating and finding publications
- finding notes of a missed lecture
- finding a person who could give assistance on a certain topic
- finding peers who attend the same lectures or plan to pass the same exams
- finding available classes/courses for a given course of study
- finding alumni
- offering and finding thesis topics
- finding universities that focus on certain topics
- Web-based studies planning
- finding room numbers and consultation hours
- announcing room changes, registration dates, ...
- describing/finding events and related resources
- finding answers to FAQs on a certain topic
Required terms
Some of the use cases are not really campus-specific, too complicated, or simply out of
scope of the project described in this position paper. Use case 12 (describing/finding
events and related topics) for example should better be handled by other vocabularies.
Terms such as "Organization" are already part of the FOAF vocabulary
and redescribing them is not neccessary. FAQs is probably another example for something that could
better be described in a separate schema.
Based on the remaining use cases and the target audience classes, a list of
required terms (excluding reusable terms from the FOAF specification) can be defined:
- Student (studiesAt, enrolledIn, attendedLecture, universityHomepage)
- PhDStudent
- Graduate (wroteThesis, graduatedAt, title, formerUniversityHomepage, graduationYear)
- UniversityEmployee (worksAt, consultationHours)
- Professor
- PhD (wroteDissertation)
- Researcher (worksFor, worksAt)
- Lecturer (givesLecture, givesLecturesAt)
- Lecture (givenBy)
- Alumnus (studiedAt)
- Publication (abstract, year, month, day)
- LectureNotes (writtenBy, notesOf)
- CourseOfStudy (mandatoryCourse, optionalCourse, topic)
- Course (courseID, topic, lecturer, place, courseOfStudy)
- University (department, offersCourseOfStudy)
- Department (departmentOf, subDepartmentOf)
- Institute
- Thesis (writtenAt, writtenBy)
- Dissertation (writtenAt, writtenBy)
- Exam (examCourse, year, month, day)
- ConsultationHours (weekDay, startTime, endTime)
- Topic [use SKOS instead?]
Taxonomy draft and FOAF mappings
The remaining terms can now be arranged to form a basic taxonomy and define mappings
to the FOAF vocabulary. sc is used as a namespace identifier for the Campus ontology,
FOAF terms are prefixed by foaf.
Classes
-
foaf:Person
- sc:Student
- sc:Graduate
- sc:UniversityEmployee
- sc:Researcher
- sc:Lecturer
- sc:Alumnus
- sc:Lecture
- foaf:Organization
- sc:University
- sc:Institute
- sc:Department
- foaf:Document
- sc:Publication
- sc:LectureNotes
- sc:Thesis
- sc:Dissertation
- sc:CourseOfStudy
- sc:Course
- sc:Exam
- sc:ConsultationHours
- sc:Topic
Properties (d and r are used as abbreviations for domain and range)
- sc:studiesAt (d=sc:Student, r=sc:University)
- sc:enrolledIn (d=sc:Student, r=sc:Course)
- sc:attendedLecture (d=foaf:Person, r=sc:Lecture)
- sc:universityHomepage (d=sc:Student)
- foaf:schoolHomepage
- sc:formerUniversityHomepage (d=sc:Alumnus)
- foaf:title
- sc:studiedAt (d=sc:Alumnus, r=sc:University)
- sc:graduatedAt (d=sc:Graduate, r=sc:University)
- sc:graduationYear (d=sc:Graduate)
- sc:chairTopic (d=sc:Professor, r=sc:topic)
- sc:givesLecture (d=sc:Lecturerm r=sc:Lecture)
- sc:givesLecturesAt (d=sc:Lecturer, r=foaf:Organization)
- sc:givenBy (d=sc:Lecture, r=sc:Lecturer)
- sc:worksFor (d=foaf:Person, r=foaf:Person)
- sc:worksAt (d=foaf:Person, r=foaf:Organization)
- sc:consultationHours (d=foaf:Person, r=sc:ConsultationHours)
- dc:description
- sc:abstract (d=sc:Publication)
- sc:year [reuse?]
- sc:month [reuse?]
- sc:day [reuse?]
- sc:weekday [reuse?]
- sc:startTime [reuse?]
- sc:endTime [reuse?]
- foaf:made
- sc:wroteThesis (d=sc:Graduate, r=sc:Thesis)
- sc:wroteDissertation (d=sc:PhD, r=sc:Dissertation)
- foaf:maker
- sc:writtenBy (d=foaf:Document, r=foaf:Person)
- sc:writtenAt (d=foaf:Document, r=foaf:Organization)
- sc:notesOf (d=foaf:LectureNotes, r=sc:Lecture)
- sc:mandatoryCourse (d=sc:CourseOfStudy, r=sc:Course)
- sc:optionalCourse (d=sc:CourseOfStudy, r=sc:Course)
- sc:courseID (d=sc:Course)
- sc:topic (r=sc:Topic) =>better off with SKOS?
- sc:lecturer (d=sc:Course, r=sc:Lecturer)
- sc:place [still uncertain how to model that]
- sc:courseOfStudy (d=sc:Course, r=sc:CourseOfStudy)
- sc:department (d=foaf:Organization, r=sc:Department)
- sc:departmentOf (d=sc:Department, r=foaf:Organization)
- sc:subDepartmentOf (d=sc:Department, r=sc:Department)
- sc:examCourse (d=sc:Exam, r=sc:Course)
Summary and next steps
This has been a short description of the Semantic Campus project. I'm going to make an
initial vocabulary available by the end of august 2004. It will be published at
http://www.semanticcampus.org
As could be seen, there are still a lot of issues that haven't been addresses properly.
I'm hoping to get some feedback or even find some collaborators who would like help
developing and maintaining the campus ontology. I'll provide a web-based vocabulary
management system (WVMS) that hopefully facilitates updating the spec and accompanying
documentation. It will at least allow the dynamic generation of RDFS, OWL DL, and OWL Full
serializations. It is planned to build both the WVMS and the campus specification based
on the forthcoming guidelines of the Semantic Web Best Practices and Deployment (SWBPD)
Working Group's Vocabulary Management Task Force. (Then we'd have a SWBPDWGVMTFWVMS ;)