About the group project

From Info216

Here is some more information about the final submission of your programming projects in May 24.

Project Definition

The programming project shall develop a semantic/linked data application. Development and run-time platform is free choice, as is programming language. It will be graded based on deliveries, process, originality, effort, code, interfaces and implication throughout the semester.

Sucess Factors

  • Show that you can program with semantic technologies (at least RDF, preferred RDFS, SPARQL, you can try with JSON-LD which is an emerging alternative).
  • Use existing data sets (open semantic resources)
  • Use existing vocabularies (and perhaps extend them)
  • Simple presentation interface / dashboard
  • Make the program run
  • Shortcuts can be ok (some manual steps, artificial data)
  • Progress throughout semester


  • Take at least one or two data sets (can be semantic or not)
  • Read and/or lift them
  • Use existing vocabularies
  • Combine data sets
  • Show and impliment some use cases that were impossible or harder or less flexible before
  • Focus on maintainability, making it easy run over time

Projects examples

  • make your own muncipalities
  • map of party financing
  • reasoning over toll roads
  • social assessment network
  • LinkedMDB-portal
  • tracking IT infrastructure
  • music concert assistant
  • quiz generator
  • live semantic flight data
  • semantic security service
  • recommender system based on knowledge graphs
  • semantic crawlers and spiders
  • presentation / visualisation of graphs
  • community knowledge graph enrichment
  • semantic query visualization
  • content generation/enrichment using different data sets


The project will be carried by groups of 3 people. All group members have to be registered in the same lab group.

Some Data Sources

Oral Presentation

You will have a meeting with Marc to discuss your project idea. Then there will be two oral project presentation in front of the class in the lab, where Marc wil participate and give feedback. The last presentation is on April 23-24 (week 17).

You can show your progress by using a PowerPoint and going over your idea, how the project has gone so far, explain what technologies and datasets you are using and perhaps show some working code.


  • Yor project final report should be submitted electronically as a PDF file through Inspera (eksamen.uib.no) before May 24, 14.00 (STRICT DEADLINE).
  • Your code has to be uploaded into a Git repository (either GitHub or GitLab), together with a README file. This README file should include instructions about: how to run your code and where to find the different components of your project/code. The link to your Git repository has to be included in the final report.

After the DEADLINE, neither the report nor the Git repository are allowed to be modified until the official final course grades were set.

The Git repository should contain your complete project, but do not include large semantic data sets like DBpedia. But you can include small example data sets to run the code on, if you want. You should include a file README in the root of the project directory to let us know what is needed before your code can be run, and how to run it, if it needs something special.

The PDF file name should contain the exam numbers of everyone in the group (format: INFO216ProjectSpringYY_XXX_XXX), for example INFO216ProjectSpring19_108_116.


You should comment the code lightly in-line. This does not mean one comment line for each code line but, e.g., one brief comment for each logical group of code lines. We do not require full Javadoc. Your code has to be uploaded into a Git repository, together with a README file. This README file should include instructions about: how to run your code and where to find the different components of your project/code. The link to your Git repository has to be included in the final report.

Project description

The project description file should be anonymous, and contain the exam numbers of all group members, BOTH on the first page and in the file name (e.g., INFO216ProjectDescription_108_116.pdf .) It must be in English (STRICT REQUIREMENT).

The length of the project description is 1500 words MAX (2 A4 pages with 11pt font and 2.5 cm margins). This is a HARD limit. The quality of your code and idea is more important than the quality of the 2-page description.

You should briefly explain the purpose of your system. Why have you made this? Why is it a good idea to do this using semantic technologies? What can you do now that wasn't possible before?

You should probably list the technologies/tools/standards/vocabularies you have used and explain briefly why you chose each of them. Did you consider alternatives? Why were the ones you chose better?

If you are reading/converting/lifting data from multiple sources and/or using existing tools in addition to your own program, you should probably include a flow chart or architecture sketch (which is different from a class diagram).

You should probably include a class diagram of your system.

You should mention any particular problems you have had and/or things you want to do differently next time. You should describe the contributions each person in your group has made to the project.

If you want to briefly describe how to run the code you have submitted, you can do that separately in a README.TXT file.

Check the guidelines to get more information about what should be in your report: Guidelines

INFO216, UiB, Spring 2017, Prof. Andreas L. Opdahl (c)