An open API service indexing awesome lists of open source software.

https://github.com/tidianekhan/knowledge_and_data

Projects accomplished during university course "Knowledge and Data" for the Bachelors of Science in Artificial Intelligence from VU Amsterdam
https://github.com/tidianekhan/knowledge_and_data

graphdb inference-rules knowledge-graph owl owl-ontology propositional-logic rdf sparql sparql-endpoints sparql-query yasgui

Last synced: 8 months ago
JSON representation

Projects accomplished during university course "Knowledge and Data" for the Bachelors of Science in Artificial Intelligence from VU Amsterdam

Awesome Lists containing this project

README

          

# Knowledge_and_Data
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.