Semantic Modeling

This course is an Introduction to Semantic Modeling. Those who have studied programming with me may have heard me state "It's only syntax!" as you struggled with Java. In this course we will be investigating how we can go about defining not just the syntax of a system, but its semantics, and what we can learn from manipulating semantic models. In particular, we will be contributing to the semantic modeling project Wikidata.

The course is a 3 SWS course, but it is worth 5 credits. This means that you will be expected to do some reading and writing outside of class as preparation for the class. We will first look at the origins of semantic modeling and explore RDF and ontologies. You will prepare, in a small group, your own ontology. Towards the end of the semester we will be focusing on a widely-used current semantic modeling system, Wikidata. We will contribute to a WikiProject, govdirectory, that others have started about governmental organizations and address various aspects of importing data into Wikidata. We contributed a few countries last year, there are still many missing, especially in Latin America and Africa. Each group will choose a country that is not yet highly represented, research the governmental structure, model it, and upload it to the project.  At the end of the semester you will have imported data live to Wikidata and give a presentation about your experiences! More on the project at Wikimedia.

You will be working in groups of 2 to 3 persons during the semester. We have computers in the lab, but you are welcome to bring your own laptop, if you have one.

We will be meeting every week on Mondays 12:15-14:45 in WH C 537 or Zoom (Link in Moodle if necessary). 

We will start right away on with an exercise after an introduction to the class. The schedule is, as always, tentative and gives you an idea of the topics I have planned. I welcome additional or substitution topics from the class. We have a Moodle collaboration room, too, for submitting your work.


There is a mailing list at that you can join to follow current discussions and see conferences being announced.

There are some books that might be useful for you:

  1. Antoniou, G. and van Harmelen, F. A Semantic Web Primer (Cooperative Information Systems). MIT Press : Cambridge, MA. 3nd edition. ISBN-13: 978-0-262-01242-3, 2012.
  2. Dean Allemang and James A. Hendler. Semantic Web for the Working Ontologist: Effective Modeling in RDFS and OWL. Morgan Kaufmann : Amsterdam. ISBN-13: 978-0-12-373556-0, 2008.
  3. John Hebeler, Matthew Fisher, Ryan Blace, and Andrew Perez-Lopez. Semantic Web Programming. Wiley : Indianapolis, IN. ISBN-13: 978-0470418017, 2009.
  4. H. Stuckenschmidt, Ontologien - Konzepte, Technologien und Anwendungen, Springer, 2. Auflage, 2011
  5. G. Antoniou et al, The Semantic Web: Research and Applications. 8th Extended Semantic Web Conference, ESWC 2011, Heraklion, Crete, Greece, May/June 2011, Proceedings. Part 1 (LNCS 6643) and Part 2 (LNCS 6644)
  6. Alexey Grigorev, Mastering Java for Data Science. Birmingham: Packt, 2017. ISBN 978-1-78217-427-1

You will need quite a number of software tools. Beside Eclipse and Java (which I am assuming you already have), please download and install the Protégé Ontology Editor (I know it is old. We will live with it), the Semantic Web Programming Framework Jena, and the Ontology Reasoner Pellet (On GitHub and Internet Archive). You might also want to have graphviz around, it's the coolest software I know for modelling graphs. Programming knowledge in Python may also be useful.

There was a talk given online on April 2, 2020 by Claus Stadler (Leipzig): Jena-based Components for Building Semantic Web Applications that you could watch (35 minutes) after Session 5 (or now and later). There is a regular Semantic Web Meetup held in Berlin (usually with free food for attendees). This has generally moved online (no more free food), but we will see how the semester progresses. 


Your grade will be a combination of participation in class and solving exercises. There will be no exam, but a final presentation of your project work.

To earn a 1.0 in this course, you should regularly demonstrate mastery of the material, have a strong understanding of and performance in laboratory work, be a valuable participant in course meetings and collaborations, and complete all portions of the course work in a timely fashion.

To earn a 2.0 in this course, you should demonstrate a solid grasp of most of the course material, competently perform laboratory work, participate in course meetings and collaborations, and complete all portions of the course work in a timely fashion.

To earn a 3.0 in this course, you should demonstrate a sufficient understanding of the course materials that you can go on to build on that understanding in subsequent courses or employment, participate in course meetings and collaborations, and complete all portions of the course work in a timely fashion.

If none of the three descriptions above fits you at the end of the course, there are two possibilities:

  1. Your understanding of the material and demonstrable performance of that understanding is inadequate to build on in subsequent coursework. In this case, you are ineligible for a final grade of 4.0 or above. You will need to repeat the course.

  2. Your understanding of the material and demonstrable performance is adequate to receive a 3.0 or higher, but you did not participate in course meetings and collaborations or you did not complete all portions of the course work in a timely fashion. In this case, your final grade will be adjusted to reflect this factor as follows:

  3. Missing one exercise or two sessions will add 0,3 to your grade (i.e. lower your grade).
    Missing two exercises or one exercise and two sessions or four sessions will add 0,7 to your grade.

    Missing three exercises or more than four sessions will give you a 5.0 for the course.

    If you fall ill, please contact me as soon as possible so that we can work out something.


Last change: 2023-03-12 16:42