Projects accomplished during university course "Knowledge and Data" for the Bachelors of Science in Artificial Intelligence from VU Amsterdam
Assignment 1: Manipulating formal systems: PL and Knowledge Graphs
For this practical assignment you will have to do some (relatively simple) Python programming to manipulate Propositional Logic (to get used to working with simple symbolic languages), and then with Simple Knowledge Graphs (to get a get a hands on impression on what really happens in the state-of-the art tools we will use later for similar purposes.
There will be 6 tasks:
Task 1: Complete a given procedure infix that transforms the formula into Infix notation, i.e., the operator "sits" between the two arguments. Task 2: Write a procedure evaluate that calculates the value of the formula for the following assignment. Task 3: Write a procedure tautology that calculates whether a given formula (with maximally three variables P,Q and R) is a tautology Task 4: Write procedures as_ntriples to transform the Knowledge Graphs into simple-n-triples. Task 5: Write a procedure tripleEntailed to evaluate whether a Triple (s p o) is entailed by your Knowledge Graph Task 6: Write a procedure graphEntailed to evaluate whether one Knowledge Graph is entailed by another Knowledge Graph
Assignment 2: Manipulating Linked Data with Python
For this practical assignment you will have to do some Python programming to manipulate RDF graphs.
There will be 7 tasks:
- In tasks 1 & 2, we will manipulate local RDF knowledge graphs,
- In tasks 3 & 4, we will visualise the knowledge graphs we created in the first two tasks.
- In tasks 5, 6 & 7, we will load some triples from the Web, and write SPARQL queries against live endpoints (using the YASGUILinks to an external site. query interface)
Assignment 3: Quering and Inferencing over Linked Data
For this practical assignment, there will be 4 tasks:
- In task 1, we will integrate local RDF knowledge graphs with external data
- In task 2, we will implement ourselves some of the RDFS inference rules
- In task 3, we will create our first RDFS knowledge graph. We will make use of the rules implemented in task 2 to infer implicit knowledge in our knowledge graph
- In task 4, we will start working with triple stores, and in particular with the GraphDB triples store. You can check this short GraphDB tutorialLinks to an external site. to learn how to install and work with GraphDB for completing this task
Assignment 4: Modelling in OWL
For this assignment you will build your own OWL ontology in your local installation of Protégé and experiment with reasoning. While answering the questions of the assignment, you will create your very own ontology, which you will have to hand in together with the notebook. This assignment is about the motivation of your modelling as well as the model itself.
There will be 7 tasks:
- In tasks 1 to 3, we will create a simply ontology.
- In tasks 4 & 5, we will add conditions and property characteristics, and see how this affects reasoning over it.
- In tasks 6 & 7, we will check our ontology for consistency, and see what we need to change to make it inconsistent.