Define your ontology in OWL2. The T-Box must be created using Protégé and should be your own work (not an existing ontology, but may import existing ontologies).

ECS735P/U: The Semantic Web – Resit Coursework

Submit your solution using QM+ by the date specified in the module’s coursework area. You should be able to see the details of the coursework submission on your QM+ page

This coursework is designed to assess all learning outcomes (LOs) for the module. The aim is to put your ontology modelling semantic data development, Description Logic (DL) and SWRL skills into practice that you have learnt through the Semantic Web lectures and labs in a larger project.

The work overall is similarly to the final mini project but there are important differences. You must attempt this coursework from scratch, and you are not allowed to reuse any part of your previously submitted work. Your task is to define, populate and query an ontology (including A-Box and a T-box) on a topic of your choice. The ontology must be able to integrate and reuse already available semantic data. At least two concepts of the ontology T-Box must be taken from external semantic data repositories. This way, the ontology will have an A-Box that can be populated with already existing data. You must use Protégé to design the ontology, and Python-based semantic tooling to populate the ontology with real world data.

Specifically, you should achieve the following:

Task 1. (50% marks): Define your ontology in OWL2. The T-Box must be created using Protégé and should be your own work (not an existing ontology, but may import existing ontologies). Populate the knowledge base from an external semantic data repository using SPARQL 1.1. Verify that you can also query the local ontology using SPARQL.

Task 2. (25% marks): As above, but your ontology should fuse information from at least two distinct external data repositories. The query to your local ontology should answer questions that cannot be answered by either remote knowledge base alone.

Task 3. (25% marks): You are required to use Description Logic rules to define as many concepts as possible with the help of SWRL rules in order to compensate for the limitations of the Protégé inference engines with DL. The A-Box (individuals) must be created in a way to demonstrate the correctness and effectiveness of the logic rules defined.

Note on resit: This is an open-ended coursework designed to test all LOs for the module. You are allowed to use all your previously unsubmitted work, however, if you have previously submitted and failed a similar coursework, you must choose a different domain to avoid self-plagiarism. The marking criteria is different from the final mini project because the quizzes are no longer considered. Late submissions will not be accepted.

You should submit a PDF and zip file with the following elements:

  • Written report: PDF document describing, in English, how you constructed the ontology: you should say where you got the data from, and you should also say what difficulties you encountered and how you solved them. The document must have also a final section explaining what source code files and models are included, and the required steps to run the code. You are expected to submit a report explaining your assignment. If you fail to submit a report with your ontology and python files, you might receive 0% as it is the only way of proving the work is yours.
  • A Protégé-OWL ontology (.owl file)
  • A python script (.py) that can be used to populate the ontology from a SPARQL endpoint.
  • Another python script that queries the local store to demonstrate to the user that information can be easily accessed. To test the system, the user should be able to execute any arbitrary query supported by your ontology 

Marking criteria:

Basic task: Correctly designed ontology with basic taxonomy and property hierarchy (10%), correct domain and range restrictions (5%), correct and effective use of object properties (including constraints and characteristics such as functional, transitive and irreflexive), correct and effective use of data properties, logical and correct use Description Logic to define concepts (10%), Ontology population python script and SPARQL queries (15%), justification explanation and validation of the ontological modeling decision in the report (10%).

Bonus task 1: Use of appropriate, diverse data sources (5%), correct mechanism to retrieve and transform data to fit your ontology (15%), explanation of the mechanism in the report (5%). The data sources can be RDF dumps (e.g. loaded into a local database) and SPARQL end-points and may include one non-semantic dataset you convert into RDF locally for it to be queried.

Bonus task 2: Correctly working (inferencing) ontology with one of the reasoners provided with Protégé and use of SWRL rules: object and data properties and SWRL built-ins (15%). A correct A- Box with a sufficient number of individuals to use with the defined logic rules, expecting majority of the relations defined by the data properties and concepts to be inferred by the engine, not hard coded (5%), correctly commented rules and explanations in the report (5%). 

Fig. 1. Example SWRL rules in Protégé using the SWRLTab plugin 

This assignment is intended to be open- ended and exploratory in nature. However, for

illustration, some examples of possible tasks could be: create and populate an ontology covering movies and cities which could be queried to find movies filmed in cities with a population less than 1M; or create and populate an ontology about companies including location, employees and profits, which could be queried to find the UK based companies with the largest profit per employee.

For convenience, we provide you some publicly available semantic web data sources that can be useful for this coursework:

Dbpedia (https://www.dbpedia.org/) provides an RDF version of the information available in the regular Wikipedia. It also provides an SPARQL endpoint for remote access

h t t p s : / / w w w . d b p e d i a . o r g / r e s o u r c e s / s p a r q l /

You can access governmental datasets from data.gov.uk and data.gov. In some cases, you might need to download the dataset, as they don’t provide a SPARQL endpoint.

Wikidata (https://www.wikidata.org/) is a free and open knowledge base that can be read and edited by both humans and machines. Wikidata acts as central storage for the structured data of its Wikimedia sister projects including Wikipedia, Wikivoyage, Wiktionary, Wikisource and others, with a SPARQL end point: https://query.wikidata.org/

Datasets with SPARQL end points:

https://io.datascience-paris-saclay.fr/query/List_of_datasets_with_a_SPARQL_endpoint

Over 10,000 arbitrary datasets from https://datahub.io/search (some are in RDF already).

There are links to resources and examples on QM+ in the original module page.

  • Courseworks are due on QM+ at the specified date.
  • Late submissions will not be accepted for resit coursework.
  • About two weeks should be sufficient to complete this (out of term time).
  • You are only allowed to use your previously unsubmitted work. 
100% Plagiarism Free & Custom Written, Tailored to your instructions